- 21 Apr, 2002 1 commit
-
-
Anton Blanchard authored
into samba.org:/scratch/anton/linux-2.5_ppc64
-
- 18 Apr, 2002 27 commits
-
-
Anton Blanchard authored
into samba.org:/scratch/anton/linux-2.5_ppc64
-
Linus Torvalds authored
-
Erich Focht authored
I'm currently working on a node affine scheduler extension for NUMA machines and the load balancer behaves a bit different from the original. So after a few boot failures with those slowly booting 16 CPU IA64 machines I thought there must be a simpler solution than synchronizing and waiting for the load balancer: just let migration_CPU0 do what it is designed for. So my proposal is: - start all migration threads on CPU#0 - initialize migration_CPU0 (trivial, reliable, as it already is on the right CPU) - let all other migration threads use set_cpus_allowed() to get to the right place The only synchronization needed is the non-zero migration threads waiting for migration_CPU0 to start working, which it will, as it is already on the right CPU. This saves quite some lines of code. I first posted this to LKML on March 6th (BTW, the fix #1, too) and since then it was tested on several big NUMA platforms: 16 CPU NEC AzusA (IA64) (also known as HP rx....), up to 32 CPU SGI IA64, 16 CPU IBM NUMA-Q (IA32). No more lock-ups at boot since then. So I consider it working. There is another good reason for this approach: the integration of the CPU hotplug patch with the new scheduler becomes easier. One just needs to create the new migration thread, it will move itself to the right CPU without any additional magic (which you otherwise need because of the synchronizations which won't be there at hotplug). Kimi Suganuma in the neighboring cube is fiddling this out currently.
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Robert Love authored
Attached is a patch that disables interrupts while holding the rq_lock. This is certainly needed to prevent a race against the timer tick, as Erich Focht pointed out.
-
François Romieu authored
- line ending white spaces squadron strikes back; - some fscked tabs are fixed. Nice after longs coding sessions.
-
François Romieu authored
- just say no to +/-1 arithmetic when not needed; - pot-pourri of misc cleanup; - *new*: support of boot-time parameters
-
François Romieu authored
- CD/CTS change notification; - more DEBUG/if (debug >...) conversion;
-
François Romieu authored
- guess what ? Code removal.
-
François Romieu authored
- useless code/comment removal; - HOLD mode -> LxDA mode conversion.
-
François Romieu authored
- new functions for LxDA mode: dscc4_tx_done() and dscc4_tx_quiescent(); - dscc4_{rx/tx}_reset() should comply to errata sheet.
-
François Romieu authored
- dscc4_do_action() now looks like the others event waiting loops (may be called from interrupt context however); - dscc4_start_xmit(): cosmetic before LxDA changes + mb() parano; - dscc4_clock_setting(): only one return point, thanks; - dscc4_priv() invocation removed from dscc4_xxx_settings; - minor cleanups.
-
François Romieu authored
- code removal; - turn old cruft into definitely modern cruft.
-
François Romieu authored
- DEBUG_PARANOIA was bad. "if (debug > x) {" is nice; - state_check() now has only one return point; - try_get_rx_skb() cosmetic; - dscc4_rx_update() belongs to HOLD mode to LxDA changes; - dscc4_wait_ack_cec() behaves like dscc4_xpr_ack(); - dscc4_rx_skb() refill logic is ready for LxDA mode and does everything to fulfill what its name suggests. - document some errata voodoo in dscc4_init_one(); - dscc4_init_ring() should handle try_get_rx_skb() failure.
-
François Romieu authored
- dscc4_xpr_ack() busy waiting loop is modified so as to allow long delay without chewing too much cycles; - more errata sheet magic; - dscc4_set_clock() now has only one return point.
-
François Romieu authored
- space after "if"'s and "while"'s were missing here and there. Now it's easier to read after some hours in front of a computer.
-
François Romieu authored
- dscc4_patch_register() turns into scc_patchl() and should now avoid an hardware bug quoted in errata sheet; - dscc4_init_registers() interface changes as any caller doesn't really need to poke into dscc4_dev_priv internal; - scc_{writel/readl}() are added to access some buggy behaving registers; - {read/write}l conversion to the previous functions - dscc4_do_tx() sneaks, sorry. Belongs to HOLD -> LxDA changes.
-
François Romieu authored
- extra argument for dscc4_set_iface() (will be used in following patches).
-
François Romieu authored
- description update; - more #defines; - SCC_REG_START() change (shorter code); - some noise.
-
Martin J. Bligh authored
This trivial patch will apply to both 2.4.19-pre7 and 2.5.8 with just line offsets. It stops us from following a NULL pointer in classzone in the case where there is a pgdat without a fully populated zone list (ie a node with no ZONE_NORMAL on an ia32 NUMA machine). Without this patch, ia32 NUMA machines won't even boot - we dereference the classzone ptr a few lines further down (or try to ;-) ).
-
Linus Torvalds authored
-
Andrew Morton authored
The bug which Anton found. On the find_or_create_page->__find_lock_page path we're performing a read_unlock of an rwlock which is held for writing. The patch converts that to using a write_lock throughout. Which penalises find_lock_page() a bit. If it shows up on profiles then we can clone __find_lock_page() and use read_lock()s, but for now I'd opt for saving the cache footprint.
-
Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Linus Torvalds authored
-
Martin Dalecki authored
Synchronize with Jens Axobe: - Congruent ATA_AR_POOL fix to the ATA_AR_STATIC memmory corruption fix. - Multi sector write handling fix. - Fix drive capability deduction. - Various other minor fixes.
-
Martin Dalecki authored
- Fix typo in ide_cmd_ioctl(). - Fix typo in cris driver. - Don't retry operations on medium errors. (pointed out by Eric Andersen). - Attach the no_io_32bit, io_32bit, no_unmask, unmask and slow fields to the ata_channel instead of the ata_device structure. They are a property of the channel and not just the devices attached to it. This allowed us to fix the set_io_32bit function by removing the CONFIG_BLK_DEV_DTC2278 conditional. In fact initialization shows that this is fixing many other host chipsets as well since all of them did expect sometimes particular values for those parameters in paralell on both drives attached to a channel but we where allowed to apply different values on a per drive basis. - The keep_settings flag is now unconditional and we don't mess with any channel parameters before drive reset. Some chipsets really really expect unconditionally that the tweaks they apply are always present and this wasn't honoured thus far! We are expecting the user to have good reasons for manually tweaking the settings. - Don't reset io_32bit in ata_pre_reset() unconditionally. There are chipsets out there which expect io_32bit to be *allways* enabled! - Remove many obsolete and nawadays just confusing documentation from ide.txt
-
- 17 Apr, 2002 6 commits
-
-
Ingo Molnar authored
-
Ingo Molnar authored
-
Ingo Molnar authored
-
Anton Blanchard authored
-
Anton Blanchard authored
CCR field - from Dave Engebretsen
-
Linus Torvalds authored
-
- 16 Apr, 2002 6 commits
-
-
Anton Blanchard authored
pagecache changes.
-
Anton Blanchard authored
into samba.org:/scratch/anton/linux-2.5_ppc64
-
Ingo Molnar authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Dave Hansen authored
This patch has been floating inside IBM for a bit, but it appears that no one passed it back up to you, yet. I don't know who wrote it, but it applies to 2.5.8 and the ServeRAID driver works just fine with it applied. Without it, the driver fails to compile.
-