1. 03 6月, 2007 3 次提交
    • M
      [SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr · d8196ed2
      Mike Christie 提交于
      iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx),
      and partial offload (broadcom). To be able to allow each stack or driver
      or port (virtual or physical) to be able to log into the same target portal
      we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and
      the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session.
      This patch adds the netdev name, which is used by software iscsi when
      it binds a session to a netdevice using the SO_BINDTODEVICE sock opt.
      It cannot use HWADDRESS because if someone did vlans then the same netdevice
      will have the same mac and the initiator,target id will not be unique.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: Roland Dreier <rdreier@cisco.com>
      Cc: David C Somayajulu <david.somayajulu@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      d8196ed2
    • M
      [SCSI] libiscsi: make can_queue configurable · 1548271e
      Mike Christie 提交于
      This patch allows us to set can_queue and cmds_per_lun from userspace
      when we create the session/host. From there we can set it on a per
      target basis. The patch fully converts iscsi_tcp, but only hooks
      up ib_iser for cmd_per_lun since it currently has a lots of preallocations
      based on can_queue.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: Roland Dreier <rdreier@cisco.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      1548271e
    • M
      [SCSI] libiscsi: fix iscsi cmdsn allocation · 77a23c21
      Mike Christie 提交于
      The cmdsn allocation and pdu transmit code can race, and we can end
      up sending a pdu with cmdsn 10 before a pdu with 5. The target will
      then fail the connection/session. This patch fixes the problem by
      delaying the cmdsn allocation until we are about to send the pdu.
      
      This also removes the xmitmutex. We were using the connection xmitmutex
      during error handling to handle races with mtask and ctask cleanup and
      completion. For ctasks we now have nice refcounting and for the mtask,
      if we hit the case where the mtask timesout and it is floating
      around somewhere in the driver, we end up dropping the session.
      And to handle session level cleanup, we use the xmit suspend bit
      along with scsi_flush_queue and the session lock to make sure
      that the xmit thread is not possibly transmitting a task while
      we are trying to kill it.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: Roland Dreier <rdreier@cisco.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      77a23c21
  2. 02 6月, 2007 4 次提交
  3. 30 5月, 2007 1 次提交
  4. 25 5月, 2007 2 次提交
  5. 22 5月, 2007 2 次提交
  6. 19 5月, 2007 1 次提交
  7. 15 5月, 2007 1 次提交
  8. 09 5月, 2007 1 次提交
  9. 07 5月, 2007 5 次提交
    • R
      IPoIB: Convert to NAPI · 8d1cc86a
      Roland Dreier 提交于
      Convert the IP-over-InfiniBand network device driver over to using
      NAPI to handle completions for the main CQ.  This covers all receives
      as well as datagram mode sends; send completions for connected mode
      connections are still handled from interrupt context.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      8d1cc86a
    • M
      IB: Add CQ comp_vector support · f4fd0b22
      Michael S. Tsirkin 提交于
      Add a num_comp_vectors member to struct ib_device and extend
      ib_create_cq() to pass in a comp_vector parameter -- this parallels
      the userspace libibverbs API.  Update all hardware drivers to set
      num_comp_vectors to 1 and have all ULPs pass 0 for the comp_vector
      value.  Pass the value of num_comp_vectors to userspace rather than
      hard-coding a value of 1.
      
      We want multiple CQ event vector support (via MSI-X or similar for
      adapters that can generate multiple interrupts), but it's not clear
      how many vectors we want, or how we want to deal with policy issues
      such as how to decide which vector to use or how to set up interrupt
      affinity.  This patch is useful for experimenting, since no core
      changes will be necessary when updating a driver to support multiple
      vectors, and we know that we want to make at least these changes
      anyway.
      Signed-off-by: NMichael S. Tsirkin <mst@dev.mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      f4fd0b22
    • R
      IB/srp: Set proc_name · b7f008fd
      Roland Dreier 提交于
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      b7f008fd
    • I
      IB/srp: Add orig_dgid sysfs attribute to scsi_host · 3633b3d0
      Ishai Rabinovitz 提交于
      Add an orig_dgid attribute in sysfs for SRP scsi_hosts, so that
      userspace can tell what the original dgid value written to the
      add_target file was, even if the connection is redirected to a
      different port while connecting.
      Signed-off-by: NIshai Rabinovitz <ishai@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      3633b3d0
    • M
      IPoIB/cm: Don't crash if remote side uses one QP for both directions · d6ef7d68
      Michael S. Tsirkin 提交于
      The IPoIB CM spec allows the use of a single connection in both
      active->passive and passive->active directions.  The current Linux
      code uses one connection for both directions, but if another node only
      uses one connection for both directions, we oops when we try to look
      up the passive connection.  Fix by checking that qp_context is
      non-NULL before dereferencing it.
      Signed-off-by: NMichael S. Tsirkin <mst@dev.mellanox.co.il>
      d6ef7d68
  10. 03 5月, 2007 1 次提交
    • J
      PCI: Cleanup the includes of <linux/pci.h> · 6473d160
      Jean Delvare 提交于
      I noticed that many source files include <linux/pci.h> while they do
      not appear to need it. Here is an attempt to clean it all up.
      
      In order to find all possibly affected files, I searched for all
      files including <linux/pci.h> but without any other occurence of "pci"
      or "PCI". I removed the include statement from all of these, then I
      compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
      false positives manually.
      
      My tests covered 66% of the affected files, so there could be false
      positives remaining. Untested files are:
      
      arch/alpha/kernel/err_common.c
      arch/alpha/kernel/err_ev6.c
      arch/alpha/kernel/err_ev7.c
      arch/ia64/sn/kernel/huberror.c
      arch/ia64/sn/kernel/xpnet.c
      arch/m68knommu/kernel/dma.c
      arch/mips/lib/iomap.c
      arch/powerpc/platforms/pseries/ras.c
      arch/ppc/8260_io/enet.c
      arch/ppc/8260_io/fcc_enet.c
      arch/ppc/8xx_io/enet.c
      arch/ppc/syslib/ppc4xx_sgdma.c
      arch/sh64/mach-cayman/iomap.c
      arch/xtensa/kernel/xtensa_ksyms.c
      arch/xtensa/platform-iss/setup.c
      drivers/i2c/busses/i2c-at91.c
      drivers/i2c/busses/i2c-mpc.c
      drivers/media/video/saa711x.c
      drivers/misc/hdpuftrs/hdpu_cpustate.c
      drivers/misc/hdpuftrs/hdpu_nexus.c
      drivers/net/au1000_eth.c
      drivers/net/fec_8xx/fec_main.c
      drivers/net/fec_8xx/fec_mii.c
      drivers/net/fs_enet/fs_enet-main.c
      drivers/net/fs_enet/mac-fcc.c
      drivers/net/fs_enet/mac-fec.c
      drivers/net/fs_enet/mac-scc.c
      drivers/net/fs_enet/mii-bitbang.c
      drivers/net/fs_enet/mii-fec.c
      drivers/net/ibm_emac/ibm_emac_core.c
      drivers/net/lasi_82596.c
      drivers/parisc/hppb.c
      drivers/sbus/sbus.c
      drivers/video/g364fb.c
      drivers/video/platinumfb.c
      drivers/video/stifb.c
      drivers/video/valkyriefb.c
      include/asm-arm/arch-ixp4xx/dma.h
      sound/oss/au1550_ac97.c
      
      I would welcome test reports for these files. I am fine with removing
      the untested files from the patch if the general opinion is that these
      changes aren't safe. The tested part would still be nice to have.
      
      Note that this patch depends on another header fixup patch I submitted
      to LKML yesterday:
        [PATCH] scatterlist.h needs types.h
        http://lkml.org/lkml/2007/3/01/141Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6473d160
  11. 01 5月, 2007 1 次提交
  12. 26 4月, 2007 1 次提交
  13. 25 4月, 2007 2 次提交
    • R
      IPoIB/cm: spin_lock_irqsave() -> spin_lock_irq() replacements · 37aebbde
      Roland Dreier 提交于
      There are quite a few places in ipoib_cm.c where we know IRQs are
      enabled because we do something that sleeps in the same function, so
      we can convert several occurrences of spin_lock_irqsave() to a plain
      spin_lock_irq().  This cleans up the source a little and makes the
      code smaller too:
      
      add/remove: 0/0 grow/shrink: 1/5 up/down: 3/-51 (-48)
      function                                     old     new   delta
      ipoib_cm_tx_reap                             403     406      +3
      ipoib_cm_stale_task                          146     145      -1
      ipoib_cm_dev_stop                            173     172      -1
      ipoib_cm_tx_handler                          964     956      -8
      ipoib_cm_rx_handler                          956     937     -19
      ipoib_cm_skb_reap                            212     190     -22
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      37aebbde
    • S
      IB/ipoib: Use ib_init_ah_from_path to initialize ah_attr · 46f1b3d7
      Sean Hefty 提交于
      To support destinations that are not on the local IB subnet, IPoIB
      should include the GRH information when constructing an address
      handle.  Using the existing ib_init_ah_from_path() call will do this
      for us.
      Signed-off-by: NSean Hefty <sean.hefty@intel.com>
      46f1b3d7
  14. 19 4月, 2007 1 次提交
  15. 10 4月, 2007 1 次提交
  16. 06 4月, 2007 1 次提交
    • E
      IB/iser: Don't defer connection failure notification to workqueue · 1d426d64
      Erez Zilber 提交于
      When a connection is terminated asynchronously from the iSCSI layer's
      perspective, iSER needs to notify the iSCSI layer that the connection
      has failed.  This is done using a workqueue (switched to from the iSER
      tasklet context).  Meanwhile, the connection object (that holds the
      work struct) is released.  If the workqueue function wasn't called
      yet, it will be called later with a NULL pointer, which will crash the
      kernel.
      
      The context switch (tasklet to workqueue) is not required, and
      everything can be done from the iSER tasklet. This eliminates the NULL
      work struct bug (and simplifies the code).
      Signed-off-by: NErez Zilber <erezz@voltaire.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1d426d64
  17. 27 3月, 2007 1 次提交
  18. 26 3月, 2007 1 次提交
    • A
      [NET]: Fix neighbour destructor handling. · ecbb4169
      Alexey Kuznetsov 提交于
      ->neigh_destructor() is killed (not used), replaced with
      ->neigh_cleanup(), which is called when neighbor entry goes to dead
      state. At this point everything is still valid: neigh->dev,
      neigh->parms etc.
      
      The device should guarantee that dead neighbor entries (neigh->dead !=
      0) do not get private part initialized, otherwise nobody will cleanup
      it.
      
      I think this is enough for ipoib which is the only user of this thing.
      Initialization private part of neighbor entries happens in ipib
      start_xmit routine, which is not reached when device is down.  But it
      would be better to add explicit test for neigh->dead in any case.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ecbb4169
  19. 23 3月, 2007 4 次提交
  20. 12 3月, 2007 1 次提交
  21. 09 3月, 2007 1 次提交
  22. 27 2月, 2007 2 次提交
  23. 22 2月, 2007 1 次提交
  24. 21 2月, 2007 1 次提交