2.2.15aa1

From: Andrea Arcangeli (andrea@suse.de)
Date: Fri May 05 2000 - 11:44:05 EDT

  • Next message: Stephen C. Tweedie: "Re: devfs persistence"

    The main features of 2.2.15aa1 are:

    o Support for 4Gigabyte of RAM on IA32 (me and Gerhard Wichert)
    o Support for 2T of RAM on alpha
    o Improved VM for high end machines with enough ram and doing
            heavy I/O under high memory pressure. (me)
    o RAW-IO (also on bigmem). (Stephen C. Tweedie)
    o SMP scheduler improvements. (me and partly from 2.3.x)
    o LFS (>2G file on 32bit architectures)
    o assorted fixes

    Detailed description of 2.2.15aa1:

    ---------------------------------------------------------------------------
    IO-wait2.gz -> avoid unplugging the request queue
                                       when not necesary
    SMP-scheduler-2.2.14-G.gz -> new reschedule_idle. (me and
                                       partly backported from 2.3.x,
                                       2.3.x version was contributed by
                                       Ingo Molnar)
    alpha-IPI-1.gz -> avoids scheduling while waiting
                                       somebody else to finish send
                                       an IPI
    alpha-init-mm-1.gz -> export init_mm symbol on alpha (for
                                       bttv) (reported by somebody so I added
                                       it)
    alpha_initrd_fixes.gz -> make initrd robust against
                                       huge boot kernel allocations (me)
    bigmem-2.2.15-9.gz -> bigmem production code (IA32 and
                                       alpha). (me and Gerhard Wichert)
    bigmem-large-shm-1.gz -> change shmget to get an unsigned
                                       paramemter in the attempt to
                                       allow >2giga shm allocations on IA32.
    bss-IO-1.gz -> avoids binary image space waste in
                                       block device arrays. (me)
    buf-run_task_queue.gz -> drop a suprious run_task_queue in
                                       sync_old_buffers. (me)
    delack-timer-5.gz -> additional paranoid stuff in TCP
                                       delayed acks code (if somebody
                                       can still reproduce lockups
                                       under heavy TCP load, the
                                       delack-timer-5 patch can be
                                       the solution). In 2.2.15
                                       only what it was obviously wrong
                                       is been fixed, but at the time I
                                       did delack-timer-5 I was convinced
                                       the stuff in 2.2.15 _might_ not be
                                       enough, so if you have still lockups
                                       under 2.2.15 let us know.
                                       delack-timer-5 is reported to
                                       definitely fix the TCP lockup. (me)
    elevator-starvation-11.gz -> rewrite of the elevator adding
                                       I/O scheduler to avoid I/O starvation.
                                       ioctl support is provided with latest
                                       interface needed by sparc64/mips64 and
                                       that is not yet been merged in 2.3.x. (me)
    fchown-oops-2.2.14 -> fix for VFS bug with quota. (Andi Kleen)
    inode-cleanup-3.gz -> minor inode stuff cleanup. (me)
    java-proc.gz -> revertd the semantic change that
                                       make difference between
                                       /proc/00000$$ and /proc/$$, this
                                       allows backwards compatibilty of
                                       a misfeature and it _won't_ hurt
                                       security. There's no downside
                                       in reverting the 2.2.13 semantic
                                       change.
    kupdate-sigstop-2.2.11-1.gz -> allows kupdate to be stopped via
                                       SIGSTOP (currently it must be stopped
                                       by setting interval to zero via
                                       sysctl). This returns useful in the
                                       airplane where you do killall -STOP
                                       kupdate ;) (me)
    lp-careful-1 -> make lp to really careful when -C on is
                                       used. Avoids to eat jobs from the
                                       spool while the printer is off. (me)
    mremap-waste-virtual-stack-space-1.gz -> avoid mremap to grow in virtual
                                             addresses.
    nanosleep-4.gz -> provide nanosleep usec resolution
                                       so that a signal flood doesn't
                                       hang glibc folks that correctly
                                       trust the rem field to resume
                                       the nanosleep after a syscall
                                       interruption. (without the patch
                                       nanosleep resolution is 10msec). (me)
    no-swapout-2.2.10-B.gz -> avoid swapin/swapouts during heavy
                                       I/O (strictly necessary for decent
                                       performances on very I/O and MM loaded
                                       servers). (me)
    overcommit-1.gz -> make sure to not understimate the
                                       available memory (the cache and buffers
                                       may be under the min percent). (me)
    probe-irq-2.3.14-pre2-1.gz -> avoid a pending irq to be mistaken
                                       for a spurious irq. (me)
    protected-balance-2.gz -> avoid OOM of tasks when memory is
                                       allocated in a ramdisk. All protected
                                       buffers are accounted correctly
                                       as non freeable now. (me)
    refill_freelist-deadlock-1.gz -> avoid deadlocking in getblk while in
                                       OOM due a page fault happened while
                                       task state was non-running. (bug
                                       spotted by Ingo Molnar in 2.3.x,
                                       2.2.x trivial solution from me)
    rs6000-4.gz -> allow rs6000 to boot even if there's
                                       more than 0.7g of RAM in the system.
                                       (me)
    serial-proc-3 -> fix serial (and non-serial) proc mm
                                       corruption and spoofing (spotted and
                                       original fix by me, lots of replicated
                                       bugs of the same type noticed and fixed
                                       by Manfred Spraul)
    set_blocksize-1.gz -> some set_blocksize change to invalidate
                                       leaking entry. (me)
    set_rtc_mss-SMP-race-1.gz -> fix set_rtc_mss SMP race between
                                       timer irq and rtc irq. (me)
    shrink_all_cache-2.2.10-A.gz -> make sure that big memory boxes will
                                       shrink the cache well enough. (me)
    silent-stack-overflow-3.gz -> avoid stack to silenty overflow
                                       on the heap (make life easier
                                       to traq down userspace issues).
                                       Perfect approch is not possible
                                       even using special LDT for the stack
                                       segment. The approch in the patch
                                       will work 99% of the time and it
                                       enforces a GAP between heap and stack.
                                       (me)
    slow-gtod-SMP-race-1.gz -> fix SMP race in slow gettimeofday. (me)
    stod-lost_ticks-1.gz -> check lost_ticks in settimeofday to
                                       be more precise.
    swap-lockmap-1.gz -> fix SMP race in swap lockmap wait
                                       for I/O completation (shm still depends
                                       on the swap lockmap in 2.2.x). (me)
    timer_bh-deadlock-3.gz -> avoids timer code to deadlock if a
                                       timer reinsert itself with timeout <=
                                       1. (me)
    tq_scheduler-cli-1.gz -> avoids tq_scheduler to run with irq
                                       disabled (for better irq latency and
                                       possibly also for the IPI timeout
                                       issue). (spotted by Manfred,
                                       reminded by Andi, current patch from me)
    tsc-calibration-non-compile-time-1.gz -> tsc calibration must be
                                             dynamic and not a compile
                                             time thing because gettimeofday
                                             is dynamic and depends on the tscs
                                             to be in sync. (me)
    version.gz -> set extraversion to aa1
    z-bigmem-rawio-2.2.14aa1.gz -> SCT's rawio bigmem capable. (Stephen C.
                                       Tweedie)
    z-bigmem-rawio-lvm-2.2.15pre13aa1-6.gz -> LVM compatible with the 2.3.x one
                                       (Heinz Mauelshagen)
    z-rtclight-2.2.15pre13aa1-1.gz -> needed by alpha SMP (won't be needed
                                       anymore in 2.4.x)
    zz-buf-flushing-4.gz -> buffer flushing heuristic backported
                                       from 2.3.x (me)
    zzz-lfs-2.2.15aa1-7.gz -> LFS with new fcntl64 as asked by the
                                       glibc guys. (glibc LFS support can be
                                       based on this patch, 2.3.x still misses
                                       the fcntl64 syscall but check my ftp area
                                       and search for lfs-lock-6 to add it to
                                       2.3.x)
    ---------------------------------------------------------------------------

    The 2.2.15aa1 patch is here:

            ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.2/2.2.15aa1.gz

    As usual all the separate patches are in:

            ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.2/2.2.15aa1/

    and they can be applyed in order to generate the 2.2.15aa1 kernel.

    Andrea

    PS. If you'll run with more than 4giga of RAM on alpha, you'll need also
    to fix procps if you want to read the correct MM values with `free`, `top`
    and `vmstat`. procps takes all the memory information with byte
    granularity in `int` words (and not long words). I fixed procps this way:

            ftp://ftp.suse.com/pub/people/andrea/procps/procps-2.0.2-bigmem-1.gz

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Fri May 05 2000 - 12:18:09 EDT