- 01 12月, 2012 11 次提交
-
-
由 Vu Pham 提交于
Now that SRP recreates the CM ID, QP, and CQ for each connection, there is no need to wait for the timewait state to complete. Signed-off-by: NVu Pham <vu@mellanox.com> Signed-off-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NBart Van Assche <bvanassche@acm.org> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Ishai Rabinovitz 提交于
HW QP FATAL errors persist over a reset operation, but we can recover from that by recreating the QP and associated CQs for each connection. Creating a new QP/CQ also completely forecloses any possibility of getting stale completions or packets on the new connection. Signed-off-by: NIshai Rabinovitz <ishai@mellanox.co.il> Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il> [ updated to current code from OFED, cleaned up commit message ] Signed-off-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NBart Van Assche <bvanassche@acm.org> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
Only queue removal work after having changed the target state into SRP_TARGET_REMOVED and not if that state was already equal to SRP_TARGET_REMOVED. That allows us to remove the state SRP_TARGET_DEAD. Add a call to srp_disconnect_target() in srp_remove_target() -- due to previous changes it is now safe to invoke that function even if the IB connection has already been disconnected. This change allows us to replace the target removal code in srp_remove_one() by an (indirect) call to srp_remove_target(). Rename srp_target_port.work into srp_target_port.remove_work to reflect its usage. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
Keep track of the connection state. Only report QP errors while connected. Only invoke ib_send_cm_dreq() when connected so that invoking srp_disconnect_target() after having received a DREQ does not cause an error message to be printed. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
If the RDMA RC connection is closed, tell the SCSI mid-layer to terminate all pending commands instead of only the first. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
Introduce the function srp_handle_qp_err(), change the type of qp_in_error from int into bool and move the initialization of that variable from srp_reconnect_target() to srp_connect_target(). Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
Since scsi_remove_host() has been modified so that SCSI error handling functions will no longer be invoked after scsi_remove_host() returns, the test at the start of srp_send_tsk_mgmt() is now superfluous. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
Some SCSI upper layer drivers, e.g. sd, issue SCSI commands from inside scsi_remove_host() (see the sd_shutdown() call in sd_remove()). Make sure that these commands have a chance to reach the SCSI device. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
Block the SCSI host while reconnecting instead of representing the reconnection activity as a distinct SRP target state. This allows us to eliminate the target state SRP_TARGET_CONNECTING. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
Increase the block layer timeout for disks so that it is above the InfiniBand transport layer timeout. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 23 10月, 2012 1 次提交
-
-
In the error path of registering memory when there's a failure to allocate a chunk from the memory pool, we try to free the same chunk we just failed to allocate, which will BUG(). Signed-off-by: NThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 19 10月, 2012 3 次提交
-
-
由 Eli Cohen 提交于
A client re-register event invokes cleanup of all MCGs. This is required to protect against misbehaved guests leading to corruption of join/leave database. However, since cleaning up the MCGs is a heavy operation, it is pushed to a work queue for further processing. Client re-register is also propagated to ULPs (e.g IPoIB). However, since the cleanup is performed in a workqueue, the ULP could leave and re-join groups before the cleanup occurs. In this case, when the cleanup takes place, it prunes the (newly-joined) MCGs and the ULP is left without actual MCGs while believing it joined them. Fix this by setting the flushing flag before invoking the cleanup task and clearing it after flushing is complete. Signed-off-by: NEli Cohen <eli@mellanox.com> Reviewed-by: NJack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Jack Morgenstein 提交于
In the MAD paravirtualization code, one of the checks performed when forwarding QP1 (GSI) packets from wire to slave was a P_Key check: the P_Key received in the MAD must be present in the guest's paravirtualized P_Key table, and at least one of the (packet P_Key, guest P_Key) must be a full-membership P_Key. However, if everyone involved has only limited membership in the default P_Key, then packets sent by full-member remote hosts arrive at the PPF but are not passed on to the VFs with the current P_Key1 check. Fix this as follows: 1. Don't care if P_Key received over wire is full or not. If it successfully passed HW checks on the real QP1, then simply pass it to guest regardless of whether the guest has full or limited membership in its P_Key table. 2. If the guest (including paravirtualized master) has both full and limited P_Key forms in its table, preferentially pass the paravirtualized P_Key index of the full P_Key form in the tunnel header. 3. In the multicast join flow (mlx4/mcg.c), use the index for the default P_Key (wherever it is located) in replies generated from within the mcg module (previously, P_Key index 0 was used in all cases). Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Doug Ledford 提交于
Line 110 uses UL as a compiler cast for the 0x constant, but it's not large enough to hold a 64-bit value on a 32-bit arch. Signed-off-by: NDoug Ledford <dledford@redhat.com> [ Use "-1" instead of "FFFFFFFFFFFFFFFFULL". - Roland ] Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 09 10月, 2012 1 次提交
-
-
由 Konstantin Khlebnikov 提交于
A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA, currently it lost original meaning but still has some effects: | effect | alternative flags -+------------------------+--------------------------------------------- 1| account as reserved_vm | VM_IO 2| skip in core dump | VM_IO, VM_DONTDUMP 3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP 4| do not mlock | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP This patch removes reserved_vm counter from mm_struct. Seems like nobody cares about it, it does not exported into userspace directly, it only reduces total_vm showed in proc. Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP. remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP. remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP. [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup] Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Carsten Otte <cotte@de.ibm.com> Cc: Chris Metcalf <cmetcalf@tilera.com> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Cc: Eric Paris <eparis@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Hugh Dickins <hughd@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Morris <james.l.morris@oracle.com> Cc: Jason Baron <jbaron@redhat.com> Cc: Kentaro Takeda <takedakn@nttdata.co.jp> Cc: Matt Helsley <matthltc@us.ibm.com> Cc: Nick Piggin <npiggin@kernel.dk> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Robert Richter <robert.richter@amd.com> Cc: Suresh Siddha <suresh.b.siddha@intel.com> Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Cc: Venkatesh Pallipadi <venki@google.com> Acked-by: NLinus Torvalds <torvalds@linux-foundation.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 07 10月, 2012 1 次提交
-
-
由 Gao feng 提交于
set netlink_dump_control.module to avoid panic. Signed-off-by: NGao feng <gaofeng@cn.fujitsu.com> Cc: Roland Dreier <roland@kernel.org> Cc: Sean Hefty <sean.hefty@intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 06 10月, 2012 1 次提交
-
-
由 Fengguang Wu 提交于
To avoid name conflicts: drivers/video/riva/fbdev.c:281:9: sparse: preprocessor token MAX_LEVEL redefined While at it, also make the other names more consistent and add parentheses. [akpm@linux-foundation.org: repair fallout] [sfr@canb.auug.org.au: IB/mlx4: fix for MAX_ID_MASK to MAX_IDR_MASK name change] Signed-off-by: NFengguang Wu <fengguang.wu@intel.com> Cc: Bernd Petrovitsch <bernd@petrovitsch.priv.at> Cc: walter harms <wharms@bfs.de> Cc: Glauber Costa <glommer@parallels.com> Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au> Cc: Roland Dreier <roland@purestorage.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 05 10月, 2012 1 次提交
-
-
由 Sean Hefty 提交于
The retry_count and rnr_retry_count connection parameters are both 3-bit values. Check that the values are in range and reduce if they're not. This fixes a problem reported by Doug Ledford <dledford@redhat.com> that resulted in the userspace rping test (part of the librdmacm samples) failing to run over Intel IB HCAs. Signed-off-by: NSean Hefty <sean.hefty@intel.com> [ Use min_t() to avoid warnings about type mismatch. - Roland ] Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 04 10月, 2012 5 次提交
-
-
由 Alex Tabachnik 提交于
RX/TX CQs will now be selected from a per HCA pool. For the RX flow this has the effect of using different interrupt vectors when using low level drivers (such as mlx4) that map the "vector" param provided by the ULP on CQ creation to a dedicated IRQ/MSI-X vector. This allows the RX flow processing of IO responses to be distributed across multiple CPUs. QPs (--> iSER sessions) are assigned to CQs in round robin order using the CQ with the minimum number of sessions attached to it. Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com> Signed-off-by: NAlex Tabachnik <alext@mellanox.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
Bumpthe version of the nes driver to reflect recent fixes. Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
Remove unnecessary if-else statement -- we do the same thing either way. Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
Static code analyzer cppcheck points out a missing break. Reported-by: NDavid Binderman <dcb314@hotmail.com> Addresses: <https://bugzilla.kernel.org/show_bug.cgi?id=47671> Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 03 10月, 2012 1 次提交
-
-
由 Roland Dreier 提交于
With the new netlink support in commit 862096a8 ("IB/ipoib: Add more rtnl_link_ops callbacks") we need ipoib_set_mode() to be available even if connected mode isn't built. Move the function from ipoib_cm.c to ipoib_main.c (and make a few CM-related macros available unconditonally). This fixes the build error drivers/built-in.o: In function 'ipoib_changelink': ipoib_netlink.c:(.text+0x6a5fc9): undefined reference to 'ipoib_set_mode' ipoib_netlink.c:(.text+0x6a5fe3): undefined reference to 'ipoib_set_mode' when CONFIG_INFINIBAND_IPOIB_CM isn't set. Reported-by: NRandy Dunlap <rdunlap@xenotime.net> Reported-by: NMichael Neuling <mikey@neuling.org> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 02 10月, 2012 2 次提交
-
-
由 Or Gerlitz 提交于
Add the rtnl_link_ops changelink and fill_info callbacks, through which the admin can now set/get the driver mode, etc policies. Maintain the proprietary sysfs entries only for legacy childs. For child devices, set dev->iflink to point to the parent device ifindex, such that user space tools can now correctly show the uplink relation as done for vlan, macvlan, etc devices. Pointed out by Patrick McHardy <kaber@trash.net> Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Mike Marciniszyn 提交于
Commit 8aac4cc3 ("IB/qib: RCU locking for MR validation") introduced a bug that broke user post sends. The proper validation of the MR was lost in the patch. This patch corrects that validation. Reviewed-by: NDean Luick <dean.luick@intel.com> Signed-off-by: NMike Marciniszyn <mike.marciniszyn@intel.com> Cc: <stable@vger.kernel.org> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
- 01 10月, 2012 13 次提交
-
-
由 Bart Van Assche 提交于
We need to call scsi_done() for commands after we abort them. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Cc: <stable@vger.kernel.org> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Bart Van Assche 提交于
srp_free_req() uses the scsi_cmnd structure contents to unmap buffers, so we must invoke srp_free_req() before we release ownership of that structure. Signed-off-by: NBart Van Assche <bvanassche@acm.org> Acked-by: NDavid Dillow <dillowda@ornl.gov> Cc: <stable@vger.kernel.org> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Dean Luick 提交于
Reviewed-by: NMike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: NDean Luick <dean.luick@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
Removing old variables caused a compile error from nes_debug(). Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
Hardware resource types are added and when a resource isn't available, its type is printed. Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
When TX checksum offload is disabled for an iWarp connection, skb->ip_summed needs to be set to CHECKSUM_NONE. Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
- Remove unnecessary statement "if (1)" - Refactor a statement (wqe_misc |= NES_NIC_SQ_WQE_COMPLETION) out of if/else statement, because it is independant of the flow. - Define netdev->features in one line for clarity. Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
In TSO handling code, skb_shared_info() is used to get the MSS instead of the bool function skb_is_gso() (which always returns 1). Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Tatyana Nikolova 提交于
Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Jack Morgenstein 提交于
When we have VFs and PFs on same host, the VFs are activated within the mlx4_core module before the mlx4_ib kernel module is loaded. When the mlx4_ib module initializes the PF (master), it now creates MAD paravirtualization contexts for any VFs that already active. Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Jack Morgenstein 提交于
Previously, the structure of a guest's proxy QPs followed the structure of the PPF special qps (qp0 port 1, qp0 port 2, qp1 port 1, qp1 port 2, ...). The guest then did offset calculations on the sqp_base qp number that the PPF passed to it in QUERY_FUNC_CAP(). This is now changed so that the guest does no offset calculations regarding proxy or tunnel QPs to use. This change frees the PPF from needing to adhere to a specific order in allocating proxy and tunnel QPs. Now QUERY_FUNC_CAP provides each port individually with its proxy qp0, proxy qp1, tunnel qp0, and tunnel qp1 QP numbers, and these are used directly where required (with no offset calculations). To accomplish this change, several fields were added to the phys_caps structure for use by the PPF and by non-SR-IOV mode: base_sqpn -- in non-sriov mode, this was formerly sqp_start. base_proxy_sqpn -- the first physical proxy qp number -- used by PPF base_tunnel_sqpn -- the first physical tunnel qp number -- used by PPF. The current code in the PPF still adheres to the previous layout of sqps, proxy-sqps and tunnel-sqps. However, the PPF can change this layout without affecting VF or (paravirtualized) PF code. Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Jack Morgenstein 提交于
This is necessary in order to support > 1 VF/PF in a VM for software that uses the node guid as a discriminator, such as librdmacm. Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-
由 Jack Morgenstein 提交于
Remove the error returns for IB ports from mlx4_ib_add, mlx4_INIT_PORT_wrapper, and mlx4_CLOSE_PORT_wrapper. Currently, SRIOV is supported only for devices for which the link layer is IB on all ports; RoCE support will be added later. Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: NRoland Dreier <roland@purestorage.com>
-