- 27 Aug, 2004 21 commits
-
-
Jeff Mahoney authored
I saw a recent bug report that showed when a process set up a dnotify against the autofs root and then attempted an access(2) call inside the autofs namespace on a mount that would fail, it would create a signal/restart loop. The cause is that the autofs code checks to see if any signals are pending after it waits on a response from the autofs daemon. If it finds any, it assumes that autofs_wait was interrupted, and that it should return -ERESTARTNOINTR. The problem with this is that a signal_pending(current) check will return true if *any* signals were received, not just if a signal that interrupted the wait was received. autofs_wait explicitly blocks all signals except for SIGKILL, SIGQUIT, and SIGINT before calling interruptible_sleep_on. The effect is that if a dnotify is set against the autofs root, when the autofs daemon creates the directory, a dnotify event will be sent to the originating process. Since the code in autofs_root_lookup doesn't check to see what signals are actually pending, it bails early, telling the caller to try again. The loop goes on forever until interrupted via one of the actual interrupting signals. The following patch makes both autofs_root_lookup and autofs4_root_lookup verify that one of its defined "shutdown" signals are pending before bailing out early. Any other signal should be delivered later, as expected. It doesn't matter if the signal occured outside of the sleep in autofs_wait. The calling process will either go away or try again. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hugh Dickins authored
tmpfs must use __copy_from_user_inatomic now, to avoid might_sleep warning, when knowingly using __copy_from_user with an atomic kmap. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Ingo Molnar authored
Add a whole bunch more might_sleep() checks. We also enable might_sleep() checking in copy_*_user(). This was non-trivial because of the "copy_*_user() in atomic regions" trick would generate false positives. Fix that up by adding a new __copy_*_user_inatomic(), which avoids the might_sleep() check. Only i386 is supported in this patch. With: Arjan van de Ven <arjanv@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
David Gibson authored
After the recent SLB and STAB cleanups, the ppc64 KERNEL_CONTEXT() macro is no longer used anywhere. This patch removes it. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kumar Gala authored
Refefactor common Book-E exception handling macros into a single file to reduce code duplication. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
Reduce the size of struct inode on 64bit architectures by reducing padding. This assumes spinlocks are 32bit or less which is the case on most architectures. This reduces inode structs by 24 bytes on ppc64, and on ext2 increases the number of inodes in a 4kB slab from 5 to 6. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
The megaraid driver is calling these, but they don't exist if !CONFIG_COMPAT. Add the necessary stubs, and clean a few things up. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
From: Anton Blanchard <anton@samba.org> - Remove iseries specific profiling, there were no complaints when I suggested removal on the linuxppc64 list a few weeks ago. - Also remove another instance of that pesky abs() function. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
Convert prof_buffer to an array of atomic_t instead of sometimes atomic_t, sometimes unsigned int. Also, bootmem rounds up internally, so blow away some crap code there. Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
Make the various bits of state no longer used anywhere else static to kernel/profile.c Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
proc_misc.c is a trainwreck. Move the file_operations for /proc/profile into kernel/profile.c and call the profiling setup via initcall. Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
With prof_cpu_mask and profile_pc() in hand, the core is now able to perform all the profile accounting work on behalf of arches. Consolidate the profile accounting and convert all arches to call the core function. Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
The program counter calculation from pt_regs is the only portion of profile accounting that differs across various architectures. This is usually instruction_pointer(regs), but to handle the few arches where it isn't, introduce profile_pc(). Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
Handling of prof_cpu_mask is grossly inconsistent. Some arches have it as a cpumask_t, others unsigned long, and even within arches it's treated inconsistently. This makes it cpumask_t across the board, and consolidates the handling in kernel/profile.c Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Arjan van de Ven authored
From: William Lee Irwin III <wli@holomorphy.com> The patch (from Ingo) below is quite interesting, it allows the use of readprofile not for statistical tine sampling, but for seeing where calls to schedule() come from, so it can give some insight to the "where do my context switches come from" question. Boot with `profile=schedul2' to activate this feature. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Rusty Russell authored
release_task can sleep. Sleeping allows a CPU to go down underneath you. release_task removes you from the tasklist, so you don't get migrated off the CPU: BUG() in sched.c. In last week's episode, our dashing hero (Ingo Molnar) solved this for self-reaping tasks by grabbing the hotplug cpu lock to prevent this. However, in an unexpected twist, the problem remains for tasks whose parents call release_task on them: the zombies are off the task list, and lurk on the dead CPU. Fortunately, the comedic sidekick (Rusty Russell) has an answer: let's make the hotplug callback walk the runqueue of the dead CPU as well, taking care of the zombies. 1) Restore exit.c to its former form. The comment is incorrect: sched.c checks PF_DEAD, not the state, to decide to do the final put_task_struct(), and it does it for all tasks, self-reaping or no. 2) Implement migrate_dead_tasks() in the sched.c hotplug CPU callback. 3) Rename migrate_all_tasks() to migrate_live_tasks(). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Rusty Russell authored
A followup patch wants to do forced migration, so separate that part of the code out of migrate_all_tasks(). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Neil Brown authored
md currently uses csum_partial to calculate checksums for superblocks. However this function is not consistent across all architectures. Some (i386) to a 32bit csum. Some (alpha) do a 16 bit csum. This makes it hard for userspace to keep up. So we provide a generic routine (that does exactly what the i386 csum_partial does) and: - When setting the csum, use csum_partial so that old kernels will still recognise the superblock - When checking the csum, allow either csum_partial or the new generic code to provide the right csum. This allows user-space to just use the common code and always work. Also modify the csum for version-1 superblock (which currently aren't being used) to always user a predictable checksum algorithm. Thanks to Mike Tran <mhtran@us.ibm.com> for noticing this. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jesse Barnes authored
In porting the sn_console driver to the serial core, we lost sysrq support. This patch fixes it and removes a few unncessary #ifdefs. Can you please send it on to Linus asap? sysrq is a *really* nice thing to have. Signed-off-by: Jesse Barnes <jbarnes@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jesse Barnes authored
Dave Hansen recently did some bootmem and paging init cleanups, but I missed this little bit when I tested his original patches. We need to initialize pgdat->node_mem_map correctly since a) we're using vmem_map, and b) the core won't do it for us since we have a valid node_start_pfn I believe. Signed-off-by: Jesse Barnes <jbarnes@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Neil Brown authored
This avoids lots of bothersome memory management and is generally cleaner. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 26 Aug, 2004 19 commits
-
-
bk://kernel.bkbits.net/davem/net-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/net-2.6
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/sparc-2.6
-
David S. Miller authored
Render left to right instead of top to bottom. This shaved a whole second off the: time cat MAINTAINERS benchmark. Signed-off-by: David S. Miller <davem@redhat.com>
-
David S. Miller authored
- copyarea checking of src/dst y being equal was buggy. - set optimal FBINFO flags for this device. Signed-off-by: David S. Miller <davem@redhat.com>
-
David S. Miller authored
-
bk://kernel.bkbits.net/gregkh/linux/usb-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
http://lia64.bkbits.net/linux-ia64-release-2.6.9Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/usb-2.6
-
Sam Ravnborg authored
Rusty decided to preprocess a *.lds.S file in parallele with the new *.lds infrastructure being added to kbuild. Fix that up. Also added the file to targets so we do not see recompile each time the kernel is build. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-
Sam Ravnborg authored
A bug that slipped through when introducing Makefile.host. A good way to check if people actually uses make O= ;-) Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-
David Brownell authored
Gadgetfs updates: - Resolve a problem that came from a change in the API to AIO: kiocb->private type and size changed, but the name remained the same ... so GCC wouldn't report pending memory-corruption. - Probe the controller at runtime, eliminatingting config-specific defines which need to be updated for each new controller. Rip out the old #defines. - Use newish APIs to let VBUS current be used to recharge batteries (or whatever). - Use no_llseek() ... endpoints are pure data streams. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Oliver Neukum authored
Fix tty layer sleep/locking problem (again) ... when this is called through the network stack (PPP) sleeping isn't allowed. There's some bugtraq ID for this. From: Oliver Neukum <oliver@neukum.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David S. Miller authored
Higher layers call set_mctrl if necessary. Signed-off-by: David S. Miller <davem@redhat.com>
-
bk://bk.arm.linux.org.uk/linux-2.6-rmkLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Russell King authored
Patch from: Linus Torvalds Update ARM signal handling for Andrew's series of fixes.
-
David S. Miller authored
-
David S. Miller authored
Signed-off-by: David S. Miller <davem@redhat.com>
-
Stephen Hemminger authored
This patch gets rid of the tcp_default_win_scale sysctl and instead computes the optimum maximum window scale. It just means one less thing to have to tune. I also moved the code out of the inline because it gets called three places and isn't in the critical path. As a side effect, it will cause a smaller window scale for many people since the default tcp_rmem fits in a win_scale of 2. This is allows for finer grain windows (good), but may mask some of the problems with bad implementations we have already seen (bad). Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@redhat.com>
-