2.4.10pre10aa1 (first spin to the vm rewrite included)

From: Andrea Arcangeli (andrea@suse.de)
Date: Mon Sep 17 2001 - 11:09:14 EST


Some of the the main features of 2.4.10pre10aa1 are:

o vm rewrite (see below a description)
o do all the possible vma merging during mmap/mremap/mprotect and
        rewrite of the vma lookup engine using rb trees checkpointing for
        avoiding various browse of the tree during vma merging, mmap etc...
o blkdev in pagecache (you can also open a blkdev and mmap it,
        or you can open it with O_DIRECT and do rawio without using /dev/raw)
o rawio improvement with preallocation of the kiobuf in the f_iobuf
        provided by the O_DIRECT support (next step is to split the kiobuf
        for the contention case that doesn't happen during the DB workload
        and for the non I/O users like bttv)
o O_DIRECT support
o latest TUX 2 release developed by Ingo Molnar (RedHat Inc) (you need
        the tux 2.1.0 userspace package from redhat.com to use it)
o latest UML release developed by Jeff Dike
o rcu core included (thought it will be rewritten, I agreed with
        Dipankar that the per-cpu scheduling sequence number seems
        the best approch, such number can serve also as a statistic
        to usespace infact, it is very similar to Rusty's patch but it
        doesn't add any branch to the schedule fast path, he's rewriting
        the patch at the moment and I'll include it in the next release)

Only in 2.4.10pre8aa1: 00_gcc-30-extern-static-3
Only in 2.4.10pre8aa1: 00_nfs-delete-lock-1
Only in 2.4.10pre8aa1: 00_tgid-1

        Merged into mainline.

Only in 2.4.10pre10aa1: 80_vm-aa-1

        VM rewrite, should fix:

        - kswapd looping forever on DMA or NORMAL classzones
        - swap+ram will be almost all available address space
                (modulo when the swap cache serves to avoid swapins
                of shares anonymous memory after a fork)
        - slowdowns after multiple runs of the workloads
        - swapout storms
        - dbench runs twice faster with this patch applied

        I've several ideas on how to change the vm algorithms to
        be even better, this first one may be a little too agrressive, however
        I tried a few of them and I did a check of the dbench numbers after
        that and they were always slower than the algorithm in the 80_vm-aa-1
        patch. (OTOH I don't want a VM that works wonderfully on dbench
        but not with other normal workloads)

        This patch may still swap a little too much (but it shouldnt'
        generate the storms during heavy I/O), I need feedback from differnt
        workloads to be sure it's ok, at this point it is trival for me to
        change the behaviour radically after I get the feedback and numbers
        from users and developers.

        So please test it so I will know if I must change something.

        About stability it should be rock solid, but of course there's
        not a very good statistic yet (my most critical desktop is running
        2.4.10pre10aa1 since last night under high load without problems yet).
        I probably have a bug in swapoff but let's ignore it for now, just
        try to run swapoff only before shutting down the machine. The fact
        is that the 2.4 VM is broken freeing physically dirty pages.
        The last owner of the page (usually the VM except in swapoff) has to
        clear the dirty flag before freeing the page, in swapoff it may
        be a little more complicate (we may need to grab the pagecache_lock
        to ensure nobody start using the page while we clear it). And swapoff
        is probably racy anyways as usual (swapoff in 2.2 is racy too). In
        short I didn't focused on swapoff yet, I just made an hack to make it
        to work while shutting down the machine so far.

        I know this patch could hurt some developer since I backed out
        lots of (broken) stuff that probably they liked, I'm sorry for that,
        but I will mainly listen to numbers, not to "voice/email" vapourware
        arguments (like the argument numa is broken, that's just a red herring,
        this patch flyes on the numa wildfire simulation with all the numa
        heuristics enabled as well as on uml with mem=4m, origin 2k or whatever
        x86/ia64 numa hardware will never ever have problems either with it and
        I will make sure it will work correctly). So in short I will love to
        be proved wrong on the _paper_ with real life issues.

Only in 2.4.10pre10aa1: 00_alpha-compile-1

        Fix a few alpha compile troubles.

Only in 2.4.10pre8aa1: 00_alpha-fp-disabled-1
Only in 2.4.10pre10aa1: 00_alpha-fp-disabled-2

        Rediffed due trivial rejects.

Only in 2.4.10pre8aa1: 00_copy-user-lat-2
Only in 2.4.10pre10aa1: 00_copy-user-lat-3

        Rediffed due trivial rejects.

Only in 2.4.10pre8aa1: 00_module-gfp-2
Only in 2.4.10pre10aa1: 00_module-gfp-3

        Rediffed due trivial rejects.

Only in 2.4.10pre8aa1: 00_silent-stack-overflow-8
Only in 2.4.10pre10aa1: 00_silent-stack-overflow-9

        Rediffed due trivial rejects.

Only in 2.4.10pre8aa1: 10_prefetch-6
Only in 2.4.10pre10aa1: 10_prefetch-8

        Part of it merged into mainline, rediffed the missing part.

Only in 2.4.10pre8aa1: 40_blkdev-pagecache-16
Only in 2.4.10pre10aa1: 40_blkdev-pagecache-17

        Rediffed due trivial rejects.

Only in 2.4.10pre8aa1: 50_uml-patch-2.4.9-4.bz2
Only in 2.4.10pre10aa1: 50_uml-patch-2.4.9-6.bz2

        Picked last update with the move of the kernel address space from
        sourceforge.

Only in 2.4.10pre8aa1: 60_tux-2.4.9-ac10-H2
Only in 2.4.10pre10aa1: 60_tux-2.4.9-ac10-H7

        Picked last update from www.redhat.com/~mingo/ .

Only in 2.4.10pre8aa1: 70_mmap-rb-8
Only in 2.4.10pre10aa1: 70_mmap-rb-9

        Rediffed due trivial rejects.

URL:

        ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.10pre10aa1.bz2
        ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.10pre10aa1/
        ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.10pre10aa1/80_vm-aa-1

Some diffstats:

andrea@athlon:~ > diffstat ~/remote/kernel.org/kernels/v2.4/2.4.10pre10aa1/80_vm-aa-1
 arch/alpha/mm/fault.c | 7
 arch/i386/mm/fault.c | 25 +
 fs/buffer.c | 68 +--
 fs/dcache.c | 2
 fs/inode.c | 59 +--
 fs/proc/proc_misc.c | 8
 include/linux/fs.h | 1
 include/linux/highmem.h | 2
 include/linux/list.h | 1
 include/linux/mm.h | 50 +-
 include/linux/mmzone.h | 9
 include/linux/pagemap.h | 1
 include/linux/sched.h | 3
 include/linux/slab.h | 2
 include/linux/swap.h | 152 ++------
 include/linux/swapctl.h | 22 -
 kernel/fork.c | 2
 kernel/signal.c | 2
 kernel/sysctl.c | 6
 mm/filemap.c | 46 --
 mm/memory.c | 21 -
 mm/numa.c | 8
 mm/oom_kill.c | 40 --
 mm/page_alloc.c | 501 +++++++++-----------------
 mm/shmem.c | 2
 mm/slab.c | 8
 mm/swap.c | 105 -----
 mm/swap_state.c | 14
 mm/swapfile.c | 21 -
 mm/vmscan.c | 909 ++++++++++++++----------------------------------
 30 files changed, 694 insertions(+), 1403 deletions(-)
andrea@athlon:~ >

diffstat of the whole patch:

 CREDITS | 2
 Documentation/Configure.help | 237 +++
 MAINTAINERS | 8
 Makefile | 9
 arch/alpha/config.in | 6
 arch/alpha/kernel/alpha_ksyms.c | 4
 arch/alpha/kernel/entry.S | 18
 arch/alpha/kernel/irq.c | 2
 arch/alpha/kernel/irq_alpha.c | 2
 arch/alpha/kernel/process.c | 5
 arch/alpha/kernel/proto.h | 5
 arch/alpha/kernel/traps.c | 30
 arch/alpha/mm/fault.c | 9
 arch/arm/config.in | 2
 arch/arm/kernel/init_task.c | 1
 arch/arm/mm/fault-common.c | 2
 arch/cris/config.in | 1
 arch/cris/kernel/process.c | 1
 arch/cris/mm/fault.c | 2
 arch/i386/Makefile | 3
 arch/i386/config.in | 14
 arch/i386/kernel/entry.S | 16
 arch/i386/kernel/init_task.c | 1
 arch/i386/kernel/io_apic.c | 31
 arch/i386/kernel/irq.c | 8
 arch/i386/kernel/process.c | 1
 arch/i386/kernel/setup.c | 12
 arch/i386/kernel/smp.c | 6
 arch/i386/kernel/smpboot.c | 2
 arch/i386/lib/usercopy.c | 8
 arch/i386/mm/extable.c | 2
 arch/i386/mm/fault.c | 35
 arch/i386/vmlinux.lds.S | 83 +
 arch/ia64/config.in | 1
 arch/ia64/kernel/init_task.c | 1
 arch/ia64/mm/fault.c | 2
 arch/m68k/config.in | 1
 arch/m68k/kernel/process.c | 1
 arch/m68k/mm/fault.c | 2
 arch/mips/config.in | 1
 arch/mips/kernel/init_task.c | 1
 arch/mips/mm/fault.c | 2
 arch/mips64/config.in | 1
 arch/mips64/kernel/init_task.c | 1
 arch/mips64/mm/fault.c | 2
 arch/parisc/config.in | 1
 arch/parisc/kernel/init_task.c | 1
 arch/ppc/config.in | 3
 arch/ppc/kernel/process.c | 1
 arch/ppc/mm/fault.c | 5
 arch/s390/config.in | 1
 arch/s390/kernel/init_task.c | 1
 arch/s390/mm/fault.c | 2
 arch/s390x/config.in | 1
 arch/s390x/kernel/init_task.c | 1
 arch/s390x/mm/fault.c | 2
 arch/sh/config.in | 1
 arch/sh/kernel/init_task.c | 1
 arch/sh/mm/fault.c | 4
 arch/sparc/config.in | 1
 arch/sparc/kernel/init_task.c | 1
 arch/sparc/mm/fault.c | 4
 arch/sparc64/config.in | 4
 arch/sparc64/kernel/init_task.c | 1
 arch/sparc64/mm/fault.c | 2
 arch/um/Makefile | 103 +
 arch/um/Makefile-i386 | 8
 arch/um/Makefile-ia64 | 1
 arch/um/Makefile-ppc | 5
 arch/um/boot/Makefile | 3
 arch/um/config.in | 109 +
 arch/um/config.release | 290 ++++
 arch/um/defconfig | 293 ++++
 arch/um/drivers/Makefile | 50
 arch/um/drivers/chan_kern.c | 270 ++++
 arch/um/drivers/chan_user.c | 250 +++
 arch/um/drivers/daemon.h | 39
 arch/um/drivers/daemon_kern.c | 128 +
 arch/um/drivers/daemon_kern.h | 8
 arch/um/drivers/daemon_user.c | 210 +++
 arch/um/drivers/etap.h | 34
 arch/um/drivers/etap_kern.h | 24
 arch/um/drivers/ethertap_kern.c | 139 ++
 arch/um/drivers/ethertap_user.c | 231 +++
 arch/um/drivers/mcast.h | 36
 arch/um/drivers/mcast_kern.c | 168 ++
 arch/um/drivers/mcast_kern.h | 8
 arch/um/drivers/mcast_user.c | 214 +++
 arch/um/drivers/mconsole_kern.c | 235 +++
 arch/um/drivers/mconsole_user.c | 168 ++
 arch/um/drivers/mmapper_kern.c | 134 ++
 arch/um/drivers/net_kern.c | 631 +++++++++
 arch/um/drivers/net_kern.h | 66
 arch/um/drivers/net_user.c | 65
 arch/um/drivers/net_user.h | 43
 arch/um/drivers/slip.h | 33
 arch/um/drivers/slip_kern.c | 106 +
 arch/um/drivers/slip_kern.h | 8
 arch/um/drivers/slip_user.c | 284 ++++
 arch/um/drivers/ssl.c | 310 ++++
 arch/um/drivers/ssl.h | 23
 arch/um/drivers/stdio_console.c | 294 ++++
 arch/um/drivers/stdio_console.h | 26
 arch/um/drivers/stdio_console_user.c | 53
 arch/um/drivers/tuntap.h | 38
 arch/um/drivers/tuntap_kern.c | 130 +
 arch/um/drivers/tuntap_kern.h | 24
 arch/um/drivers/tuntap_user.c | 264 +++
 arch/um/drivers/ubd.c | 796 +++++++++++
 arch/um/drivers/ubd_user.c | 474 +++++++
 arch/um/fs/Makefile | 16
 arch/um/fs/hostfs/Makefile | 31
 arch/um/fs/hostfs/hostfs.h | 74 +
 arch/um/fs/hostfs/hostfs_kern.c | 782 +++++++++++
 arch/um/fs/hostfs/hostfs_user.c | 337 +++++
 arch/um/include/chan.h | 129 +
 arch/um/include/debug.h | 9
 arch/um/include/kern.h | 42
 arch/um/include/kern_util.h | 135 ++
 arch/um/include/mconsole.h | 49
 arch/um/include/mconsole_kern.h | 47
 arch/um/include/mem_user.h | 55
 arch/um/include/process.h | 26
 arch/um/include/sysdep-i386/ptrace.h | 63
 arch/um/include/sysdep-i386/sigcontext.h | 26
 arch/um/include/sysdep-i386/syscalls.h | 55
 arch/um/include/sysdep-ia64/ptrace.h | 26
 arch/um/include/sysdep-ia64/sigcontext.h | 20
 arch/um/include/sysdep-ia64/syscalls.h | 20
 arch/um/include/sysdep-ppc/ptrace.h | 96 +
 arch/um/include/sysdep-ppc/sigcontext.h | 67 +
 arch/um/include/sysdep-ppc/syscalls.h | 50
 arch/um/include/sysrq.h | 6
 arch/um/include/ubd_user.h | 72 +
 arch/um/include/umid.h | 18
 arch/um/include/umn.h | 27
 arch/um/include/user.h | 27
 arch/um/include/user_util.h | 148 ++
 arch/um/kernel/Makefile | 78 +
 arch/um/kernel/current.c | 24
 arch/um/kernel/exec_kern.c | 125 +
 arch/um/kernel/exec_user.c | 46
 arch/um/kernel/init_task.c | 56
 arch/um/kernel/irq.c | 812 ++++++++++++
 arch/um/kernel/irq_user.c | 165 ++
 arch/um/kernel/ksyms.c | 23
 arch/um/kernel/mem.c | 197 ++
 arch/um/kernel/mem_user.c | 215 +++
 arch/um/kernel/mprot.h | 6
 arch/um/kernel/process.c | 330 ++++
 arch/um/kernel/process_kern.c | 823 ++++++++++++
 arch/um/kernel/ptrace.c | 252 +++
 arch/um/kernel/reboot.c | 54
 arch/um/kernel/resource.c | 23
 arch/um/kernel/setup.c | 19
 arch/um/kernel/signal_kern.c | 351 +++++
 arch/um/kernel/signal_user.c | 89 +
 arch/um/kernel/smp.c | 141 ++
 arch/um/kernel/sys_call_table.c | 437 ++++++
 arch/um/kernel/syscall_kern.c | 359 +++++
 arch/um/kernel/syscall_user.c | 203 +++
 arch/um/kernel/sysrq.c | 72 +
 arch/um/kernel/time.c | 119 +
 arch/um/kernel/time_kern.c | 129 +
 arch/um/kernel/tlb.c | 215 +++
 arch/um/kernel/trap_kern.c | 361 +++++
 arch/um/kernel/trap_user.c | 392 +++++
 arch/um/kernel/uaccess_user.c | 125 +
 arch/um/kernel/um_arch.c | 332 ++++
 arch/um/kernel/umid.c | 214 +++
 arch/um/kernel/unmap.c | 34
 arch/um/kernel/user_syms.c | 112 +
 arch/um/kernel/user_util.c | 337 +++++
 arch/um/link.ld.in | 105 +
 arch/um/main.c | 193 ++
 arch/um/ptproxy/Makefile | 28
 arch/um/ptproxy/proxy.c | 285 ++++
 arch/um/ptproxy/ptproxy.h | 42
 arch/um/ptproxy/ptrace.c | 209 +++
 arch/um/ptproxy/sysdep.c | 59
 arch/um/ptproxy/sysdep.h | 13
 arch/um/ptproxy/wait.c | 79 +
 arch/um/ptproxy/wait.h | 18
 arch/um/sys-i386/Makefile | 49
 arch/um/sys-i386/ksyms.c | 16
 arch/um/sys-i386/ldt.c | 22
 arch/um/sys-i386/ptrace.c | 76 +
 arch/um/sys-i386/ptrace_user.c | 25
 arch/um/sys-i386/sigcontext.c | 46
 arch/um/sys-i386/syscalls.c | 68 +
 arch/um/sys-i386/sysrq.c | 22
 arch/um/sys-ia64/Makefile | 26
 arch/um/sys-ppc/Makefile | 78 +
 arch/um/sys-ppc/misc.S | 116 +
 arch/um/sys-ppc/miscthings.c | 56
 arch/um/sys-ppc/ptrace.c | 28
 arch/um/sys-ppc/ptrace_user.c | 39
 arch/um/sys-ppc/sigcontext.c | 43
 drivers/block/blkpg.c | 2
 drivers/block/ll_rw_blk.c | 7
 drivers/block/loop.c | 42
 drivers/block/rd.c | 192 ++
 drivers/char/Makefile | 6
 drivers/char/pc_keyb.c | 1
 drivers/char/raw.c | 30
 drivers/char/serial.c | 2
 drivers/ide/ide.c | 2
 drivers/md/Makefile | 2
 drivers/md/lvm-fs.c | 618 +++++++++
 drivers/md/lvm-internal.h | 103 +
 drivers/md/lvm-snap.c | 451 ++++--
 drivers/md/lvm-snap.h | 47
 drivers/md/lvm.c | 2065 +++++++++++++------------------
 drivers/net/3c59x.c | 9
 drivers/net/eepro100.c | 15
 drivers/scsi/megaraid.c | 2
 drivers/scsi/qla1280.h | 2
 fs/block_dev.c | 708 ++++++----
 fs/buffer.c | 336 +++--
 fs/dcache.c | 27
 fs/devices.c | 1
 fs/exec.c | 3
 fs/ext2/dir.c | 34
 fs/ext2/fsync.c | 1
 fs/ext2/inode.c | 7
 fs/fcntl.c | 22
 fs/file_table.c | 5
 fs/inode.c | 113 -
 fs/namei.c | 14
 fs/open.c | 13
 fs/proc/proc_misc.c | 76 +
 fs/reiserfs/file.c | 3
 fs/reiserfs/inode.c | 1
 fs/select.c | 2
 fs/super.c | 6
 include/asm-alpha/fcntl.h | 3
 include/asm-alpha/mmzone.h | 2
 include/asm-alpha/module.h | 4
 include/asm-alpha/processor.h | 24
 include/asm-alpha/rwsem_xchgadd.h | 27
 include/asm-alpha/timex.h | 4
 include/asm-alpha/uaccess.h | 40
 include/asm-alpha/unistd.h | 4
 include/asm-arm/processor.h | 7
 include/asm-arm/timex.h | 4
 include/asm-cris/processor.h | 10
 include/asm-cris/timex.h | 4
 include/asm-i386/fcntl.h | 3
 include/asm-i386/hw_irq.h | 17
 include/asm-i386/kmap_types.h | 1
 include/asm-i386/module.h | 4
 include/asm-i386/page.h | 4
 include/asm-i386/page_offset.h | 6
 include/asm-i386/pgalloc.h | 7
 include/asm-i386/pgtable.h | 4
 include/asm-i386/processor.h | 10
 include/asm-i386/rwsem.h | 226 ---
 include/asm-i386/rwsem_xchgadd.h | 93 +
 include/asm-i386/timex.h | 4
 include/asm-i386/uaccess.h | 5
 include/asm-ia64/fcntl.h | 1
 include/asm-ia64/processor.h | 24
 include/asm-ia64/timex.h | 4
 include/asm-m68k/processor.h | 2
 include/asm-m68k/timex.h | 4
 include/asm-mips/processor.h | 3
 include/asm-mips/timex.h | 5
 include/asm-mips64/processor.h | 3
 include/asm-mips64/timex.h | 4
 include/asm-parisc/processor.h | 3
 include/asm-parisc/timex.h | 4
 include/asm-ppc/fcntl.h | 1
 include/asm-ppc/kmap_types.h | 1
 include/asm-ppc/processor.h | 8
 include/asm-ppc/timex.h | 4
 include/asm-s390/processor.h | 4
 include/asm-s390/timex.h | 4
 include/asm-s390x/processor.h | 4
 include/asm-s390x/timex.h | 4
 include/asm-sh/processor.h | 3
 include/asm-sh/timex.h | 4
 include/asm-sparc/fcntl.h | 2
 include/asm-sparc/kmap_types.h | 1
 include/asm-sparc/processor.h | 3
 include/asm-sparc/timex.h | 4
 include/asm-sparc64/fcntl.h | 3
 include/asm-sparc64/processor.h | 3
 include/asm-sparc64/timex.h | 4
 include/asm-um/a.out.h | 18
 include/asm-um/archparam-i386.h | 26
 include/asm-um/archparam-ppc.h | 41
 include/asm-um/atomic.h | 6
 include/asm-um/bitops.h | 6
 include/asm-um/boot.h | 6
 include/asm-um/bugs.h | 6
 include/asm-um/byteorder.h | 6
 include/asm-um/cache.h | 6
 include/asm-um/checksum.h | 6
 include/asm-um/cobalt.h | 6
 include/asm-um/current.h | 26
 include/asm-um/delay.h | 7
 include/asm-um/desc.h | 6
 include/asm-um/div64.h | 6
 include/asm-um/dma.h | 10
 include/asm-um/elf.h | 16
 include/asm-um/errno.h | 6
 include/asm-um/fcntl.h | 6
 include/asm-um/fixmap.h | 6
 include/asm-um/floppy.h | 6
 include/asm-um/hardirq.h | 6
 include/asm-um/hdreg.h | 6
 include/asm-um/highmem.h | 6
 include/asm-um/hw_irq.h | 10
 include/asm-um/ide.h | 6
 include/asm-um/init.h | 11
 include/asm-um/io.h | 6
 include/asm-um/ioctl.h | 6
 include/asm-um/ioctls.h | 6
 include/asm-um/ipc.h | 6
 include/asm-um/ipcbuf.h | 6
 include/asm-um/irq.h | 27
 include/asm-um/keyboard.h | 6
 include/asm-um/linux_logo.h | 6
 include/asm-um/locks.h | 6
 include/asm-um/mca_dma.h | 6
 include/asm-um/mman.h | 6
 include/asm-um/mmu.h | 6
 include/asm-um/mmu_context.h | 25
 include/asm-um/module.h | 6
 include/asm-um/msgbuf.h | 6
 include/asm-um/mtrr.h | 6
 include/asm-um/namei.h | 6
 include/asm-um/page.h | 40
 include/asm-um/page_offset.h | 1
 include/asm-um/param.h | 24
 include/asm-um/pci.h | 6
 include/asm-um/pgalloc.h | 143 ++
 include/asm-um/pgtable.h | 378 +++++
 include/asm-um/poll.h | 6
 include/asm-um/posix_types.h | 6
 include/asm-um/processor-generic.h | 198 ++
 include/asm-um/processor-i386.h | 6
 include/asm-um/processor-ppc.h | 15
 include/asm-um/ptrace.h | 32
 include/asm-um/resource.h | 6
 include/asm-um/rwlock.h | 6
 include/asm-um/rwsem-spin.h | 6
 include/asm-um/rwsem_xchgadd.h | 6
 include/asm-um/scatterlist.h | 6
 include/asm-um/segment.h | 4
 include/asm-um/semaphore.h | 6
 include/asm-um/sembuf.h | 6
 include/asm-um/serial.h | 6
 include/asm-um/shmbuf.h | 6
 include/asm-um/shmparam.h | 6
 include/asm-um/sigcontext-generic.h | 6
 include/asm-um/sigcontext-i386.h | 6
 include/asm-um/sigcontext-ppc.h | 10
 include/asm-um/siginfo.h | 6
 include/asm-um/signal.h | 6
 include/asm-um/smp.h | 14
 include/asm-um/smplock.h | 6
 include/asm-um/socket.h | 6
 include/asm-um/sockios.h | 6
 include/asm-um/softirq.h | 13
 include/asm-um/spinlock.h | 10
 include/asm-um/stat.h | 6
 include/asm-um/statfs.h | 6
 include/asm-um/string.h | 7
 include/asm-um/system-generic.h | 49
 include/asm-um/system-i386.h | 6
 include/asm-um/system-ppc.h | 16
 include/asm-um/termbits.h | 6
 include/asm-um/termios.h | 6
 include/asm-um/timex.h | 19
 include/asm-um/types.h | 6
 include/asm-um/uaccess.h | 188 ++
 include/asm-um/unaligned.h | 6
 include/asm-um/unistd.h | 100 +
 include/asm-um/user.h | 6
 include/asm-um/vga.h | 6
 include/linux/blk.h | 9
 include/linux/blkdev.h | 11
 include/linux/cache.h | 9
 include/linux/compiler.h | 13
 include/linux/condsched.h | 14
 include/linux/dcache.h | 2
 include/linux/errno.h | 3
 include/linux/ext2_fs_i.h | 1
 include/linux/fs.h | 94 +
 include/linux/highmem.h | 2
 include/linux/hostfs_fs_i.h | 21
 include/linux/kernel.h | 2
 include/linux/kernel_stat.h | 49
 include/linux/list.h | 8
 include/linux/loop.h | 1
 include/linux/lvm.h | 334 +----
 include/linux/mm.h | 116 +
 include/linux/mmzone.h | 9
 include/linux/numa_sched.h | 53
 include/linux/pagemap.h | 1
 include/linux/rbtree.h | 133 +
 include/linux/rcupdate.h | 48
 include/linux/rwsem-spinlock.h | 62
 include/linux/rwsem.h | 71 -
 include/linux/rwsem_spinlock.h | 62
 include/linux/rwsem_xchgadd.h | 104 +
 include/linux/sched.h | 113 +
 include/linux/slab.h | 2
 include/linux/socket.h | 5
 include/linux/swap.h | 157 --
 include/linux/swapctl.h | 22
 include/linux/sysctl.h | 55
 include/linux/time.h | 42
 include/linux/timer.h | 1
 include/linux/tty.h | 3
 include/net/sock.h | 3
 include/net/tcp.h | 1
 include/net/tux.h | 747 +++++++++++
 include/net/tux_u.h | 164 ++
 init/main.c | 1
 kernel/Makefile | 4
 kernel/exit.c | 16
 kernel/fork.c | 36
 kernel/ksyms.c | 23
 kernel/printk.c | 2
 kernel/rcupdate.c | 165 ++
 kernel/sched.c | 173 +-
 kernel/signal.c | 14
 kernel/sysctl.c | 8
 kernel/timer.c | 14
 lib/Makefile | 8
 lib/rbtree.c | 293 ++++
 lib/rwsem.c | 210 ---
 lib/rwsem_spinlock.c | 124 +
 lib/rwsem_xchgadd.c | 92 +
 mm/filemap.c | 549 ++++++--
 mm/highmem.c | 4
 mm/memory.c | 43
 mm/mlock.c | 6
 mm/mmap.c | 472 ++++---
 mm/mmap_avl.c | 374 -----
 mm/mprotect.c | 105 +
 mm/mremap.c | 75 -
 mm/numa.c | 8
 mm/oom_kill.c | 40
 mm/page_alloc.c | 571 +++-----
 mm/shmem.c | 2
 mm/slab.c | 103 -
 mm/swap.c | 105 -
 mm/swap_state.c | 14
 mm/swapfile.c | 21
 mm/vmalloc.c | 2
 mm/vmscan.c | 909 ++++---------
 net/Config.in | 1
 net/Makefile | 1
 net/core/dev.c | 4
 net/ipv4/tcp.c | 4
 net/ipv6/ip6_output.c | 2
 net/netsyms.c | 18
 net/socket.c | 119 +
 net/tux/Config.in | 7
 net/tux/Makefile | 16
 net/tux/abuf.c | 176 ++
 net/tux/accept.c | 847 ++++++++++++
 net/tux/cachemiss.c | 258 +++
 net/tux/cgi.c | 211 +++
 net/tux/extcgi.c | 325 ++++
 net/tux/input.c | 850 ++++++++++++
 net/tux/logger.c | 787 +++++++++++
 net/tux/main.c | 1248 ++++++++++++++++++
 net/tux/mod.c | 243 +++
 net/tux/output.c | 268 ++++
 net/tux/parser.h | 92 +
 net/tux/postpone.c | 77 +
 net/tux/proc.c | 755 +++++++++++
 net/tux/proto_ftp.c | 1441 +++++++++++++++++++++
 net/tux/proto_http.c | 1341 ++++++++++++++++++++
 net/tux/redirect.c | 158 ++
 net/tux/times.c | 176 ++
 net/tux/times.h | 26
 net/tux/userspace.c | 27
 482 files changed, 37800 insertions(+), 5180 deletions(-)

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



This archive was generated by hypermail 2b29 : Sun Sep 23 2001 - 21:00:20 EST