[LWN Logo]

Date:	Fri, 5 May 2000 17:44:05 +0200 (CEST)
From:	Andrea Arcangeli <andrea@suse.de>
To:	linux-kernel@vger.rutgers.edu
Subject: 2.2.15aa1

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/