1. 19 Apr, 2002 1 commit
  2. 18 Apr, 2002 26 commits
    • Linus Torvalds's avatar
      3980957c
    • Erich Focht's avatar
      [PATCH] more migration thread cleanups · b85f47ad
      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.
      b85f47ad
    • Linus Torvalds's avatar
    • Linus Torvalds's avatar
    • Robert Love's avatar
      [PATCH] migration thread fix · 5cfceb83
      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.
      5cfceb83
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 13/13 · 4675eab8
      François Romieu authored
      - line ending white spaces squadron strikes back;
      - some fscked tabs are fixed. Nice           after longs        coding sessions.
      4675eab8
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 12/13 · ca5589cd
      François Romieu authored
      - just say no to +/-1 arithmetic when not needed;
      - pot-pourri of misc cleanup;
      - *new*: support of boot-time parameters
      ca5589cd
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 11/13 · bb42d290
      François Romieu authored
      - CD/CTS change notification;
      - more DEBUG/if (debug >...) conversion;
      bb42d290
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 10/13 · cc39e9ff
      François Romieu authored
      - guess what ? Code removal.
      cc39e9ff
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 9/13 · c10f3a39
      François Romieu authored
      - useless code/comment removal;
      - HOLD mode -> LxDA mode conversion.
      c10f3a39
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 8/13 · 8bc9f530
      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.
      8bc9f530
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 7/13 · 468c1a4a
      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.
      468c1a4a
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 6/13 · 757ea6b3
      François Romieu authored
      - code removal;
      - turn old cruft into definitely modern cruft.
      757ea6b3
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 5/13 · d55a1d35
      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.
      d55a1d35
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 4/13 · aefad917
      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.
      aefad917
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 3/13 · 3f32c8a9
      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.
      3f32c8a9
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 2/13 · 5884f98b
      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.
      5884f98b
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 1/13 · 279b570d
      François Romieu authored
      - extra argument for dscc4_set_iface() (will be used in following patches).
      279b570d
    • François Romieu's avatar
      [PATCH] 2.4.8 - dscc4 update 0/13 · 126dbe74
      François Romieu authored
      - description update;
      - more #defines;
      - SCC_REG_START() change (shorter code);
      - some noise.
      126dbe74
    • Martin J. Bligh's avatar
      [PATCH] stop NULL pointer dereference in __alloc_pages · 0cf094f4
      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 ;-) ).
      0cf094f4
    • Linus Torvalds's avatar
      392fe36b
    • Andrew Morton's avatar
      [PATCH] pagecache locking bugfix · cff6ab5e
      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.
      cff6ab5e
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/mingo/BK/linux-2.5 · 0d9bef55
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      0d9bef55
    • Linus Torvalds's avatar
      Add missing include for "memset()". · 1a495cba
      Linus Torvalds authored
      1a495cba
    • Martin Dalecki's avatar
      [PATCH] 2.5.8 IDE 39 · d8bffa93
      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.
      d8bffa93
    • Martin Dalecki's avatar
      [PATCH] 2.5.8 IDE 38 · 43c1ab59
      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
      43c1ab59
  3. 17 Apr, 2002 4 commits
  4. 16 Apr, 2002 9 commits