- 15 May, 2004 12 commits
-
-
Andrew Morton authored
From: Ian Kent <raven@themaw.net> This patch is the result of an e-mail discussion with Soni Maneesh. He felt that the use of reference counts in the expire module is unreliable (in the presence of rcu) and suggested it should use standard VFS calls where possible. This has been done. Once the boundary in autofs is reached we have no choice but to resort using reference counts (but under the vfsmount_lock). After review by hch: - renamed autofs4_may_umount to __may_umount_tree, made it static and moved it to namespace.c. - added stub function may_umount_tree with description - altered may_umount to use above stub function and added little description - added may_umount_tree prototype to fs.h - removed the EXPORT_SYMBOL for vfsmount_lock - updated expire.c to suit
-
Andrew Morton authored
From: Ian Kent <raven@themaw.net> Remove BKL from autofs4 module and add spinlock to serialise access to the automount daemon communication waitq. Locking requirements are different in 2.6 and so I'm seeking comments and suggestions on this. I have taken a rather heavy handed approach to this in the patch. For example, the VFS operations that directly change the filesystem, such as autofs4_mkdir etc, hold the inode semaphore on entry so the BKL has been removed. I can't see why two locking mechanisms are needed. Rather than add locking all over the place, I'm looking for justification it's needed, as I don't see it myself.
-
Andrew Morton authored
From: Ian Kent <raven@themaw.net> - Correct text in DPRINTK messages and comments, a little reformating and correct URL location for autofs v4 in Kconfig message. - Fix error-path memory leak in autofs4_fill_super()
-
Andrew Morton authored
From: Ian Kent <raven@themaw.net> From: Jeff Mahoney <jeffm@suse.com> 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.
-
Andrew Morton authored
From: Dave Jones <davej@redhat.com> To catch accidental usage of floating point. Has been in -mm for ages.
-
Andrew Morton authored
From: Nick Piggin <nickpiggin@yahoo.com.au> From: Suresh Siddha <suresh.b.siddha@intel.com> Node max rebalance interval is too large. It is currently dependent on number of online cpus. For 16 cpu system, max node balance interval in busy case is 32 seconds. Agreed that it will use max 32 seconds only when it doesn't find imbalance for a long time. But this will lead to slow response time in cases where load runs for a second with no imbalance and suddently creates an imbalance. My patch makes the busy max node rebalance interval equal to the base [scheduler].
-
Andrew Morton authored
From: Nick Piggin <nickpiggin@yahoo.com.au> Analysis and basic idea from Suresh Siddha <suresh.b.siddha@intel.com> "This small change in load_balance() brings the performance back upto base scheduler(infact I see a ~1.5% performance improvement now). Basically this fix removes the unnecessary double_lock.." Workload is SpecJBB on 16-way Altix.
-
Andrew Morton authored
From: Nick Piggin <nickpiggin@yahoo.com.au> Fine-tune the unsynched sched_clock handling. Basically, you need to be careful about ensuring timestamps get correctly adjusted when moving CPUs, and you *can't* look at your unadjusted sched_clock() and a remote task's ->timestamp and try to come up with anything meaningful. I think this second problem will really hit hard in the activate_task path on systems with unsynched sched_clock when you're waking up a remote task, which happens very often. Andi, I thought some Opterons have unsynched tscs? Maybe this is causing your unexplained bad interactivity? Another problem is a fixup in pull_task. When adjusting ->timestamp from one processor to another, you must use timestamp_last_tick for the local processor too. Using sched_clock() will cause ->timestamp to creep forward. A final small fix is for sync wakeups. They were using __activate_task for some reason, thus they don't get credited for sleeping at all AFAIKS. And another thing, do we want to #ifdef timestamp_last_tick so it doesn't show on UP?
-
Andrew Morton authored
From: Nick Piggin <nickpiggin@yahoo.com.au> "Siddha, Suresh B" <suresh.b.siddha@intel.com> noticed a problem in the cpu_load averaging where the integer truncation could sometimes cause cpu_load to never quite reach its target. I'm not sure that you could demonstrate a real world problem, but I quite like this fix.
-
Andrew Morton authored
Fix bug identified by Chris Mason. If writeback_inodes is left holding a ref on the superblock's last inode then the superblock list walk can race with umount and the superblock can be released. Take and put a ref against the superblock to fix that.
-
Andrew Morton authored
From: Adam Litke <agl@us.ibm.com> Teach the x86 stack tracing code to use frame pointers, if they are available. It eliminates all the false-positives in the normal stack traces. This is a big improvement, and -fomit-frame-pointer seems to make no difference at all to generated code size. Maybe we should kill off -fomit-frame-pointer.
-
Shai Fultheim authored
This fixes a problem with multiple IDE controllers in a system. The problem is that pcibios_fixups table (in arch/i386/pci/fixup.c) uses the pci_fixup_ide_trash() quirk for Intel's ICH3 (my case specifically 8086:248b). This clears any bogus BAR information set up by the BIOS. In a system which has multiple ICH3's can't use any of the IDE controllers beside the one on the first ICH3. Anyhow, the fix is to make sure pci_fixup_ide_trash resets the BARs only for first time being called, so the subsequent IDE controllers will use the BIOS BARs. This is better than "loosing" all these IDE controllers in the case their BARs set right. The issue discussed and agreed with Bartlomiej Zolnierkiewicz (see below).
-
- 14 May, 2004 28 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
This avoids warnings about unused variables.
-
bk://kernel.bkbits.net/jgarzik/i810-audio-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jeff Garzik authored
-
Jeff Garzik authored
into redhat.com:/spare/repo/i810-audio-2.6
-
bk://kernel.bkbits.net/davem/net-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Anton Altaparmakov authored
x86_64 has an incorrect ffs() implementation. The asm uses "g" instead of "rm" for the bsfl instruction. (This was spotted by Yuri Per.) bsfl does not accept constant values but only memory or register ones. On i386 the correct "rm" is used. This causes NTFS build to fail as gcc optimizes a variable into a constant and ffs() then fails to assemble.
-
http://linux-ntfs.bkbits.net/ntfs-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Anton Altaparmakov authored
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/net-2.6
-
Karsten Keil authored
this trivial fix makes the AVM B1 PCMCIA cards work with 2.6
-
Santiago Leon authored
This adds links to the driver and device inside /sys/class/net/ethX for PowerPC Virtual Ethernet devices.
-
Santiago Leon authored
This fixes a bug where different partitions were assigned the same MAC address. Also, according to Anton, gcc 3.5 didn't like our mac_addr_p gymnastics, so this ends up fixing that as well.
-
Anton Altaparmakov authored
-
Benjamin Herrenschmidt authored
This patch fixes SMP boot on Apple Xserve G5
-
Andrew Morton authored
From: Stephen Rothwell <sfr@canb.auug.org.au> It is possible to attach a virtual disk to a logical partition on an iSeries machine so that it is read only to the partition. This patch allows Linux to use such virtual disks.
-
Andrew Morton authored
From: Paul Mackerras <paulus@samba.org> After I sent the recent patch to include/asm-ppc64/io.h which put stronger barriers in the I/O accessor macros, Paul McKenney pointed out to me that a writex/outx could still slide out from inside a spinlocked region. This patch makes the barriers a bit stronger so that this can't happen. It means that we need to use a sync instruction for wmb (a full "heavyweight" sync), since drivers rely on wmb for ordering between writes to system memory and writes to a device. I have left smb_wmb() as a lighter-weight barrier that orders stores, and doesn't impose an ordering between cacheable and non-cacheable accesses (the amusingly-named eieio instruction). I am assuming here that smp_wmb is only used for ordering stores to system memory so that another cpu will see them in order. It can't be used for enforcing any ordering that a device will see, because it is just a gcc barrier on UP. This also changes the spinlock/rwlock unlock code to use lwsync ("light-weight sync") rather than eieio, since eieio doesn't order loads, and we need to ensure that loads stay inside the spinlocked region.
-
Andrew Morton authored
From: Paul Mackerras <paulus@samba.org> When I sent the patch to uninline the spinlocks, I inadvertently left out the change to arch/ppc64/Kconfig which defines the config symbol for inlining the locks (CONFIG_SPINLINE now). This patch adds it. It also adds a symbol CONFIG_PPC_SPLPAR which enables the code for calling the hypervisor on shared-processor logically-partitioned system to yield the physical processor to the lock holder when spinning. (The code that depends on this symbol is already present in arch/ppc64/lib/locks.c.)
-
Andrew Morton authored
From: Anton Blanchard <anton@samba.org> It turns out we do avoid irq recursion on iseries so remove the workaround.
-
Andrew Morton authored
From: Anton Blanchard <anton@samba.org> We check nvram_fetch/nvram_store against -1, so better not make these unsigned.
-
Andrew Morton authored
From: Anton Blanchard <anton@samba.org> Based on feedback from the hardware guys align jiffies and tb_last_stamp. We update both regularly and there are other read only, heavily accessed things that share those cachelines.
-
Andrew Morton authored
From: Anton Blanchard <anton@samba.org> We need to set MSR_RI in iseries exception prolog.
-
Andrew Morton authored
From: Anton Blanchard <anton@samba.org> We were allocating radix tree nodes in the interrupt code with GFP_KERNEL under a spinlock. Change it to GFP_ATOMIC.
-
Andrew Morton authored
From: Paul Mackerras <paulus@samba.org> The patch below moves some declarations from C files into the appropriate header file in include/asm-ppc (and removes an unused local variable in a function).
-
Andrew Morton authored
From: Paul Mackerras <paulus@samba.org> Matt Porter's recent changes broke the compile for non-4xx ppc32 systems, unfortunately. I get an error that mfdcr is not defined in include/asm-ppc/ocp.h when compiling for powermac (reasonable, since the mfdcr instruction only exists on 4xx processors). The patch below fixes it.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> Merge all current PPC44x ports against new OCP.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> Merge all current PPC40x ports against new OCP.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> Update all current 4xx defconfigs for new OCP.
-