ChangeSet@1.1171, 2003-03-18 13:20:37-08:00, akpm@digeo.com [PATCH] Add error checking get_disk() Patch from Bob Miller The get_disk() function should check the return value from kobject_get() before passing it to to_disk(). This patch fixes this error. (Acked by Pat) ChangeSet@1.1170, 2003-03-18 13:20:29-08:00, akpm@digeo.com [PATCH] Fix nfsd_symlink() failure path Patch from Andreas Gruenbacher In both 2.5 and 2.4, the fs/nfsd/vfs.c:nfsd_symlink() function calls down to notify_change(). If notify_change fails for some reason, the error code is not converted to an nfs no-the-wire error code as is should. The attached patches fix that (one for 2.4, the other for 2.5). ChangeSet@1.1169, 2003-03-18 13:20:20-08:00, akpm@digeo.com [PATCH] Tighten CONFIG_NUMA preconditions Patch from Martin J. Bligh and Dave Hansen People with ordinary PCs are accidentally turning on NUMA support, and people with NUMA machines are finding the NUMA option mysteriously disappearing. This patch sets the defaults to sane things for everyone, and only allows you to turn on NUMA with both SMP and 64Gb support on (it's useful for the distros on non-Summit boxes, but not on their UP kernels ;-)). I've also moved it below the highmem options, as it logically depends on them, so this makes more sense. For those searching for NUMA support on *real* NUMA machine, Dave has provided some guiding comments to show them what they messed up (it's totally non-obvious). Hopefully this will stop people's recent unfortunate foot-wounds (I think UP machines were defaulting to NUMA on ... oops). ChangeSet@1.1168, 2003-03-18 13:20:10-08:00, akpm@digeo.com [PATCH] /proc/sysrq-trigger: trigger sysrq functions via This makes sysrq facilities available to remote users. Writing a 'C' to /proc/sysrq-trigger receives the same treatment as typing sysrq-C on the local keyboard. ChangeSet@1.1167, 2003-03-18 13:20:00-08:00, akpm@digeo.com [PATCH] pgd_index/pmd_index/pte_index commentary Patch from Dave Hansen Adds some commentary to these newly-introduced macros. ChangeSet@1.1166, 2003-03-18 13:19:50-08:00, akpm@digeo.com [PATCH] fix oprofile timer race Patch from John Levon wli got an oops from this. The callbacks call mod_timer so the timer had better be setup by then ChangeSet@1.1165, 2003-03-18 13:19:40-08:00, akpm@digeo.com [PATCH] io-apic.c: DO_ACTION cleanup Patch from "Martin J. Bligh" This removes the DO_ACTION stuff. The downside is that we add some boring and repetive code. The upside is that it's simple, and mere mortals can read it without screwing their brains into a small piece of silly putty and bouncing it off the wall. I think that's more important than pure source code size. ChangeSet@1.1164, 2003-03-18 13:19:27-08:00, akpm@digeo.com [PATCH] OOPS instance counters Patch from "Randy.Dunlap" Adds an oops counter to the oops messages, such as: Oops: 0002 [#2] So we can tell whether oops reports refer to the first oops, or to some less-interesting followon oops. ChangeSet@1.1163, 2003-03-18 13:19:04-08:00, akpm@digeo.com [PATCH] posix timers update Patch from george anzinger Fix the "large sleep returns EINVAL" problem, and clean a few things up. ChangeSet@1.1162, 2003-03-18 13:18:44-08:00, akpm@digeo.com [PATCH] Memleak in fs/ufs/util.c Patch from Oleg Drokin There is trivial memleak on error exit path in fs/ufs/util.c::_ubh_bread_() ChangeSet@1.1161, 2003-03-18 13:18:24-08:00, akpm@digeo.com [PATCH] memleak in fs/nfs/inode.c::nfs_get_sb() Patch from Oleg Drokin There is trivial memleak on error exit path in nfs get_sb function. ChangeSet@1.1160, 2003-03-18 13:18:04-08:00, akpm@digeo.com [PATCH] slab changes for !CONFIG_MMU Patch from Christoph Hellwig It extends the maximum amount of memory which may be kmalloced on nommu machines. This is needed because these machines cannot perform vmalloc(). We couldn't really find a way of doing this which avoided the ifdef tangle. ChangeSet@1.1159, 2003-03-18 13:17:46-08:00, akpm@digeo.com [PATCH] a few missing stubs for !CONFIG_MMU Patch from Christoph Hellwig This is from the uClinux patches - there are a few more stubs needed in nommu.c to get the mmuless plattforms working. ChangeSet@1.1158, 2003-03-18 13:17:22-08:00, akpm@digeo.com [PATCH] stack reduction in drivers/char/vt_ioctl.c Patch from "Randy.Dunlap" This patch (to 2.5.64) reduces the stack usage in vt_ioctl() from 0x334 bytes to 0xec bytes (P4, UP, gcc 2.96). ChangeSet@1.1157, 2003-03-18 13:16:57-08:00, akpm@digeo.com [PATCH] file_list: less locking - optimise file_kill() to not take the global lock if the file is not on a list. - Use optimised file_kill() in a few places rather than open-coding the list removal. ChangeSet@1.1156, 2003-03-18 13:16:31-08:00, akpm@digeo.com [PATCH] file_table: remove the private freelist - Remove the private freelist. There's no point in special-casing file structure allocations in this way. - Hence the freeing of files can be moved outside file_list_lock() - Replace euid test with capable(CAP_SYS_ADMIN). - Tidy various other things up. ChangeSet@1.1155, 2003-03-18 13:15:48-08:00, akpm@digeo.com [PATCH] file_list cleanup Replace the odd handling of f_list.next = NULL with list_emptiness. ChangeSet@1.1154, 2003-03-18 13:15:26-08:00, akpm@digeo.com [PATCH] file->f_list locking in tty_io.c release_mem() is altering the file->f_list lists without taking the appropriate spinlock. ChangeSet@1.1153, 2003-03-18 13:15:03-08:00, akpm@digeo.com [PATCH] file_list_lock contention fixes Patch from Manfred Spraul Fixes the lock contention over file_list_lock by simply removing the unneeded anon_list. So filp allocation does not need to take a global lock any more. The use of a spinlock to protect files_stat.nr_files is a bit awkward, but the alternative is a custom sysctl handler, and isn't much more efficient anyway. ChangeSet@1.1152, 2003-03-18 13:14:44-08:00, akpm@digeo.com [PATCH] Fix memory leak in copy_thread Patch from Andi Kleen copy_thread could leak memory if you had a io bitmap and passed wrong arguments to the new clone flags. ChangeSet@1.1151, 2003-03-18 13:14:27-08:00, akpm@digeo.com [PATCH] use set_current_state in mm Patch from Robert Love There are a couple uses of 'p->state=foo' in mm/ which are open coded. This patch converts them to the proper [__]set_current_state() function. ChangeSet@1.1150, 2003-03-18 13:14:09-08:00, akpm@digeo.com [PATCH] use set_current_state in fs Patch from Robert Love This patch is by Inaky Perez-Gonzalez. There are a couple uses of 'p->state=foo' in fs/ which are open coded. This patch converts them to the proper [__]set_current_state() function. ChangeSet@1.1149, 2003-03-18 13:13:53-08:00, akpm@digeo.com [PATCH] timer re-addition lockup fix This is a forward-port of Andrea's fix in 2.4. If a timer handler re-adds a timer to go off right now, __run_timers() will never terminate. (I wrote a test. It happens.) Fix that up by teaching internal_add_timer() to detect when it is being called from within the context of __run_timers() and to park newly-added timers onto a temp list instead. These timers are then added for real by __run_timers(), after it has finished processing all pending timers. ChangeSet@1.1148, 2003-03-18 13:13:40-08:00, akpm@digeo.com [PATCH] timer code cleanup - Use list_head functions rather than open-coding them - Use time comparison macros rather than open-coding them - Hide some ifdefs - uninline internal_add_timer(). Saves half a kilobyte of text. ChangeSet@1.1147, 2003-03-18 13:13:31-08:00, akpm@digeo.com [PATCH] remove unused block congestion code Patch from: Hugh Dickins Removes a ton of dead code from ll_rw_blk.c. I don't expect we'll be using this now. ChangeSet@1.1146, 2003-03-18 13:13:21-08:00, akpm@digeo.com [PATCH] Pass the load address into ELF_PLAT_INIT() Patch from Anton Blanchard With ppc64 64bit dynamic executables we have to relocate the contents of the function descriptor. Passing in the load address to ELF_PLAT_INIT allows us to do this. The patch allows ppc64 to run 64-bit executables and is a no-op for other architectures. ChangeSet@1.1145, 2003-03-18 13:13:12-08:00, akpm@digeo.com [PATCH] Fix noirqbalance Patch from Zwane Mwaikambo This patch fixes what seems to have been a longstanding bug. Ever since we moved cpu bringup later into the boot process, we end up programming the ioapics before we have any of our possible cpus in the cpu_online_map. Therefore leading to the following current situation; For walmart-smp, bigsmp and summit we set the logical destination for cpu to TARGET_CPUS which can depend on the cpu_online_map, so what you would normally see with noirqbalance would be all interrupts handled on cpu0 since at that stage no other cpu apart from the BSP is online. You can check for this by looking at the ioredtbls at boottime for a two way system; .... IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 001 01 0 0 0 0 0 1 1 39 02 001 01 0 0 0 0 0 1 1 31 03 001 01 0 0 0 0 0 1 1 41 04 001 01 0 0 0 0 0 1 1 49 05 001 01 0 0 0 0 0 1 1 51 06 001 01 0 0 0 0 0 1 1 59 Notice that 'Log' is set to 1 instead of 3. This patch will simply reprogram all the ioredtbls to handle the other online cpus. Patch tested on my 2way P2-400 and a 16way NUMAQ both with noirqbalance. It will not affect the irqbalance case because we are simply setting TARGET_CPUS which is done anyway. before: CPU0 CPU1 0: 1495632 0 IO-APIC-edge timer 1: 4270 0 IO-APIC-edge i8042 2: 0 0 XT-PIC cascade 8: 1 0 IO-APIC-edge rtc 12: 83592 0 IO-APIC-edge i8042 14: 93791 0 IO-APIC-edge ide0 15: 103167 0 IO-APIC-edge ide1 17: 1396088 0 IO-APIC-level EMU10K1, eth0 18: 56125 0 IO-APIC-level aic7xxx, aic7xxx 19: 2258 0 IO-APIC-level uhci-hcd, eth1, serial NMI: 0 0 LOC: 1495566 1497133 after: CPU0 CPU1 0: 1046157 1015670 IO-APIC-edge timer 1: 4923 4173 IO-APIC-edge i8042 2: 0 0 XT-PIC cascade 8: 1 0 IO-APIC-edge rtc 12: 48596 48968 IO-APIC-edge i8042 14: 4238 3416 IO-APIC-edge ide0 15: 25362 31525 IO-APIC-edge ide1 17: 3757 4014 IO-APIC-level EMU10K1, eth0 18: 335 366 IO-APIC-level aic7xxx, aic7xxx 19: 1052 908 IO-APIC-level uhci-hcd, eth1 NMI: 0 0 LOC: 2061856 2061893 ChangeSet@1.1144, 2003-03-18 12:49:12-08:00, willy@debian.org [PATCH] PARISC update PA-RISC patches for 2.5.65: - Only remove palo.conf on a `make mrproper' - Add a \ continuation to kernel/Makefile - Reindent cache.c - Always call schedule_tail - Fix some typos in the hardware database - Signal handling changes - RAID, Device Mapper & BLKSZGET ioctl32 translations - Clean up pci host bridge handling a bit. - Make IDE link again - Fix up compat changes - Improve stack dumping code ChangeSet@1.1143, 2003-03-17 13:36:50-08:00, torvalds@penguin.transmeta.com Linux 2.5.65 TAG: v2.5.65