1. 21 12月, 2011 1 次提交
    • D
      cpusets: stall when updating mems_allowed for mempolicy or disjoint nodemask · b246272e
      David Rientjes 提交于
      Kernels where MAX_NUMNODES > BITS_PER_LONG may temporarily see an empty
      nodemask in a tsk's mempolicy if its previous nodemask is remapped onto a
      new set of allowed cpuset nodes where the two nodemasks, as a result of
      the remap, are now disjoint.
      
      c0ff7453 ("cpuset,mm: fix no node to alloc memory when changing
      cpuset's mems") adds get_mems_allowed() to prevent the set of allowed
      nodes from changing for a thread.  This causes any update to a set of
      allowed nodes to stall until put_mems_allowed() is called.
      
      This stall is unncessary, however, if at least one node remains unchanged
      in the update to the set of allowed nodes.  This was addressed by
      89e8a244 ("cpusets: avoid looping when storing to mems_allowed if one
      node remains set"), but it's still possible that an empty nodemask may be
      read from a mempolicy because the old nodemask may be remapped to the new
      nodemask during rebind.  To prevent this, only avoid the stall if there is
      no mempolicy for the thread being changed.
      
      This is a temporary solution until all reads from mempolicy nodemasks can
      be guaranteed to not be empty without the get_mems_allowed()
      synchronization.
      
      Also moves the check for nodemask intersection inside task_lock() so that
      tsk->mems_allowed cannot change.  This ensures that nothing can set this
      tsk's mems_allowed out from under us and also protects tsk->mempolicy.
      Reported-by: NMiao Xie <miaox@cn.fujitsu.com>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Paul Menage <paul@paulmenage.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b246272e
  2. 20 12月, 2011 6 次提交
  3. 19 12月, 2011 3 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · 390f9985
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (22 commits)
        [SCSI] fcoe: fix fcoe in a DCB environment by adding DCB notifiers to set skb priority
        [SCSI] bnx2i: Fixed kernel panic caused by unprotected task->sc->request deref
        [SCSI] qla4xxx: check for failed conn setup
        [SCSI] qla4xxx: a small loop fix
        [SCSI] qla4xxx: fix flash/ddb support
        [SCSI] zfcp: return early from slave_destroy if slave_alloc returned early
        [SCSI] fcoe: Fix preempt count leak in fcoe_filter_frames()
        [SCSI] qla2xxx: Update version number to 8.03.07.12-k.
        [SCSI] qla2xxx: Submit all chained IOCBs for passthrough commands on request queue 0.
        [SCSI] qla2xxx: Correct fc_host port_state display.
        [SCSI] qla2xxx: Disable generating pause frames when firmware hang detected for ISP82xx.
        [SCSI] qla2xxx: Clear mailbox busy flag during premature mailbox completion for ISP82xx.
        [SCSI] qla2xxx: Encapsulate prematurely completing mailbox commands during ISP82xx firmware hang.
        [SCSI] qla2xxx: Display IPE error message for ISP82xx.
        [SCSI] qla2xxx: Return the correct value for a mailbox command if 82xx is in reset recovery.
        [SCSI] qla2xxx: Enable Minidump by default with default capture mask 0x1f.
        [SCSI] qla2xxx: Stop unconditional completion of mailbox commands issued in interrupt mode during firmware hang.
        [SCSI] qla2xxx: Revert back the request queue mapping to request queue 0.
        [SCSI] qla2xxx: Don't call alloc_fw_dump for ISP82XX.
        [SCSI] qla2xxx: Check for SCSI status on underruns.
        ...
      390f9985
    • L
      Merge branch 'for-linus/i2c-32-rc6' of git://git.fluff.org/bjdooks/linux · e34d6b4b
      Linus Torvalds 提交于
      * 'for-linus/i2c-32-rc6' of git://git.fluff.org/bjdooks/linux:
        i2c-eg20t: correct the driver init order of pch_i2c_probe()
        I2C: OMAP: fix FIFO usage for OMAP4
        i2c-s3c2410: Fix return code of s3c24xx_i2c_parse_dt_gpio
        i2c: i2c-s3c2410: Add a cpu_relax() to busy wait for bus idle
      e34d6b4b
    • Y
      pci: Fix hotplug of Express Module with pci bridges · 497f16f2
      Yinghai Lu 提交于
      I noticed that hotplug of one setup does not work with recent change in
      pci tree.
      
      After checking the bridge conf setup, I noticed that the bridges get
      assigned but do not get enabled.
      
      The reason is the following commit, while simply ignores bridge
      resources when enabling a pci device:
      
      | commit bbef98ab
      | Author: Ram Pai <linuxram@us.ibm.com>
      | Date:   Sun Nov 6 10:33:10 2011 +0800
      |
      |    PCI: defer enablement of SRIOV BARS
      |...
      |    NOTE: Note, there is subtle change in the pci_enable_device() API.  Any
      |    driver that depends on SRIOV BARS to be enabled in pci_enable_device()
      |    can fail.
      
      Put back bridge resource and ROM resource checking to fix the problem.
      
      That should fix regression like BIOS does not assign correct resource to
      bridge.
      
      Discussion can be found at:
      	http://www.spinics.net/lists/linux-pci/msg12874.htmlSigned-off-by: NYinghai Lu <yinghai@kernel.org>
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      497f16f2
  4. 18 12月, 2011 6 次提交
  5. 17 12月, 2011 21 次提交
  6. 16 12月, 2011 3 次提交