Re: [PATCH 02/25] IB/mthca, net/mlx4: remove counting semaphores

2015-10-29 Thread Jack Morgenstein
On Wed, 28 Oct 2015 03:45:50 +0100 Arnd Bergmann wrote: > As far as I can tell, there is a preexisting race condition > regarding the cmd->use_events flag, which is not protected > by any lock. When this flag is toggled while another command > is being started, that command gets

Re: [PATCH] infiniband/mlx4: check for mapping error

2015-03-17 Thread Jack Morgenstein
...@gmail.com, Or Gerlitz ogerl...@mellanox.com, David S. Miller da...@davemloft.net, Yishai Hadas yish...@mellanox.com, Ira Weiny ira.we...@intel.com, Jack Morgenstein ja...@dev.mellanox.co.il, Matan Barak mat...@mellanox.com, Moni Shoua mo...@mellanox.com, Jiri Kosina jkos...@suse.cz Subject

Re: mlx4: having trouble getting mlx4_NOP to succeed in the VF driver

2014-12-31 Thread Jack Morgenstein
On Wed, 31 Dec 2014 02:26:07 +0530 Bob Biloxi iambobbil...@gmail.com wrote: Hi, I was going through the mlx4 source code and had a few questions regarding the generation of interrupts upon execution of the NOP command from the VF driver. If i am running as a dedicated driver, then NOP

Re: Query regarding MAD_DEMUX and Secure Host

2014-12-16 Thread Jack Morgenstein
On Mon, 15 Dec 2014 15:07:58 +0530 Bob Biloxi iambobbil...@gmail.com wrote: am I correct in my understanding when i say that MAD_DEMUX feature is not required to be supported/implemented in Mellanox RoCE Drivers? It is required only for Infiniband drivers? Actually, you will need to

Re: FMR Support in multi-function environment

2014-11-11 Thread Jack Morgenstein
On Mon, 10 Nov 2014 19:58:46 +0530 Bob Biloxi iambobbil...@gmail.com wrote: Hi, Is FMR (Fast Memory Regions) supported in a multi-function mode? In SRIOV, FMR is supported only for the PF, not for VFs (since this feature requires writing directly to mapped ICM memory). You can see this in

Re: mlx4: RoCE support in SRIOV environment

2014-11-10 Thread Jack Morgenstein
On Mon, 10 Nov 2014 20:05:54 +0530 Bob Biloxi iambobbil...@gmail.com wrote: Hi, I was going through the mlx4 code and previous mailing lists when I came across the following thread: http://marc.info/?l=linux-rdmam=134398354428293w=2 In that thread, it is mentioned as follows:

Re: [PATCH] IB/core: Fix race condition in ib_uverbs_open_qp

