1. 14 Mar, 2004 2 commits
    • Andrew Morton's avatar
      [PATCH] module unload deadlock fix · 3e4ea6c8
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From: Andrea Arcangeli <andrea@suse.de>
      
      We should drop module sem before calling mod->exit, for practical reasons:
      too many module exit functions oops or hang, resulting in a permenantly held
      module sem, which blocks all module ops including lsmod.
      3e4ea6c8
    • Andrew Morton's avatar
      [PATCH] DMA: Fill gaping hole in DMA API interfaces. · 66b99421
      Andrew Morton authored
      From: "David S. Miller" <davem@redhat.com>
      
      Currently, for an existing DMA mapping, there is a way to transfer buffer
      ownership back to the cpu, yet there is no way to give it back to the device
      again explicitly.  The latter really is needed on platforms where the PCI
      subsystem does not snoop the cpu caches, MIPS is one example.
      
      Many drivers were expecting the existing DMA sync interface to handle both
      directions, which was wrong.
      
      Now, with this change, we have explicit interfaces for DMA syncing to/from
      the device and the cpu.
      66b99421
  2. 13 Mar, 2004 8 commits
    • Andrew Morton's avatar
      [PATCH] Work around an AMD768MPX erratum · e214725f
      Andrew Morton authored
      From: Andi Kleen <ak@suse.de>
      
      This patch has been in the SuSE 2.4 kernel forever, but for some reason
      never made it mainline.
      
      It works around the infamous "only works stable when a mouse is plugged in"
      problem some AMD 768MPX Dual Athlon chipsets have.  The problem happens
      because the chipset can hang when PCI prefetch strides from a RAM page into
      the VGA text buffer.  When a PS2 mouse is plugged in the BIOS reserves a
      page before the VGA text buffer, which stops the prefetch early.
      
      This patch always reserves this page when the chipset could be AMD768MPX.
      This can be only done early in bootmem setup.  Because it's difficult to
      scan the PCI bus that early it just always reserves this page when the CPU
      is an Athlon.  Normally it should not make a difference because the BIOS
      will have reserved that page anyways when a PS/2 mouse is plugged in.
      e214725f
    • Andrew Morton's avatar
      [PATCH] md: allow assembling of partitioned arrays at boot time. · 00cf7097
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      kernel parameters:
      
         raid=partitionable
           will make all auto-detected md arrays partitionable
      
         md=d....
           will assemble an array as a partitionable array.
      00cf7097
    • Andrew Morton's avatar
      [PATCH] md: use "shedule_timeout()" instead of yield() · b0b191f3
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      Use "shedule_timeout()" instead of yield() as it seems to wait for less
      time.
      b0b191f3
    • Andrew Morton's avatar
      [PATCH] use wait_task_inactive() in kthread_bind() · abf1e853
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      Make it clear that the reason we do wait_task_inactive is because
      kthread_bind frobs with k->thread_info->cpu, which is only legal because
      the task is definitely not running.
      
      We can't use the normal migration thread code here, because it doesn't let
      us bind to cpus which are offline yet, and also because we use this to
      start the migration threads themselves.
      abf1e853
    • Andrew Morton's avatar
      [PATCH] further __KERNEL_SYSCALLS__ removal · d1dbcdee
      Andrew Morton authored
      From: Arnd Bergmann <arnd@arndb.de>
      
      Dave Jones already removed some of the useless __KERNEL_SYSCALLS__ defines
      in various files, this gets rid of almost all the others.  Replacing
      execve() is nontrivial, so I left those in for now.
      
      For all the other system calls that are currently used from inside the
      kernel, calling the sys_* function directly should always have an identical
      effect.
      d1dbcdee
    • Andrew Morton's avatar
      [PATCH] Manfred's patch to distribute boot allocations across nodes · 214b914e
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      Distribute boot time memory allocations across all nodes, from Manfred
      Spraul.
      
      We want to spread memory across nodes to avoid all allocations ending
      up on node 0.
      
      Spreading boot time allocations around also helps us to avoid node 0
      becoming the hot node.
      
      I took it for a spin:
      
      buddyinfo before:
      Node 7, 0    2    1    1    0    2    1    2    1    2    1    2    741
      Node 6, 0    0    0    2    0    2    1    1    2    2    2    2   1002
      Node 5, 0    0    0    2    0    2    1    2    1    2    2    2   2006
      Node 4, 0    0    0    2    0    2    1    2    1    2    2    2   2006
      Node 3, 0    0    0    2    0    2    1    2    1    2    2    2   2006
      Node 2, 0    0    0    2    0    2    1    2    1    2    2    2   2006
      Node 1, 0    0    0    2    0    2    1    1    2    2    2    2   1002
      Node 0, 0    0   38    7    0    1    1    1    0    0    0    0   1998
      
      buddyinfo after:
      Node 7, 0    1    0    1    1    1    1    0    0    0    1    2    738
      Node 6, 0    1    0    1    1    1    0    1    0    0    2    2   1002
      Node 5, 0    0    0    1    1    1    1    0    0    0    2    2   2006
      Node 4, 0    1    0    1    0    1    1    0    0    0    2    2   2006
      Node 3, 0    0    0    1    0    1    1    0    0    0    2    2   2005
      Node 2, 0    1    0    0    0    0    0    1    0    0    2    2   2006
      Node 1, 0    2    1    1    0    1    1    1    0    0    2    2   1002
      Node 0, 0   20   45    8    3    0    1    1    1    1    0    1   2004
      
      Change in free memory due to patch:
      
      Node 7 -54.08 MB
      Node 6  -6.33 MB
      Node 5  -6.09 MB
      Node 4  -6.14 MB
      Node 3 -22.15 MB
      Node 2  -6.05 MB
      Node 1  -6.12 MB
      Node 0 107.35 MB
      
      As you can see we gained over 100MB on node 0.
      214b914e
    • Andrew Morton's avatar
      [PATCH] Use 64-bit counters for scheduler stats · 0281d847
      Andrew Morton authored
      From: Kingsley Cheung <kingsley@aurema.com>
      
      A number of scheduler counters wrap around after 47 days.  The context-switch
      counter can wrap around after considerably less time.
      
      Convert them to 64-bit values.
      0281d847
    • Andrew Morton's avatar
      [PATCH] ppc64: fix NUMA compile with large cpumasks · baf129a1
      Andrew Morton authored
      From: Anton Blanchard <anton@samba.org>
      
      The recent NUMA changes fail to compile with large cpumasks, we need to use
      a temporary to get around the type checking.
      baf129a1
  3. 14 Mar, 2004 3 commits
    • Wim Van Sebroeck's avatar
      [WATCHDOG] v2.6.4 notifier_block-patches · 9e533ec6
      Wim Van Sebroeck authored
      Remove unnecessary initialization in notifier_block
      9e533ec6
    • Wim Van Sebroeck's avatar
      WATCHDOG] v2.6.4 wdt977-v0.03-patch · b52ce0ba
      Wim Van Sebroeck authored
      Version 0.03 of wdt977.c - Changes that were made are:
      * Extract the stop code in a seperate function (wdt977_stop)
      * Extract the start code in a seperate function (wdt977_start)
      * Rename kick_wdog to wdt977_keepalive for consistency
      * Extract the watchdog's status code to a seperate function (wdt977_get_status)
      * Change the way we deal with the watchdog timeout:
         Up till now we used timeoutM (in minutes) as the correct value and then
         calculated timeout as being timeoutM*60 or *timeoutM*120 (depending on
         wether or not we have the netwinder hardware bug).
      
         From now on timeout is the correct value and we calculate timeoutM out
         of it. Because of this we start with checking wether or not we have a
         correct timeout value (if not we reset it to the default value) and we
         automatically calculate timeoutM. Each time we change timeout with a
         correct timeout value, we recalculate timeoutM.
      * Extended ioctl code with WDIOC_SETOPTIONS and updated the watchdog_info structure
      * Added notifier support
      
      Code has been tested by Woody
      b52ce0ba
    • Wim Van Sebroeck's avatar
      [WATCHDOG] v2.6.4 pcwd_pci-v1.00_20040313-patch · 591095cb
      Wim Van Sebroeck authored
      Two small fixes:
      * Make cards_found a global variable so that if we remove the
        pci device we can count down.
      * If we can't find a correct I/O address for the card, then we
      should disable the card again.
      591095cb
  4. 13 Mar, 2004 2 commits
  5. 12 Mar, 2004 25 commits