2.2.13aa2

Andrea Arcangeli (andrea@suse.de)
Fri, 29 Oct 1999 20:54:55 +0200 (CEST)


2.2.13aa2 is the stable tree I use here. 2.2.13aa2 is composed by these
patches. Some of the patches are controversial and they must be applyed in
`ls` order. The patches are separated exactly to allow everybody out there
to trivally merge the patches and to be able to see only the interesting
changes.

SMP-scheduler-2.2.11-E.gz -> rewrote of reschedule_idle. (me)
buffer-hash.gz -> fixes lowmem box hash size. (me)
buffer-races-2.2.10-A.gz -> fixes of race condition that may lead
to bad things in invalidate_buffers()
and set_blocksize(). (me)
clear-backlog-2.gz -> fixes for a SMP race condition in
the main network backlog handling. (me)
dcache-hash.gz -> dcache hash dynamic (with my
own heuristc). (started from 2.2.13ac1
but then reimplemented by me)
free_page.gz -> cleanup of the __free_pages
interface. (me)
hashed-buffers-2.2.10.gz -> minor fix to increase the debugging
information in the right place. (me)
inode-leak-2.2.10-A.gz -> make sure to not leak memory
by allocating lots of sockets (DoS),
and let know the admin to enlarge
the max-inodes if the admin really
wants more unfreeable memory in the
icache. (me)
kupdate-sigstop-2.2.11-1.gz -> allow kupdate to be stopped via
SIGSTOP (currently it must be stopped
by setting interval to zero via
sysctl). (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)
oom-2.2.12-I.gz -> assorted OOM fixes (deadlocks in
pagein, Alpha SIGBUS fix, avoid
sigkilling iopl() application send
a sigterm instead, avoid init
to be killed), it's the same
patch merged by Alan into 2.2.14pre2. (me)
pagecache-hash.gz -> pagecache hash dynamic (I think
it's DaveM's work, literally I took it
from 2.2.13ac1). I agree with the
heuristc used. It allocates
num_physpages buckets for the pagecache
and this basically means all the
buckets will be filled supposing a
perfect hash distribution with all the memory
allocated in the cache. (all credits
to David S. Miller)
probe-irq-2.3.14-pre2-1.gz -> avoid a pending irq to be mistaken
for a spurious irq. (me)
shrink_all_cache-2.2.10-A.gz -> make sure that big memory boxes will
shrink the cache well enough. (me)
trashing-mem-2.2.10-A.gz -> heuristic to penalize memory hogs,
the system will remains responsive
also during heavy swapout. (me)
version.gz -> set the EXTRAVERSION to aa2 ;)
wait-event-smp-races.gz -> Put the two mb() after setting the
task state as blocking and before
checking if the event is just happend
(SMP race fix). (me)
wait4-smp-race.gz -> _Critical_ SMP race fix.
Without this one liner each time you
run `ls` from bash, the bash is going
to deadlock in wait4 if you are unlucky
enough. The race is very small
but there are machine under heavy
fork load load that reproduced this
race regularly after some day of load.
The SMP race can happen only
with an SMP kernel on a SMP hardware. (me)
wakeup_bdflush-2.2.10-A.gz -> avoid deadlocking in wakeup_bdflush
(the run_task_queue() can sleep for
example while running the loop
request function). (me)
z-bigmem-2.2.13aa2-6.gz -> 4GB support on x86. (me and
Gerhard Wichert)
z-bigmem-nodebug.gz -> turn the bigmem code into production
mode.
z-bigmem-rawio-2.2.13aa2-1.gz -> rawio working even with bigmem memory
(I started with rawio from 2.2.13ac1
and SCT's 2.3.x rawio bounce buffers,
all the credits go to Stephen C.
Tweedie)
zmagic-all-blocksize.gz -> allow zmagic binaries to run
also on 4k filesystems (it's the same
that gone into 2.2.14pre2). (me)

To go in sync with 2.2.13aa2 you can:

mkdir 2.2.13aa2
cd 2.2.13aa2
wget --retr-symlinks -A\*.gz ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.2/2.2.13aa2/\*
cd ..

and now you'll have all the interesting patches in the directory
2.2.13aa2.

At this point rename the 2.2.13 sources to 2.2.13aa2:

mv linux-2.2.13 linux-2.2.13aa2
cd linux-2.2.13aa2

and apply all the 2.2.13aa2 patches that you previously downloaded from
the ftp site:

apply-patches.sh ../2.2.13aa2

At this point your tree will be in sync with 2.2.13aa2. Just configure
recompile and boot the new kernel.

You can find the `apply-patches.sh` bash script I written to easily apply
my kernel patches here:

ftp://ftp.*.kernel.org/pub/linux/kernel/people/andrea/tools/apply-patches/apply-patches.sh.gz

There is also a README on how to use it:

ftp://ftp.*.kernel.org/pub/linux/kernel/people/andrea/tools/apply-patches/README.gz

The 2.2.13aa2 kernel is placed here:

ftp://ftp.*.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.2/2.2.13aa2/

Have fun!

Andrea

-
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/