2014-10-02 Thread Jack Morgenstein
On Tue, 23 Sep 2014 15:55:14 + Hefty, Sean sean.he...@intel.com wrote: --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c @@ -502,6 +502,10 @@ void ib_uverbs_qp_event_handler(struct ib_event *event, void *context_ptr) { struct

Re: mlx4: using dma_sync_single_for_cpu/dma_sync_single_for_cpu for writing MTT instead of WRITE_MTT hcr command

2014-07-10 Thread Jack Morgenstein
On Wed, 9 Jul 2014 18:40:46 +0530 Bob Biloxi iambobbil...@gmail.com wrote: Hi, I was going through the mr.c file as part of understanding WRITE_MTT command in the mlx4 code. I could see that instead of issuing the WRITE_MTT HCR command, in case of SRIOV, we're directly accessing the ICM

Re: mlx4 lockdep splat

2014-07-03 Thread Jack Morgenstein
On Wed, 2 Jul 2014 18:51:17 -0400 Chuck Lever chuck.le...@oracle.com wrote: I built my own according to your description. The fix seems good. Thanks, Chuck! -Jack -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord...@vger.kernel.org More

Re: mlx4 lockdep splat

2014-07-02 Thread Jack Morgenstein
On Tue, 1 Jul 2014 18:17:27 -0400 Chuck Lever chuck.le...@oracle.com wrote: Hi- This happens during boot, and means that lockdep and lock_stat are completely disabled during any testing I do. Does this splat have a known fix, or should I file an upstream bugzilla? Jul 1 15:50:22

Re: [infiniband:for-next 41/47] drivers/net/ethernet/mellanox/mlx4/resource_tracker.c:2875:3: warning: case value '7' not in enumerated type 'enum qp_transition'

2014-06-01 Thread Jack Morgenstein
'enum qp_transition' [-Wswitch] case MLX4_QP_ST_MLX: Reported-by: kbuild test robot fengguang...@intel.com Fixes: 99ec41d0a48c (mlx4: Add infrastructure for selecting VFs to enable QP0 via MLX proxy QPs) Signed-off-by: Roland Dreier rol...@purestorage.com Acked-by: Jack

Re: mlx4 qp allocation

2014-02-13 Thread Jack Morgenstein
On Thu, 13 Feb 2014 00:18:22 +0530 Bob Biloxi iambobbil...@gmail.com wrote: The VFs need to allocate the memory for Send Queue Buffer, Receive Queue Buffer, Completion Queue Buffer, Event Queue Buffer. Is that right? Yes. Also, as the QPs, CQs etc are created by the HCA when ALLOC_RES

Re: mlx4 qp allocation

2014-02-11 Thread Jack Morgenstein
On Wed, 29 Jan 2014 15:52:09 +0530 Bob Biloxi iambobbil...@gmail.com wrote: These paths are taken based on the return value of mlx4_is_func(dev). This is true for MASTER or SLAVE which I believe is Physical Function Driver/Virtual Function Driver. So for SRIOV, it covers all cases. The

Re: [Patch v2 3/3] IB/cache: don't fill the cache with junk

2013-10-22 Thread Jack Morgenstein
On Mon, 21 Oct 2013 00:12:54 -0400 Doug Ledford dledf...@redhat.com wrote: I think I like my suggestion better: go back to having a full table, but use a bitmap to indicate valid entries and then use the bitmap to limit our comparisons in the find_cached* functions, and put the get_* funtions

Re: [Patch v2 3/3] IB/cache: don't fill the cache with junk

2013-10-20 Thread Jack Morgenstein
On Tue, 24 Sep 2013 17:16:29 -0400 Doug Ledford dledf...@redhat.com wrote: @@ -85,13 +91,26 @@ int ib_get_cached_gid(struct ib_device *device, cache = device-cache.gid_cache[port_num - start_port(device)]; - if (index 0 || index = cache-table_len) + if (index 0 || index =

Re: [Patch v2 1/3] IB/cma: use cached gids

2013-10-20 Thread Jack Morgenstein
ACK. Looks good! Very nice catch, Doug! -Jack On Tue, 24 Sep 2013 17:16:27 -0400 Doug Ledford dledf...@redhat.com wrote: The cma_acquire_dev function was changed by commit 3c86aa70bf67 to use find_gid_port because multiport devices might have either IB or IBoE formatted gids. The old

Re: Mellanox VPI

2013-10-06 Thread Jack Morgenstein
On Sun, 6 Oct 2013 14:53:18 +0400 Vasiliy Tolstov v.tols...@selfip.ru wrote: 2013/10/6 Or Gerlitz ogerl...@mellanox.com: # lspci | grep Mell 06:00.0 InfiniBand: Mellanox Technologies MT26428 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE] (rev b0) 07:00.0 Network controller: Mellanox

Re: [PATCH RFC 46/77] mlx4: Update MSI/MSI-X interrupts enablement code

2013-10-03 Thread Jack Morgenstein
On Wed, 2 Oct 2013 12:49:02 +0200 Alexander Gordeev agord...@redhat.com wrote: NACK. This change does not do anything logically as far as I can tell. pci_enable_msix in the current upstream kernel itself calls pci_msix_table_size. The current code yields the same results as the code suggested

Re: [PATCH RFC 46/77] mlx4: Update MSI/MSI-X interrupts enablement code

2013-10-03 Thread Jack Morgenstein
On Wed, 2 Oct 2013 12:49:02 +0200 Alexander Gordeev agord...@redhat.com wrote: UPDATING THIS REPLY. Your change log confused me. The change below is not from a recent re-design, it is required due to an earlier patch in this patch set. From the log, I assumed that the change you are talking

Re: [PATCH RFC 46/77] mlx4: Update MSI/MSI-X interrupts enablement code

2013-10-03 Thread Jack Morgenstein
On Wed, 2 Oct 2013 12:49:02 +0200 Alexander Gordeev agord...@redhat.com wrote: As result of recent re-design of the MSI/MSI-X interrupts enabling pattern this driver has to be updated to use the new technique to obtain a optimal number of MSI/MSI-X interrupts required. Signed-off-by:

Re: [PATCH RFC 51/77] mthca: Update MSI/MSI-X interrupts enablement code

2013-10-03 Thread Jack Morgenstein
On Wed, 2 Oct 2013 12:49:07 +0200 Alexander Gordeev agord...@redhat.com wrote: Subject: [PATCH RFC 51/77] mthca: Update MSI/MSI-X interrupts enablement code Date: Wed, 2 Oct 2013 12:49:07 +0200 Sender: linux-rdma-ow...@vger.kernel.org X-Mailer: git-send-email 1.7.7.6 As result of recent

Write combining support in the upstream kernel

2013-09-02 Thread Jack Morgenstein
Hi Roland, This is a re-posting (and rewording) of a question I sent you on July 6, 2009. I've been looking at the write-combining support in the kernel, and it looks good. The caller simply invokes pgprot_writecombine() and if write combining is available, the region is mapped for it (if wc is

Re: ibv_create_qp() and max_inline_data behavior

2013-08-29 Thread Jack Morgenstein
On Wed, 28 Aug 2013 13:45:17 -0400 do...@rdmamojo.com wrote: Hi Yann. I'd like the behavior of ibv_create_qp() regarding cap.max_inline_data be clearer: 1) Should ibv_create_qp() failed if max_inline_data requested being greater than supported ? Since the max_inline_data is an

Re: [PATCH for-next 0/8] Add Mellanox mlx5 driver for Connect-IB devices

2013-07-07 Thread Jack Morgenstein
On Wednesday 03 July 2013 22:26, Roland Dreier wrote: Look at the actual timer code.  del_timer_sync() won't work if something unrelated re-adds the timer, but it will work if the timer itself is what re-adds itself. Documentation/DocBook/kernel-locking.tmpl says:       Another common

Re: [PATCH V2 5/9] IB/mlx5: Mellanox Connect-IB, IB driver part 1/5

2013-07-04 Thread Jack Morgenstein
On Wednesday 03 July 2013 23:59, Joe Perches wrote: On Wed, 2013-07-03 at 20:13 +0300, Or Gerlitz wrote: From: Eli Cohen e...@mellanox.com diff --git a/drivers/infiniband/hw/mlx5/ah.c b/drivers/infiniband/hw/mlx5/ah.c [] +struct ib_ah *create_ib_ah(struct ib_ah_attr *ah_attr, +

Re: [PATCH V2 1/9] net/mlx5: Mellanox Connect-IB, core driver part 1/3

2013-07-04 Thread Jack Morgenstein
On Wednesday 03 July 2013 23:29, Joe Perches wrote: On Wed, 2013-07-03 at 20:13 +0300, Or Gerlitz wrote: From: Eli Cohen e...@mellanox.com trivial comments: diff --git a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c [] +static const

Re: [PATCH V2 7/9] IB/mlx5: Mellanox Connect-IB, IB driver part 3/5

2013-07-04 Thread Jack Morgenstein
On Thursday 04 July 2013 00:10, Joe Perches wrote: On Wed, 2013-07-03 at 20:13 +0300, Or Gerlitz wrote: From: Eli Cohen e...@mellanox.com More trivia: diff --git a/drivers/infiniband/hw/mlx5/mlx5_ib.h b/drivers/infiniband/hw/mlx5/mlx5_ib.h [] +#define mlx5_ib_dbg(dev, format,

Re: [PATCH V2 5/9] IB/mlx5: Mellanox Connect-IB, IB driver part 1/5

2013-07-04 Thread Jack Morgenstein
On Thursday 04 July 2013 16:15, Jack Morgenstein wrote: +   *inlen = sizeof **cqb + sizeof *(*cqb)-pas * ncont; sizeof always uses parentheses I'll fix this, too. -Jack -- To unsubscribe from this list: send the line unsubscribe linux-rdma in the body of a message to majord

Re: [PATCH V2 1/9] net/mlx5: Mellanox Connect-IB, core driver part 1/3

2013-07-04 Thread Jack Morgenstein
On Thursday 04 July 2013 17:17, Joe Perches wrote: Not the vertical spacing, the newline inside the quotes. ie: unknown status code\n should be unknown status code You're right! I misunderstood, and did not notice the newline char. Good catch! While I was at it, though, I eliminated the

Re: [PATCH for/net-next 3/8] net/mlx5: Mellanox Connect-IB, core driver part 3/3

2013-07-01 Thread Jack Morgenstein
On Saturday 29 June 2013 07:10, David Miller wrote: From: Or Gerlitz ogerl...@mellanox.com Date: Wed, 26 Jun 2013 17:22:12 +0300 + for (--i; i = 0; --i) { Please, i-- is more canonical in for() loops. + for (--i; i = 0; --i) { Likewise. -- To unsubscribe from this list: send

Re: MLX4 Cq Question

2013-05-21 Thread Jack Morgenstein
On Tuesday 21 May 2013 13:43, Or Gerlitz wrote: On 21/05/2013 13:42, Bart Van Assche wrote: On 05/21/13 11:40, Or Gerlitz wrote: 2. is possible in the Linux kernel for one hard irq callback to flash on CPU X while another hard irq callback is running on the same CPU? I think that from

Re: MLX4 Cq Question

2013-05-20 Thread Jack Morgenstein
: ORIG_RAX: ff4c CS: 0023 SS: 002b The original patch was generated by Yishai Hadas, and reviewed by Or Gerlitz and Jack Morgenstein. A subsequent fix by Jack Morgenstein was reviewed by Eli Cohen. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/net

Re: Mellanox/RoCE - VLAN support

2013-04-14 Thread Jack Morgenstein
On Friday 12 April 2013 02:13, Or Gerlitz wrote: Klaus Wacker klaus.wac...@de.ibm.com wrote: Hi all, we are doing a project on IBM x-blades using Mellanox/RoCE. I have some difficulties to get RoCE based VLANs to run. We are currently on Linux 3.8. No OFED material involved. While

Re: [PATCH] IB/mlx4: Fail post send command on error recovery

2013-04-04 Thread Jack Morgenstein
On Thursday 04 April 2013 16:01, Kleber Sacilotto de Souza wrote: On 04/02/2013 02:00 PM, Roland Dreier wrote: diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c index 35cced2..0fa4f72 100644 --- a/drivers/infiniband/hw/mlx4/qp.c +++

Re: [PATCH] IB/mlx4: Fail post send command on error recovery

2013-04-02 Thread Jack Morgenstein
On Tuesday 02 April 2013 12:15, Or Gerlitz wrote: On 28/03/2013 20:45, Kleber Sacilotto de Souza wrote: When the PCI adapter is going through error recovery, a call to mlx4_ib_post_send() will return success without the command actually arriving to the hardware. Adding a call to

Re: [PATCH v2] IB/mlx4: silence GCC warning

2013-02-25 Thread Jack Morgenstein
On Monday 25 February 2013 19:23, Roland Dreier wrote: On Mon, Feb 25, 2013 at 8:54 AM, Roland Dreier rol...@kernel.org wrote: I'm finally noticing that this is in the build_mlx_header() function, which is pretty much a slow path. Certainly another compare isn't going to change performance

Re: [PATCH v2] IB/mlx4: silence GCC warning

2013-02-24 Thread Jack Morgenstein
On Thursday 21 February 2013 11:02, Paul Bolle wrote: diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c index 19e0637..512fde3 100644 --- a/drivers/infiniband/hw/mlx4/qp.c +++ b/drivers/infiniband/hw/mlx4/qp.c @@ -1778,8 +1778,8 @@ static int

Re: Fwd: Error message when trying to use Infiniband virtual functions in virtual machine

2013-01-29 Thread Jack Morgenstein
On Tuesday 29 January 2013 15:15, Mathis GAVILLON wrote: In fact, one boxe wasn't check in IOMMU submenu (Support for Interrupt Remapping (EXPERIMENTAL)). I've recompiled the kernel of the host and guest (is it necessary for this last one ?). But the error message is already present. Just

Re: Fwd: Error message when trying to use Infiniband virtual functions in virtual machine

2013-01-29 Thread Jack Morgenstein
again without MSI-X. mlx4_core: probe of :00:0b.0 failed with error -16 Mathis 2013/1/29 Jack Morgenstein ja...@dev.mellanox.co.il: On Tuesday 29 January 2013 15:15, Mathis GAVILLON wrote: In fact, one boxe wasn't check in IOMMU submenu (Support for Interrupt Remapping (EXPERIMENTAL

Re: Fwd: Error message when trying to use Infiniband virtual functions in virtual machine

2013-01-28 Thread Jack Morgenstein
: Error message when trying to use Infiniband virtual functions in virtual machine To: Mathis GAVILLON jbibo...@gmail.com Cc : linux-rdma@vger.kernel.org, Jack Morgenstein ja...@dev.mellanox.co.il On Wed, Jan 23, 2013 at 5:29 PM, Mathis GAVILLON jbibo...@gmail.com wrote: I'm working

Re: [PATCH] IB/lmx4: silence GCC warning

2012-10-10 Thread Jack Morgenstein
You could use: u16 uninitialized_var(vlan); instead. Although this in the special QP data flow, I still prefer to avoid adding extra code (even setting initial values at procedure entry). The line above will also do the job. uninitialized_var is used elsewhere in the driver. See, for

[PATCH] net/mlx4_core: Adjust the flow steering attach wrapper so that VFs work under SRIOV/IB

2012-10-03 Thread Jack Morgenstein
ConnectX3 when flow steering is enabled. Currently, the IB case in mlx4_QP_FLOW_STEERING_ATTACH_wrapper() is missing, so the procedure returns -EINVAL and IPoIB on VFs fails to operate. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed-off-by: Or Gerlitz ogerl...@mellanox.com

Re: [PATCH] mlx4_core: Fix crash on uninitialized priv-cmd.slave_sem

2012-10-02 Thread Jack Morgenstein
Acked-by: Jack Morgenstein ja...@dev.mellanox.co.il Thanks, Roland! Good catches and good fixes! Regarding the mutex replacing the semaphore, at one time we toyed with the idea of multiple comm channel commands in the air, but we did not pursue the idea. I agree with changing slave_sem

Re: [PATCH 3/3] mlx4_core: Disable SENSE_PORT for multifunction devices

2012-10-02 Thread Jack Morgenstein
and heavy. I wonder whether wouldn't it be fare to allow for Jack to review it before pushing? Jack is back by Tuesday. Acked-by: Jack Morgenstein ja...@dev.mellanox.co.il for patches 1-3 Nice going, Roland! -Jack Or. -- To unsubscribe from this list: send the line unsubscribe linux-rdma

Re: linux-next: build failure after merge of the akpm tree

2012-09-25 Thread Jack Morgenstein
Hi Roland, I am on vacation until next Tuesday -- I'll look at this then. -Jack On Monday 24 September 2012 21:36, Roland Dreier wrote: On Mon, Sep 24, 2012 at 7:02 AM, Stephen Rothwell s...@canb.auug.org.au wrote: After merging the akpm tree, today's linux-next build (powerpc

Re: [PATCH for-next V2 01/22] IB/core: Reserve bits in enum ib_qp_create_flags for low-level driver use

2012-09-25 Thread Jack Morgenstein
Thanks, Roland! -Jack On Monday 24 September 2012 21:34, Roland Dreier wrote: So I applied this whole series, with the plan to merge this for 3.7. Please send any changes as patches on top of what's already merged. Thanks, Roland -- To unsubscribe from this list: send the line

Re: [PATCH for-next V2 04/22] IB/mlx4: SRIOV IB context objects and proxy/tunnel sqp support

2012-09-21 Thread Jack Morgenstein
On Friday 21 September 2012 02:15, Or Gerlitz wrote: On Tue, Sep 11, 2012 at 8:10 PM, Doug Ledford dledf...@redhat.com wrote: On 8/3/2012 4:40 AM, Jack Morgenstein wrote: struct mlx4_ib_sriov{} is created by the master only. It is a container for the following: 1. All the info required

Re: [PATCH for-next V2 02/22] IB/core: change pkey table lookups to support full and partial membership for the same pkey

2012-09-13 Thread Jack Morgenstein
On Wednesday 12 September 2012 19:48, Doug Ledford wrote: On the Hypervisor, however, we assume that if both versions of the pkey are in its pkey table, then for its own infiniband operation (as opposed to performing its pkey virtualizing function), it should operate with the highest

Re: [PATCH for-next V2 02/22] IB/core: change pkey table lookups to support full and partial membership for the same pkey

2012-09-12 Thread Jack Morgenstein
On Tuesday 11 September 2012 19:52, Doug Ledford wrote: On 8/3/2012 4:40 AM, Jack Morgenstein wrote: Enhance the cached and non-cached pkey table lookups to enable limited and full members of the same pkey to co-exist in the pkey table. This is necessary for SRIOV to allow

Re: [PATCH RFC for-next] net/mlx4_core: Fix racy flow in the driver CQ completion handler

2012-09-10 Thread Jack Morgenstein
On Sunday 09 September 2012 18:10, Roland Dreier wrote: Please look at commit 7cf9c2c76c1a ([PATCH] radix-tree: RCU lockless readside) Roland, What about the following note (from the commit diff mentioned above): +/** + * Radix-tree synchronization + * + * The radix-tree API requires that

Re: [PATCH RFC for-next] net/mlx4_core: Fix racy flow in the driver CQ completion handler

2012-09-10 Thread Jack Morgenstein
On Monday 10 September 2012 13:35, Or Gerlitz wrote: Jack,  Max Actually, can't we do well with rcu_read_lock() in mlx4_cq_completion() as that commit documentation suggests? I don't know. I do notice (in file include/linux/rcupdate.h) that rcu_read_lock/unlock is meant to be used in the

Re: [PATCH RFC for-next] net/mlx4_core: Fix racy flow in the driver CQ completion handler

2012-09-10 Thread Jack Morgenstein
On Monday 10 September 2012 16:27, Or Gerlitz wrote: I  took a look on the practice/wrapping used over the mm subsystem for radix_tree_lookup calls, whose maintainer, Andrew Morton is signed on the patch Roland pointed to, its just rcu_read_lock/unlock, seems this is what to do as well. In

Re: Patchwork back online

2012-08-14 Thread Jack Morgenstein
On Tuesday 10 July 2012 20:08, Roland Dreier wrote: Not sure if everyone saw this, but thanks to the kernel.org crew, https://patchwork.kernel.org/project/linux-rdma/list/ is back online. I've been delegating opensm patches to Alex Netes and diags patches to Ira Weiny. Can someone refresh

Re: Patchwork back online

2012-08-14 Thread Jack Morgenstein
On Tuesday 14 August 2012 19:20, Roland Dreier wrote: On Tue, Aug 14, 2012 at 7:56 AM, Jack Morgenstein ja...@dev.mellanox.co.il wrote: I just checked patchwork, and do not see the bug-fix patch I submitted on Aug 3: [PATCH] IB/mlx4: fix possible deadlock with sm_lock spinlock

Re: 3.6-rc1 IB complaint

2012-08-08 Thread Jack Morgenstein
Hi Bart, I submitted a patch to Roland on August 3 (along with SRIOV-IB V2) to fix this: [PATCH] IB/mlx4: fix possible deadlock with sm_lock spinlock I notice that you tested out the fix and it worked. Roland, please take the patch and submit to Linus. This fixes a bug in the upstream 3.6-RC1

[PATCH] IB/mlx4: fix possible deadlock with sm_lock spinlock

2012-08-03 Thread Jack Morgenstein
] ? _raw_spin_lock_irqsave+0x61/0x70 [a022718c] mlx4_dispatch_event+0x6c/0x90 [mlx4_core] [a0221b40] mlx4_eq_int+0x500/0x950 [mlx4_core] Reported by: Or Gerlitz ogerl...@mellanox.com Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c

[PATCH for-next V2 00/22] Add SRIOV support for IB interfaces

2012-08-03 Thread Jack Morgenstein
mlx4_ib_indexed_gid from patch 22 (replaced by using __mlx4_ib_query_gid() from V0 patch 26). Amir Vadai (1): IB/mlx4: Add CM paravirtualization Erez Shitrit (1): IB/sa: Add GuidInfoRecord query support. Jack Morgenstein (26): net/mlx4_core: Pass an invalid PCI id number to VFs IB/core: Reserve

[PATCH for-next V2 02/22] IB/core: change pkey table lookups to support full and partial membership for the same pkey

2012-08-03 Thread Jack Morgenstein
exists earlier in the table). B. If the full member version is not in the table, but the limited-member version is in the table, return the index of the limited pkey. Signed-off-by: Liran Liss lir...@mellanox.com Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed-off

[PATCH for-next V2 03/22] IB/core: Add ib_find_exact_cached_pkey() to search for 16-bit pkey match

2012-08-03 Thread Jack Morgenstein
the membership bit). Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed-off-by: Or Gerlitz ogerl...@mellanox.com --- drivers/infiniband/core/cache.c | 32 include/rdma/ib_cache.h | 16 2 files changed, 48 insertions(+), 0 deletions

[PATCH for-next V2 05/22] net/mlx4_core: Add proxy and tunnel QPs to the reserved QP area

2012-08-03 Thread Jack Morgenstein
In addition, pass the proxy and tunnel QP numbers to slaves so the driver can perform sqp paravirtualization. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/net/ethernet/mellanox/mlx4/fw.c| 14 + drivers/net/ethernet/mellanox/mlx4/fw.h

[PATCH for-next V2 01/22] IB/core: Reserve bits in enum ib_qp_create_flags for low-level driver use

2012-08-03 Thread Jack Morgenstein
Reserve bits 26-31 for internal use by low-level drivers. Two such bits are used in the mlx4 driver SRIOV IB implementation. These enum additions guarantee that the core layer will never use these bits, so that low level drivers may safely make use of them. Signed-off-by: Jack Morgenstein ja

[PATCH for-next V2 06/22] IB/mlx4: Initialize SRIOV IB support for slaves in master context

2012-08-03 Thread Jack Morgenstein
it starts up. In addition, the master also creates the real special QPs. (The ib_core layer on the master causes creation of proxy special qp's, since the master is also paravirtualized at the ib_core layer). Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c

[PATCH for-next V2 07/22] {NET,IB}/mlx4: Implement QP paravirtualization and maintain phys_pkey_cache for smp_snoop

2012-08-03 Thread Jack Morgenstein
indices mapped to the reserved (invalid) pkey at index 127. Finally, Add logic in smp_snoop for maintaining the phys_pkey_cache. and generating events on the master only if a pkey actually changed. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c

[PATCH for-next V2 12/22] net/mlx4_core: Add IB port-state machine, and port mgmt event propagation infrastructure

2012-08-03 Thread Jack Morgenstein
for propagating port-management events (client-reregister, etc) to slaves. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/net/ethernet/mellanox/mlx4/eq.c | 237 +++-- drivers/net/ethernet/mellanox/mlx4/mlx4.h |1 + include/linux/mlx4/device.h

[PATCH for-next V2 13/22] {NET,IB}/mlx4: Add alias_guid mechanism

2012-08-03 Thread Jack Morgenstein
changed before propagating an event to the slave). To support this caching, added capability to __mlx4_ib_query_gid() to obtain the network view (i.e., physical view) gid at index X, not just the host (paravirtualized) view. Based on a patch from Erez Shitrit ere...@mellanox.com Signed-off-by: Jack

[PATCH for-next V2 08/22] IB/mlx4: SRIOV multiplex and demultiplex MADs

2012-08-03 Thread Jack Morgenstein
messages Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c | 567 +- 1 files changed, 565 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c index 2413a08

[PATCH for-next V2 14/22] IB/mlx4: Propagate pkey and guid change port management events to slaves

2012-08-03 Thread Jack Morgenstein
-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c| 162 +-- drivers/net/ethernet/mellanox/mlx4/fw.c |6 + 2 files changed, 161 insertions(+), 7 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw

[PATCH for-next V2 11/22] IB/mlx4: Add CM paravirtualization

2012-08-03 Thread Jack Morgenstein
generation between guests (and so these IDs are not guaranteed to be globally unique). The guest's comm ID is stored, and is returned to the response MAD when it arrives. Signed-off-by: Amir Vadai am...@mellanox.co.il Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers

[PATCH for-next V2 18/22] IB/mlx4: Miscellaneous adjustments to SRIOV IB support

2012-08-03 Thread Jack Morgenstein
and in process context (due to 6 above, and also if smp_snoop is used). This fix was found and implemented by Saeed Mahameed sae...@mellanox.com Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c |6 +- drivers/infiniband/hw/mlx4/main.c

[PATCH for-next V2 16/22] net/mlx4_core: Adjustments to SET_PORT for SRIOV-IB

2012-08-03 Thread Jack Morgenstein
1. Slave may not set the IS_SM capability for the port. 2. No DEV_MGR in multifunc mode. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/net/ethernet/mellanox/mlx4/port.c | 10 ++ include/linux/mlx4/device.h |5 + 2 files changed, 15

[PATCH for-next V2 20/22] {NET,IB}/mlx4: Paravirtualize Node Guids for slaves

2012-08-03 Thread 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: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c | 14 ++ drivers/infiniband/hw/mlx4/mlx4_ib.h

[PATCH for-next V2 22/22] IB/mlx4: Create pv contexts for active VFs when PF (master) ib driver initializes

2012-08-03 Thread Jack Morgenstein
When 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 already active. Signed-off-by: Jack Morgenstein ja

[PATCH for-next V2 17/22] net/mlx4_core: INIT/CLOSE port logic for IB ports in SRIOV mode

2012-08-03 Thread Jack Morgenstein
to receive. When the real QP0 goes down, we should indicate that the port is not active. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/net/ethernet/mellanox/mlx4/fw.c | 71 +-- drivers/net/ethernet/mellanox/mlx4/qp.c | 38 +++-- 2

[PATCH for-next V2 21/22] {NET,IB}/mlx4: Modify proxy/tunnel QP mechanism so that guests do no calculations

2012-08-03 Thread Jack Morgenstein
code. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c | 12 +- drivers/infiniband/hw/mlx4/qp.c | 104 +++-- drivers/net/ethernet/mellanox/mlx4/fw.c | 175 drivers/net/ethernet/mellanox/mlx4

[PATCH for-next V2 04/22] IB/mlx4: SRIOV IB context objects and proxy/tunnel sqp support

2012-08-03 Thread Jack Morgenstein
: We made use of the 2 most-significant bits in enum mlx4_ib_qp_flags (based upon enum ib_qp_create_flags (ib_verbs.h)) We need these bits in the low-level driver for internal purposes. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/cq.c | 31

[PATCH for-next V2 09/22] {NET,IB}/mlx4: MAD_IFC paravirtualization

2012-08-03 Thread Jack Morgenstein
already: ignore_bkey and ignore_mkey. These two parameters are replaced by a single mad_ifc_flags parameter, with different bits set for each flag. A third flag is added: network-view/host-view. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c

Re: linux-next: manual merge of the net-next tree with the infiniband tree

2012-07-16 Thread Jack Morgenstein
On Thursday 12 July 2012 05:09, Stephen Rothwell wrote: Hi all, Today's linux-next merge of the net-next tree got a conflict in drivers/net/ethernet/mellanox/mlx4/main.c between commit 6634961c14d3 (mlx4: Put physical GID and P_Key table sizes in mlx4_phys_caps struct and paravirtualize

Re: linux-next: manual merge of the net-next tree with the infiniband tree

2012-07-16 Thread Jack Morgenstein
On Thursday 12 July 2012 05:13, Stephen Rothwell wrote: Hi all, Today's linux-next merge of the net-next tree got a conflict in include/linux/mlx4/device.h between commit 396f2feb05d7 (mlx4_core: Implement mechanism for reserved Q_Keys) from the infiniband tree and commit 0ff1fb654bec

Rebasing your for-next branch to 3.5-rc7

2012-07-16 Thread Jack Morgenstein
Hello Roland, I am back from vacation. Hopefully, you are progressing with your review of the huge patch set I submitted -- please let me know if there is anything I can do to help. I noticed that the KVM group submitted a fix for the SRIOV IRQ guest problem (Point #3 of the Some Limitations

[PATCH for-next V1 01/29] net/mlx4_core: Pass an invalid PCI id number to VFs

2012-06-19 Thread Jack Morgenstein
Currently, VFs have 0 in their dev-caps.function field. This is a valid pci id (usually of the PF). Pass an invalid pci id to the VF via QUERY_FW, to make sure that if the value gets accessed in the VF driver, it will not be valid. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il

[PATCH for-next V1 00/29] Add SRIOV support for IB interfaces

2012-06-19 Thread Jack Morgenstein
__mlx4_ib_query_gid() from V0 patch 26). Amir Vadai (1): IB/mlx4: Add CM paravirtualization Erez Shitrit (1): IB/sa: Add GuidInfoRecord query support. Jack Morgenstein (26): net/mlx4_core: Pass an invalid PCI id number to VFs IB/core: Reserve bits in enum ib_qp_create_flags for low-level

[PATCH for-next V1 05/29] IB/core: Add ib_find_exact_cached_pkey() to search for 16-bit pkey match

2012-06-19 Thread Jack Morgenstein
the membership bit). Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed-off-by: Or Gerlitz ogerl...@mellanox.com --- drivers/infiniband/core/cache.c | 32 include/rdma/ib_cache.h | 16 2 files changed, 48 insertions(+), 0 deletions

[PATCH for-next V1 10/29] net/mlx4_core: Implement mechanism for reserved qkeys

2012-06-19 Thread Jack Morgenstein
are assigned to that guest). Note that in non-SRIOV mode, there are no proxies and no tunnels. In this case, sqp_start is set to sqp_base -- which minimizes code changes. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed-off-by: Or Gerlitz ogerl...@mellanox.com --- drivers/net

[PATCH for-next V1 06/29] IB/sa: Add GuidInfoRecord query support.

2012-06-19 Thread Jack Morgenstein
From: Erez Shitrit ere...@mellanox.co.il This query is needed for SRIOV alias GUID support. The query is implemented per the IB Spec definition in section 15.2.5.18 (GuidInfoRecord). Signed-off-by: Erez Shitrit ere...@mellanox.co.il Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed

[PATCH for-next V1 09/29] net/mlx4_core: For SRIOV, initialize ib port-capabilities for all slaves

2012-06-19 Thread Jack Morgenstein
will be seen as cleared in the slaves). Also added static inline mlx4_master_func_num() to enhance readability of the code. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed-off-by: Or Gerlitz ogerl...@mellanox.com --- drivers/net/ethernet/mellanox/mlx4/main.c | 11

[PATCH for-next V1 08/29] {NET,IB}/mlx4: Use port management change event instead of smp_snoop

2012-06-19 Thread Jack Morgenstein
of struct mlx4_eqe from net/mlx4.h to file device.h -- to make it available to the IB driver, to handle port management change events. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed-off-by: Or Gerlitz ogerl...@mellanox.com --- drivers/infiniband/hw/mlx4/mad.c | 119

[PATCH for-next V1 16/29] {NET,IB}/mlx4: Implement QP paravirtualization and maintain phys_pkey_cache for smp_snoop

2012-06-19 Thread Jack Morgenstein
indices mapped to the reserved (invalid) pkey at index 127. Finally, Add logic in smp_snoop for maintaining the phys_pkey_cache. and generating events on the master only if a pkey actually changed. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c

[PATCH for-next V1 14/29] net/mlx4_core: Add proxy and tunnel QPs to the reserved QP area

2012-06-19 Thread Jack Morgenstein
In addition, pass the proxy and tunnel QP numbers to slaves so the driver can perform sqp paravirtualization. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/net/ethernet/mellanox/mlx4/fw.c| 14 + drivers/net/ethernet/mellanox/mlx4/fw.h

[PATCH for-next V1 17/29] IB/mlx4: SRIOV multiplex and demultiplex MADs

2012-06-19 Thread Jack Morgenstein
messages Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c | 567 +- 1 files changed, 565 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c index d508597

[PATCH for-next V1 12/29] {NET,IB}/mlx4_core: place phys gid and pkey tbl sizes in mlx4_phys_caps struct and paravirtualize them

2012-06-19 Thread Jack Morgenstein
, we add paravirtualization of the master GID event here (i.e., we do not do ib_dispatch_event for the GUID change event on the master, since its (only) GUID never changes). Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c | 10 +-- drivers

[PATCH for-next V1 18/29] {NET,IB}/mlx4: MAD_IFC paravirtualization

2012-06-19 Thread Jack Morgenstein
already: ignore_bkey and ignore_mkey. These two parameters are replaced by a single mad_ifc_flags parameter, with different bits set for each flag. A third flag is added: network-view/host-view. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c

[PATCH for-next V1 11/29] net/mlx4_core: Allow guests to support IB ports

2012-06-19 Thread Jack Morgenstein
ports were supported. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il Signed-off-by: Or Gerlitz ogerl...@mellanox.com --- drivers/net/ethernet/mellanox/mlx4/fw.c | 78 +++-- drivers/net/ethernet/mellanox/mlx4/main.c | 26 +++--- 2 files changed, 59

[PATCH for-next V1 15/29] IB/mlx4: Initialize SRIOV IB support for slaves in master context

2012-06-19 Thread Jack Morgenstein
it starts up. In addition, the master also creates the real special QPs. (The ib_core layer on the master causes creation of proxy special qp's, since the master is also paravirtualized at the ib_core layer). Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c

[PATCH for-next V1 03/29] IB/mlx4: Add debug printouts

2012-06-19 Thread Jack Morgenstein
Define pr_fmt and add some pr_debug prints. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c | 19 +++ drivers/infiniband/hw/mlx4/main.c|2 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 10 ++ drivers/infiniband/hw

[PATCH for-next V1 02/29] IB/core: Reserve bits in enum ib_qp_create_flags for low-level driver use

2012-06-19 Thread Jack Morgenstein
Reserve bits 26-31 for internal use by low-level drivers. Two such bits are used in the mlx4 driver SRIOV IB implementation. These enum additions guarantee that the core layer will never use these bits, so that low level drivers may safely make use of them. Signed-off-by: Jack Morgenstein ja

[PATCH for-next V1 20/29] IB/mlx4: Add CM paravirtualization

2012-06-19 Thread Jack Morgenstein
generation between guests (and so these IDs are not guaranteed to be globally unique). The guest's comm ID is stored, and is returned to the response MAD when it arrives. Signed-off-by: Amir Vadai am...@mellanox.co.il Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers

[PATCH for-next V1 21/29] net/mlx4_core: Add IB port-state machine, and port mgmt event propagation infrastructure

2012-06-19 Thread Jack Morgenstein
for propagating port-management events (client-reregister, etc) to slaves. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/net/ethernet/mellanox/mlx4/eq.c | 237 +++-- drivers/net/ethernet/mellanox/mlx4/mlx4.h |1 + include/linux/mlx4/device.h

[PATCH for-next V1 29/29] {NET,IB}/mlx4: Paravirtualize Node Guids for slaves.

2012-06-19 Thread Jack Morgenstein
This is necessary in order to support more than one VF/PF on a VM for software that uses the node guid as a discriminator, such as librdmacm. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/infiniband/hw/mlx4/mad.c | 14 ++ drivers/infiniband/hw/mlx4

[PATCH for-next V1 28/29] {NET,IB}/mlx4: Activate SRIOV mode for IB

2012-06-19 Thread 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 implemented at later time. Signed-off-by: Jack Morgenstein ja

[PATCH for-next V1 25/29] net/mlx4_core: Adjustments to SET_PORT for SRIOV-IB

2012-06-19 Thread Jack Morgenstein
1. Slave may not set the IS_SM capability for the port. 2. No DEV_MGR in multifunc mode. Signed-off-by: Jack Morgenstein ja...@dev.mellanox.co.il --- drivers/net/ethernet/mellanox/mlx4/port.c | 10 ++ include/linux/mlx4/device.h |5 + 2 files changed, 15

  1   2   >