Messages in this thread | | | Date | Sat, 31 Oct 1998 03:34:51 +0100 (CET) | From | Andrea Arcangeli <> | Subject | arca-1-against-pre-2.1.127-3 |
| |
I' ve done a diff from my tree (with my new code) against pre-2.1.127-3.
This my diff includes:
o My fully jiffy wrap compliant schedule_timeout() and interruptible_sleep_on_timeout(). My drivers are all uptodate with these new functions, other drivers can not compile. I had not the time to update other hardare too. Notify me if something doesn't compile and I' ll sent you an incremental patch ASAP.
o Tons of time_*() jiffies updates. Also some fix for some timer that it' s been set to `0' in order to run ASAP. When a timer has to be run ASAP should be set with expires = jiffies instead.
o My latest (>oom-22) memory management OOM fix. With this code kswapd is really a daemon an run in background and schedule as a normal process but with dynamic priority. I also tried to shutdown kswapd (incidentally btw ;-) and all my evil process didn' t segfaulted. kswapd is useful to improve things but with this patch __get_free_pages/try_to_free_pages() are able to handle the swapping just fine without need kswapd (and this is a must for RT tasks). As just said kswapd improve a _lot_ (because async) the time needed for the swapout. The new FP_IMPOSSIBLE flag make __get_free_pages() able to detect when to OOM fine. Also swapoff -a works just fine. You could get some warning message from the swap code but I have verifyed that it' s not a race, but it' s a normal allowed and safe case when while swapoff is swapping-in, also the process has swapped in the page before swapoff had the time to swap_duplicate().
o mmap sync fix. This patch allow to share an mmapped region and to update the shared mappings at sync/release time for all process that are sharing such memory region. This improve things a lot. I don' t know if it' s enough generic (because I handle only the filemap case), but it' s been rock so far and looks clean.
o proc/sysctl #ifdef fix. This will allow you to compile your kernel without /proc and/or sysctl support.
o little vmalloc fix.
o swap_cache_find_success/total now say something.
I hope to have not missed something ;->.
Everything in the patch worked fine here so far.
Note that when you' ll boot your new kernel you' ll run in the past for 1 hour (run uptime and you' ll see), so you' ll have exactly 1 hour to stress test the kernel to eventually catch some nasty timer expire bug. I had no one problem so far also while in the past though...
arch/i386/kernel/irq.c | 2 arch/i386/kernel/mtrr.c | 3 arch/i386/kernel/time.c | 2 arch/mips/kernel/time.c | 16 ++ arch/sparc/kernel/process.c | 2 drivers/block/acsi.c | 4 drivers/block/ataflop.c | 4 drivers/block/ide-cd.c | 3 drivers/block/ide-probe.c | 2 drivers/block/ide.c | 10 - drivers/block/ide.h | 2 drivers/block/pdc4030.c | 8 - drivers/block/ps2esdi.c | 6 drivers/block/xd.c | 2 drivers/char/console.c | 5 drivers/char/cyclades.c | 8 - drivers/char/esp.c | 2 drivers/char/istallion.c | 2 drivers/char/lp.c | 18 -- drivers/char/msp3400.c | 9 - drivers/char/n_tty.c | 16 +- drivers/char/riscom8.c | 4 drivers/char/saa5249.c | 2 drivers/char/serial.c | 6 drivers/char/specialix.c | 6 drivers/char/stallion.c | 2 drivers/char/tty_io.c | 3 drivers/char/tty_ioctl.c | 19 --- drivers/char/tuner.c | 3 drivers/misc/parport_arc.c | 2 drivers/misc/parport_ax.c | 4 drivers/misc/parport_ieee1284.c | 3 drivers/misc/parport_init.c | 8 + drivers/misc/parport_pc.c | 4 drivers/net/3c505.c | 54 ++++---- drivers/net/3c523.c | 2 drivers/net/atp.c | 2 drivers/net/dgrs.c | 4 drivers/net/hp100.c | 26 ++-- drivers/net/ibmtr.c | 2 drivers/net/ltpc.c | 18 +- drivers/net/ppp.c | 1 drivers/net/rrunner.c | 4 drivers/net/sdla.c | 6 drivers/net/seeq8005.c | 8 - drivers/net/shaper.c | 4 drivers/net/sktr.c | 4 drivers/pci/pcisyms.c | 2 drivers/scsi/53c7,8xx.c | 6 drivers/scsi/53c7xx.c | 6 drivers/scsi/NCR5380.c | 24 +-- drivers/scsi/NCR53c406a.c | 8 - drivers/scsi/aha152x.c | 4 drivers/scsi/aic7xxx.c | 4 drivers/scsi/atari_NCR5380.c | 8 - drivers/scsi/atari_scsi.c | 2 drivers/scsi/eata_dma.c | 4 drivers/scsi/eata_pio.c | 2 drivers/scsi/imm.c | 4 drivers/scsi/mac_NCR5380.c | 8 - drivers/scsi/mac_scsi.c | 2 drivers/scsi/ncr53c8xx.c | 2 drivers/scsi/pci2000.c | 2 drivers/scsi/pci2220i.c | 4 drivers/scsi/ppa.c | 4 drivers/scsi/psi240i.c | 4 drivers/scsi/qlogicfas.c | 8 - drivers/scsi/scsi.c | 4 drivers/scsi/scsi_obsolete.c | 3 drivers/scsi/sd.c | 12 + drivers/scsi/seagate.c | 8 - drivers/scsi/wd7000.c | 8 - drivers/sound/dmabuf.c | 55 ++++----- drivers/sound/midibuf.c | 15 -- drivers/sound/sequencer.c | 33 +---- fs/lockd/clntlock.c | 6 fs/lockd/clntproc.c | 14 -- fs/lockd/svc.c | 9 - fs/nfs/inode.c | 6 fs/proc/array.c | 2 fs/select.c | 49 +++----- include/linux/arcdevice.h | 2 include/linux/mm.h | 8 + include/linux/poll.h | 2 include/linux/sched.h | 12 + include/linux/sunrpc/svcsock.h | 2 include/linux/sysctl.h | 1 include/linux/timer.h | 10 + include/linux/tty.h | 2 include/net/sock.h | 2 include/net/tcp.h | 2 ipc/shm.c | 10 - kernel/itimer.c | 13 -- kernel/ksyms.c | 2 kernel/sched.c | 179 ++++++++++++++++++++--------- kernel/signal.c | 19 +-- kernel/sysctl.c | 27 +--- mm/filemap.c | 123 +++++++++++++++++--- mm/mmap.c | 6 mm/page_alloc.c | 25 +++- mm/swap_state.c | 18 ++ mm/vmalloc.c | 3 mm/vmscan.c | 241 +++++++++++++++++++++++++--------------- net/ipv4/af_inet.c | 15 +- net/ipv4/ip_masq.c | 16 +- net/ipv4/ip_masq_autofw.c | 2 net/ipv4/ipconfig.c | 2 net/ipv4/tcp.c | 10 - net/ipv4/tcp_output.c | 2 net/sunrpc/sched.c | 14 -- net/sunrpc/svcsock.c | 6 111 files changed, 846 insertions, 589 deletions
ftp://e-mind.com/pub/linux/kernel-patches/arca-1-against-pre-2.1.127-3.diff.gz
Linus tell me if you are interested on something, in such case I'll extract it from my tree.
Andrea Arcangeli
- 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/
| |