1. 29 7月, 2006 1 次提交
    • O
      [POWERPC] force 64bit mode in fwnmi handlers to workaround firmware bugs · 9fc0a92c
      Olaf Hering 提交于
      The firmware of POWER4 and JS20 systems does not switch the cpu to 64bit
      mode when the registered system_reset and machine_check handlers get called.
      If a 32bit process runs on that cpu at the time of the event, the cpu
      remains in 32bit mode. xmon and kdump can not deal with it, the result is
      an error like 'Bad kernel stack pointer fff2aad0 at 3200'.
      xmon just loses some register info, but booting the kdump kernel usually fails.
      
      Both handlers are not hot paths.  Duplicate the EXCEPTION_PROLOG_PSERIES macro
      and add two instructions to switch to 64bit:
      
       li     r11,5;
       rldimi r10,r11,61,0;
      Signed-off-by: NOlaf Hering <olh@suse.de>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      9fc0a92c
  2. 28 7月, 2006 5 次提交
  3. 25 7月, 2006 26 次提交
  4. 24 7月, 2006 6 次提交
    • D
      IB/mthca: Fix SRQ limit event range check · 1252c517
      Dotan Barak 提交于
      Mem-free HCAs always keep one spare SRQ WQE, so the SRQ limit cannot
      be set beyond srq->max - 1.
      Signed-off-by: NDotan Barak <dotanb@mellanox.co.il>
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1252c517
    • R
      IB/uverbs: Fix lockdep warnings · 43db2bc0
      Roland Dreier 提交于
      Lockdep warns because uverbs is trying to take uobj->mutex when it
      already holds that lock.  This is because there are really multiple
      types of uobjs even though all of their locks are initialized in
      common code.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      43db2bc0
    • M
      IB/uverbs: Fix unlocking in error paths · ec924b47
      Michael S. Tsirkin 提交于
      ib_uverbs_create_ah() and ib_uverbs_create_srq() did not release the
      PD's read lock in their error paths, which lead to deadlock when
      destroying the PD.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      ec924b47
    • P
      [PATCH] Cpuset: fix ABBA deadlock with cpu hotplug lock · abb5a5cc
      Paul Jackson 提交于
      Fix ABBA deadlock between lock_cpu_hotplug() and the cpuset
      callback_mutex lock.
      
      It only happens on cpu_exclusive cpusets, due to the dynamic
      sched domain code trying to take the cpu hotplug lock inside
      the cpuset callback_mutex lock.
      
      This bug has apparently been here for several months, but didn't
      get hit until the right customer load on a large system.
      
      This fix appears right from inspection, but it will take a few
      more days running it on that customers workload to be confident
      we nailed it.  We don't have any other reproducible test case.
      
      The cpu_hotplug_lock() tends to cover large runs of code.
      The other places that hold both that lock and the cpuset callback
      mutex lock always nest the cpuset lock inside the hotplug lock.
      This place tries to do the reverse, risking an ABBA deadlock.
      
      This is in the cpuset_rmdir() code, where we:
        * take the callback_mutex lock
        * mark the cpuset CS_REMOVED
        * call update_cpu_domains for cpu_exclusive cpusets
        * in that call, take the cpu_hotplug lock if the
          cpuset is marked for removal.
      
      Thanks to Jack Steiner for identifying this deadlock.
      
      The fix is to tear down the dynamic sched domain before we grab
      the cpuset callback_mutex lock.  This way, the two locks are
      serialized, with the hotplug lock taken and released before
      trying for the cpuset lock.
      
      I suspect that this bug was introduced when I changed the
      cpuset locking from one lock to two.  The dynamic sched domain
      dependency on cpu_exclusive cpusets and its hotplug hooks were
      added to this code earlier, when cpusets had only a single lock.
      It may well have been fine then.
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      abb5a5cc
    • L
      cpu hotplug: simplify and hopefully fix locking · aa953877
      Linus Torvalds 提交于
      The CPU hotplug locking was quite messy, with a recursive lock to
      handle the fact that both the actual up/down sequence wanted to
      protect itself from being re-entered, but the callbacks that it
      called also tended to want to protect themselves from CPU events.
      
      This splits the lock into two (one to serialize the whole hotplug
      sequence, the other to protect against the CPU present bitmaps
      changing). The latter still allows recursive usage because some
      subsystems (ondemand policy for cpufreq at least) had already gotten
      too used to the lax locking, but the locking mistakes are hopefully
      now less fundamental, and we now warn about recursive lock usage
      when we see it, in the hope that it can be fixed.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      aa953877
    • L
      [cpufreq] ondemand: make shutdown sequence more robust · 2cd7cbdf
      Linus Torvalds 提交于
      Shutting down the ondemand policy was fraught with potential
      problems, causing issues for SMP suspend (which wants to hot-
      unplug) all but the last CPU.
      
      This should fix at least the worst problems (divide-by-zero
      and infinite wait for the workqueue to shut down).
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      2cd7cbdf
  5. 22 7月, 2006 2 次提交
    • L
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · 12157a8d
      Linus Torvalds 提交于
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
        [TIPC]: Removing useless casts
        [IPV4]: Fix nexthop realm dumping for multipath routes
        [DUMMY]: Avoid an oops when dummy_init_one() failed
        [IFB] After ifb_init_one() failed, i is increased. Decrease
        [NET]: Fix reversed error test in netif_tx_trylock
        [MAINTAINERS]: Mark LAPB as Oprhan.
        [NET]: Conversions from kmalloc+memset to k(z|c)alloc.
        [NET]: sun happymeal, little pci cleanup
        [IrDA]: Use alloc_skb() in IrDA TX path
        [I/OAT]: Remove pci_module_init() from Intel I/OAT DMA engine
        [I/OAT]: net/core/user_dma.c should #include <net/netdma.h>
        [SCTP]: ADDIP: Don't use an address as source until it is ASCONF-ACKed
        [SCTP]: Set chunk->data_accepted only if we are going to accept it.
        [SCTP]: Verify all the paths to a peer via heartbeat before using them.
        [SCTP]: Unhash the endpoint in sctp_endpoint_free().
        [SCTP]: Check for NULL arg to sctp_bucket_destroy().
        [PKT_SCHED] netem: Fix slab corruption with netem (2nd try)
        [WAN]: Converted synclink drivers to use netif_carrier_*()
        [WAN]: Cosmetic changes to N2 and C101 drivers
        [WAN]: Added missing netif_dormant_off() to generic HDLC
        ...
      12157a8d
    • P
      [TIPC]: Removing useless casts · 9df3f3d2
      Panagiotis Issaris 提交于
      Removing useless casts
      Signed-off-by: NPanagiotis Issaris <takis@issaris.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9df3f3d2