- 18 Mar, 2003 12 commits
-
-
Andrew Morton authored
Replace the odd handling of f_list.next = NULL with list_emptiness.
-
Andrew Morton authored
release_mem() is altering the file->f_list lists without taking the appropriate spinlock.
-
Andrew Morton authored
Patch from Manfred Spraul <manfred@colorfullife.com> 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.
-
Andrew Morton authored
Patch from Andi Kleen <ak@muc.de> copy_thread could leak memory if you had a io bitmap and passed wrong arguments to the new clone flags.
-
Andrew Morton authored
Patch from Robert Love <rml@tech9.net> 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.
-
Andrew Morton authored
Patch from Robert Love <rml@tech9.net> 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.
-
Andrew Morton authored
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.
-
Andrew Morton authored
- 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.
-
Andrew Morton authored
Patch from: Hugh Dickins <hugh@veritas.com> Removes a ton of dead code from ll_rw_blk.c. I don't expect we'll be using this now.
-
Andrew Morton authored
Patch from Anton Blanchard <anton@samba.org> 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.
-
Andrew Morton authored
Patch from Zwane Mwaikambo <zwane@linuxpower.ca> 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
-
Matthew Wilcox authored
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
-
- 17 Mar, 2003 7 commits
-
-
Linus Torvalds authored
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/gregkh-2.5
-
Roland McGrath authored
This is a fix made almost a month ago, during the flurry of signal changes. I didn't realize until today that this hadn't made it into 2.5. Sorry about the delay. This fix is necessary to avoid sometimes wedging in uninterruptible sleep when doing a multithreaded core dump triggered by a process signal (kill) rather than a trap. You can reproduce the problem by running your favorite multithreaded program (NPTL) and then using "kill -SEGV" on it. It will often wedge. The actual fix could be just a two line diff: + if (current->signal->group_exit) + goto dequeue; after the group_exit_task check. That is the fix that has been used in Ingo's backport for weeks and tested heavily (well, as heavily as core dumping ever gets tested, but it's been in our production systems). But I broke the hair out into a separate function. The patch below has the same effect as the two-liner, and no other difference. I have tested 2.5.64 with this patch and it works for me, though I haven't beat on it. The way the wedge happens is that for a core-dump signal group_send_sig_info does a group stop of other threads before the one thread handles the fatal signal. If the fatal thread gets into do_coredump and coredump_wait first, then other threads see the group stop and suspend with SIGKILL pending. All other fatal cases clear group_stop_count, so this is the only way this ever happens. Checking group_exit fixes it. I didn't make do_coredump clear group_stop_count because doing it with the appropriate ordering and locking doesn't fit the organization that code.
-
Andries E. Brouwer authored
Mounting a non-affs filesystem as affs crashes the kernel. The reason is the sbi = kmalloc(sizeof(struct affs_sb_info), GFP_KERNEL); memset(sbi, 0, sizeof(*AFFS_SB)); where the second sizeof is 1, so that sbi is not zeroed at all. Also, avoid a warning for printk of sector_t in amigaffs.h.
-
Jens Axboe authored
-
Jens Axboe authored
Previously, we only honored barriers wrt merging. Really honor them now, move all pending requests to dispatch list and add the hard barrier at the back.
-
Kai Germaschewski authored
gen-asm-offsets, the most common user of the new filechk function, needs to be fed input from $< (the first prerequisite).
-
- 16 Mar, 2003 21 commits
-
-
bk://linuxusb@bkbits.net/linus-2.5Greg Kroah-Hartman authored
into kroah.com:/home/linux/linux/BK/gregkh-2.5
-
Andrew Morton authored
Patch from Adrian Bunk <bunk@fs.tum.de> It would be nice if everyone would try to compile the patched files before submitting patches...
-
Andrew Morton authored
raid0 doesn't have a thread, so md_wakeup_thread() derefs NULL. Neil may end up doing this differently, but meanwhile....
-
Andrew Morton authored
Patch from Roman Zippel <zippel@linux-m68k.org> - remove lock_kernel() (It was buggy too - there are at present two missing unlock_kernel()s) - fixes a bitmap corruption problem.
-
Andrew Morton authored
From latest -aa kernels.
-
Andrew Morton authored
Patch from: Suparna Bhattacharya <suparna@in.ibm.com> Just an obvious fix. The kiocbClearX macros were doing a set_bit ! They should be calling clear_bit. Ran into this now that I'm actually using kiocbClearKicked.
-
Andrew Morton authored
Patch from Alex Tomas <bzzz@tmi.comex.ru> There is a logic error in ext2_new_block(). If we manage to reserve some blocks in the final blockgroup, local variable `bit' will be equal to sbi->s_groups_count and we erroneously assume that the allocation failed. Fix that up by testing local variable `group_alloc' instead.
-
Andrew Morton authored
Patch from "Theodore Ts'o" <tytso@mit.edu> I recently noticed a bug in ext2/3; newly created inodes which inherit the noatime flag from their containing directory do not respect noatime until the inode is flushed from the inode cache and then re-read later. This is because the code which checks the ext2 no-atime attribute and then sets the S_NOATIME in inode->i_flags is present in ext2_read_inode(), but not in ext2_new_inode(). I fixed this in 2.4, and then found an even worse bug in the 2.5 code; the DIRSYNC flag is completely ignored *except* in the case where a directory is newly created using mkdir and its parent directory has the DIRSYNC flag. S_DIRSYNC doesn't get set in the ext2_new_inode() or the ext2_ioctl() paths (which is used by chattr). This patch centralizes the code which translates the ext2 flags in the raw ext2 inode to the appropriate flag values in inode->i_flags in a single location. This fixes the bug, makes things cleaner, and also removes 30 lines of code and 128 bytes of compiled x86 text in the bargain.
-
Andrew Morton authored
Patch from Oleg Drokin <green@linuxhacker.ru> There is a memleak in e100 driver from intel, both in 2.4 and 2.5 e100_ethtool_gstrings does not free "strings" variable if it cannot copy it to userspace.
-
Andrew Morton authored
Patch from Anders Gustafsson <andersg@0x63.nu> We're getting a division-by-zero in the writeback code during early rootfs population, because writeback has not yet been initialised. Fix that by performing an explicit initialisation rather than relying on initcall ordering.
-
Andrew Morton authored
Patch from Kevin Pedretti <pedretti@ieee.org> The previous fix for unmapping hugetlb regions could still produce incorrect alignments if the munmap request covers multiple VMA's. Fix it by always unmapped the entire hugepage VMA inside the inner loop.
-
Andrew Morton authored
Patch from "Randy.Dunlap" <rddunlap@osdl.org> Reverts the recent alteration of the format of the `mem=' option. This is because `mem=' is interpreted by bootloaders and may not be freely changed. Instead, the new functionality to set specific memory region usages is provided via the new "memmap=" option. The documentation for memmap= is added, and the documentation for mem= is updated.
-
Andrew Morton authored
The recent (untested?) "cleanup" removed a null-pointer test.
-
http://linux-isdn.bkbits.net/linux-2.5.makeLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Randy Dunlap authored
As requested by Andrew, this moves the hugetlbfs config option into the Pseudo filesystems section near tmpfs.
-
Greg Ungerer authored
Also fix some spelling.
-
Greg Ungerer authored
-
Greg Ungerer authored
-
bk://bk.arm.linux.org.uk:14691/linux-2.5-pci/Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Russell King authored
Patch from Ivan Kokshaysky This fixes long standing typo ('size' instead of 'r_size') which causes overestimate of the bridge memory ranges calculated in pbus_size_mem(). For example, if we have a device with one 1Mb and one 2Mb memory ranges behind the bridge, calculated size and alignment of the bridge memory window will be 4Mb and 2Mb respectively, while the correct values are 3Mb and 1Mb.
-
Russell King authored
-