- 15 May, 2004 6 commits
-
-
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 34 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.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> Merge misc. 4xx core fixes and support for the new cascade scheme in the 440gx.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> Merge PPC4xx-specific OCP support for new OCP core.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> Merge PPC44x library support against new OCP.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> Merge Bubinga/405EP support against new OCP.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> New OCP infrastructure ported from 2.4 along with several enhancements. Updated patch with comments from hch and Valdis.
-
Andrew Morton authored
From: Matt Porter <mporter@kernel.crashing.org> Adds general Book E machine check exception support and PPC44x-specific machine check exception implementation.
-