-Original Message-
From: Roland Dreier [mailto:rdre...@cisco.com]
Sent: Friday, January 09, 2009 12:16 AM
To: Ron Livne
Cc: rola...@cisco.com; general@lists.openfabrics.org; Olga Shern
Subject: Re: About create_qp_flags merging
You've told me that you're not going to merge the create_qp_flags
Roland,
You've told me that you're not going to merge the create_qp_flags
patches because they are stuck behind XRC.
However, I reposted new patches in December that don't rely on the XRC
patches.
Can you please comment on them?
Here are links to them:
Patch 0/4:
HCA: mellanox connectX
Redhat 5.2
x86_64 (intel Xeox E5335, 8 cores)
Ron
On Tue, Dec 30, 2008 at 9:38 AM, Roland Dreier rdre...@cisco.com wrote:
By the way, I don't seem to be able to reproduce this easily in my
setup. What kind of HCA/system are you using?
- R.
Yes, it does reproduce on Linus's git tree.
Ron
On Mon, Dec 29, 2008 at 5:45 AM, Roland Dreier rdre...@cisco.com wrote:
We've discovered that sometimes we get a kernel panic while using
ipoib with lro enabled.
You can find all the details here:
between 2 hosts with scp.
- I removed the BUG_ON line and copied a large file between two hosts.
The file got to the other side without any corruptions.
Ron
On Mon, Dec 29, 2008 at 10:39 AM, Ron Livne ronli.volta...@gmail.com wrote:
Yes, it does reproduce on Linus's git tree.
Ron
On Mon, Dec
Hi all,
We've discovered that sometimes we get a kernel panic while using
ipoib with lro enabled.
You can find all the details here:
https://bugs.openfabrics.org/show_bug.cgi?id=1473
This bug is reproduced both in kernel 2.6.27 and OFED 1.4.
However, we were currently only able to reproduce it
I know it was stuck there,
that's why I've sent a new version that doesn't rely on it.
I've implemented the more_ops (in libibvers) in my patches - that's
the only thing I needed from XRC.
Ron
On Tue, Dec 23, 2008 at 5:33 PM, Roland Dreier rdre...@cisco.com wrote:
Any chance create_qp_flags
Is it possible that only one vector will be supported by the system,
yielding the function pci_enable_msix to return 1?
If so, the stack will not work properly when using only 1 vector.
Ron
On Mon, Dec 22, 2008 at 10:13 AM, Yevgeny Petrilin
yevge...@mellanox.co.il wrote:
Roland,
We
Roland,
Any chance create_qp_flags will get in?
Thanks,
Ron
On Tue, Dec 23, 2008 at 12:25 AM, Roland Dreier rdre...@cisco.com wrote:
I guess now is probably a good time to send out my plans for the
2.6.29 cycle. I'm not operating at full speed (since I'm kind of on
paternity leave and kind
Roland,
+ retry:
+ err = pci_enable_msix(dev-pdev, entries, nreq);
if (err) {
- if (err 0)
- mlx4_info(dev, Only %d MSI-X vectors
available,
- not using
Roland,
We encountered a problem that when a machine didn't support the
required number of vectors (nvec),
instead of trying to get 2 vectors like in the previous version, it
didn't use MSI-X at all - causing a major performance degradation.
Maybe in a case of failure we should try lowering the
Hi Roland,
any comments on these patches?
Thanks,
Ron
On Thu, Dec 11, 2008 at 10:59 AM, Ron Livne ro...@voltaire.com wrote:
This series of patches will add a new user space verb:
ibv_create_qp_flags
This new verb works similarly like ibv_create_qp,
excpet for the additional parameter
This series of patches will add a new user space verb:
ibv_create_qp_flags
This new verb works similarly like ibv_create_qp,
excpet for the additional parameter uint32_t create_flags
that it takes in order to create the QP with the specified
creation flags.
I've already sent a similar series of
Adds support for the new verb: create_qp_expanded in libmlx4.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/configure.in b/configure.in
index 25f27f7..10f61eb 100644
--- a/configure.in
+++ b/configure.in
@@ -42,7 +42,9 @@ AC_CHECK_HEADER(valgrind/memcheck.h,
dnl Checks for typedefs
This patch adds support for create_qp_flags
to uverbs.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/drivers/infiniband/core/uverbs.h b/drivers/infiniband/core/uverbs.h
index b3ea958..5871fd0 100644
--- a/drivers/infiniband/core/uverbs.h
+++ b/drivers/infiniband/core/uverbs.h
@@ -194,5
- currently only for mlx4
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h
index fe586f1..cf3b15d 100644
--- a/include/infiniband/verbs.h
+++ b/include/infiniband/verbs.h
@@ -92,7 +92,16 @@ enum ibv_device_cap_flags
I accedently sent this to ewg instead of general.
-- Forwarded message --
From: Ron Livne [EMAIL PROTECTED]
Date: Thu, Dec 11, 2008 at 11:01 AM
Subject: [ewg] [PATCH 1/4]libibverbs: add new verb: ibv_create_qp_flags
To: Roland Drier [EMAIL PROTECTED]
Cc: Ofed lists [EMAIL
Roland,
Wouldn't adding a new field to struct ibv_qp_init_attr break the ABI?
Anyway, I prefer your first approach and just change the functions
name from create_qp_expanded
to avoid compatibility issues.
But if you prefer the ext_mask approach and adding creation flags to
the qp_init_attr
OK, but doesn't it contradict the approach you agreed on?
What do you think of the following approach?
Instead of adding creation flags to the qp_init_attr, I can add a new verb:
ibv_qp *create_qp_extended(struct ibv_pd *pd, struct ibv_qp_init_attr,
*init_attr, enum ibv_qp_create_flags
Hi Vlad,
I pulled today the latest ofed git.
When I tried to run make oldconfig I got the following message:
scripts/kconfig/conf -o arch/x86/Kconfig
file drivers/infiniband/hw/nes/Kconfig already scanned?
make[1]: *** [oldconfig] Error 1
make: *** [oldconfig] Error 2
It seems there was a
Until now, only if joinning a multicast group failed there was a retry
mechanism.
This patch will add a mechanism that will retry to leave a multicast
group before giving up.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/drivers/infiniband/core/multicast.c
b/drivers/infiniband/core
them in OFED 1.4
Roland,
Do you have any remarks for those patches?
Thank you,
Ron
-- Forwarded message --
From: Ron Livne [EMAIL PROTECTED]
Date: Sun, Jul 27, 2008 at 6:23 PM
Subject: [ofa-general] [PATCH 3/3 v3] ib/uverbs: add support for
create_qp_expanded in uverbs
To: Roland
,
I'll have to call ibv_create_qp_expanded with create_flags = 0.
This is not a good idea because it will not be compatible with an older
kernel.
Ron
-Original Message-
From: Sean Hefty [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 31, 2008 8:13 PM
To: Ron Livne
Cc: general
with create_flags = 0.
I know There's a pretty slim chance anyone would want to do so,
because it does the same thing.
But still...
Ron
On Sun, Aug 3, 2008 at 2:17 PM, Jack Morgenstein
[EMAIL PROTECTED] wrote:
On Sunday 03 August 2008 13:36, Ron Livne wrote:
If I'll eliminate the expanded parameter,
I'll
diff --git a/include/rdma/rdma_cma.h b/include/rdma/rdma_cma.h
index a516ab8..34c6b9f 100644
--- a/include/rdma/rdma_cma.h
+++ b/include/rdma/rdma_cma.h
@@ -296,6 +296,10 @@ int rdma_resolve_route(struct rdma_cm_id *id, int
timeout_ms);
int rdma_create_qp(struct rdma_cm_id *id, struct ibv_pd
Adds a new function: int rdma_create_qp_expanded
which uses the ibv_create_qp_expanded function in libibverbs and uses
it similarly to ibv_create_qp, with the difference of creation flags.
Changes in v2:
Added compatibility to old libibverbs.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff
:
Added compatibility for old kernel.
Added __u32 create_flags to ibv_create_qp_expanded.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/include/infiniband/driver.h b/include/infiniband/driver.h
index f8138ef..ea824c8 100644
--- a/include/infiniband/driver.h
+++ b/include/infiniband/driver.h
Adds support for the new verb: create_qp_expanded
in libmlx4.
Changes in v2:
Minimized code duplications by calling mlx4_create_qp_expanded
from mlx4_create_qp.
Changes in v3:
Minimized code duplications by calling mlx4_create_qp_common.
Added compatibility for older kernels.
Signed-off-by: Ron
not be activated through user space.
Changes in v3:
Added compatibility for old libibverbs.
Added field __u32 create_flags to struct ib_uverbs_create_qp_expanded.
Deleted the function ib_uverbs_create_qp_common from v2.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/drivers/infiniband/core
On Sun, Jul 27, 2008 at 6:23 PM, Ron Livne [EMAIL PROTECTED] wrote:
This patch adds support for create_qp_expanded
to the uverbs.
It uses the reserved bitmap in ib_uverbs_create_qp
to transfer the new creation flags from the user space
to the kernel.
Changes in v2:
Minimized code duplication
You're still not using a separate cmd structure for
ib_uverbs_create_qp_expanded.
It is NOT a good idea to use the 8-bit reserved field for
ib_uverbs_create_qp_expanded().
You should use a different struct (as I indicated in my previous mail).
Sorry, I couldn't find the email you were
should be:
__u8 reserved;
__u32 create_flags;
__u32 reserved1;
Why do we need a 32 bit create_flags if the uverbs layer has only 8 bits?
Ron
On Tue, Jul 22, 2008 at 10:09 AM, Jack Morgenstein
[EMAIL PROTECTED] wrote:
On Monday 21 July 2008 23:25, [EMAIL PROTECTED] wrote:
+return ibv_cmd_create_qp_expanded(pd, qp, attr, 0, cmd, cmd_size, resp,
resp_size);
Roland, you are right. This is not a good solution for
old-kernel/new-libibverbs.
It seems that I will have to create a bit messier code (extracting
common code in 2 functions into 1 function) in order to
This series of patches add support for a new verb:
create_qp_expanded, which now takes another argument in addition:
creation flags.
These patches are based on Jack Morgenstein 12 patches for the support in XRC.
Ron
___
general mailing list
these creation flags should be aligned with those in the ib_verbs.h
in the kernel.
3. New creation flags added:
IBV_QP_CREATE_IPOIB_UD_LSO, IBV_MULTICAST_LOOPBACK_BLOCK
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/include/infiniband/driver.h b/include/infiniband/driver.h
Adds support for the new verb: create_qp_expanded
in libmlx4.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/src/mlx4.c b/src/mlx4.c
index 1f23144..bfcb7ec 100644
--- a/src/mlx4.c
+++ b/src/mlx4.c
@@ -79,6 +79,7 @@ static struct ibv_more_ops mlx4_more_ops = {
.query_xrc_rcv_qp
This patch adds support for create_qp_expanded
to the uverbs.
It uses the reserved bitmap in ib_uverbs_create_qp
to transfer the new creation flags from the user space
to the kernel.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
diff --git a/drivers/infiniband/core/uverbs.h b/drivers/infiniband
Hi Jack:
+#ifdef HAVE_IBV_XRC_OPS
+ context-ibv_ctx.more_ops = mlx4_more_ops;
+#endif
As you know, I'm using more_ops for my new ibv_create_qp_expanded user verb.
I need the context-ibv_ctx.more_ops to be always initialized, even if
HAVE_IBV_XRC_OPS isn't set.
I'll release a patch for it.
Ok,
I just had to set LDFLAGS env variable to:
-Xlinker -R/usr/local/lib
Now everything works as it should.
Ron
On Thu, Jul 10, 2008 at 3:21 PM, Ron Livne [EMAIL PROTECTED] wrote:
I edited the configure script, canceled the sizeof long test,
and manually entered there that the size is 8
No problem,
expanded it is.
can we do this so that the new verb lies after XRC in ib_context, since OFED
1.3 went out
with XRC in userspace (so we don't break binary compatibility):
struct ibv_context {
struct ibv_device *device;
struct ibv_context_ops ops;
int
Hi,
I pulled libmlx4 from:
git://git.kernel.org/pub/scm/libs/infiniband/libmlx4.git
I tried building it with:
./autogen.sh
./configure
but the configure script renders the following error:
checking size of long... configure: error: cannot compute sizeof (long),
77
I'm using Redhat 5.1 with
I edited the configure script, canceled the sizeof long test,
and manually entered there that the size is 8.
everything seems to be working fine now.
Ron
On Thu, Jul 10, 2008 at 2:15 PM, Ron Livne [EMAIL PROTECTED] wrote:
Hi,
I pulled libmlx4 from:
git://git.kernel.org/pub/scm/libs
OK, thank you.
If you'll send them until Sunday, I'll send mine on Sunday
Ron
On Thu, Jul 10, 2008 at 11:10 AM, Jack Morgenstein
[EMAIL PROTECTED] wrote:
On Thursday 10 July 2008 10:47, Ron Livne wrote:
I'm going to release some patches, based on your XRC patches, in which
I'm going
Hi,
What do you think of the following approach?
Instead of adding creation flags to the qp_init_attr, I can add a new verb:
ibv_qp *create_qp_extended(struct ibv_pd *pd, struct ibv_qp_init_attr,
*init_attr, enum ibv_qp_create_flags create_flags)
I'm aware that adding a new verb isn't optimal,
by hand:
There is also an improvment of 12% in cpu usage.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Changes in v2:
IB_QP_BLOCK_LOOPBACK QP creation flag in version 1, is now called
IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK.
Changes in v3:
Whitespaces deleted
an improvment of 12% in cpu usage.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Changes in v2:
IB_QP_BLOCK_LOOPBACK QP creation flag in version 1, is now called
IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK.
Changes in v3:
Whitespaces deleted.
Changes in v4:
The redundant initialization for create_flags
that is given as
a parameter, will now be set with the flags that were used when
this QP was created.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Changes in v2:
IB_QP_BLOCK_LOOPBACK QP creation flag in version 1, is now called
IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK.
Changes in v3:
The if statement
This patch adds a capability flag for blocking multicast loopback
packets in an ib device.
This patch also adds a creation flag for QPs:
IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK, which means that when attaching
this QP, the multicast packets loopback block bit will be turned on.
Signed-off-by: Ron
an improvment of 12% in cpu usage.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Changes in v2:
IB_QP_BLOCK_LOOPBACK QP creation flag in version 1, is now called
IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK.
Changes in v3:
Whitespaces deleted.
---
linux-2.6.26-rc2/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
ib_qp_query,
the field create_flags of the struct ib_qp_init_attr that is given as
a parameter, will now be set with the flags that were used when
this QP was created.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Changes in v2:
IB_QP_BLOCK_LOOPBACK QP creation flag in version 1, is now called
, the multicast packets loopback block bit will be turned on.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Changes in v2:
IB_QP_BLOCK_LOOPBACK QP creation flag in version 1, is now called
IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK.
Index: kernels/linux-2.6.26-rc2/include/rdma/ib_verbs.h
mcast packets with IPoIB.
There is also an improvment of 12% in cpu usage.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Changes in v2:
IB_QP_BLOCK_LOOPBACK QP creation flag in version 1, is now called
IB_QP_CREATE_MULTICAST_BLOCK_LOOPBACK.
Index: kernels/linux-2.6.26-rc2/drivers/infiniband/ulp
On Mon, Jun 2, 2008 at 7:35 PM, Roland Dreier [EMAIL PROTECTED] wrote:
+IB_DEVICE_BLOCK_LOOPBACK= (122),
This clashes with MEM_MGT_EXTENSIONS.
looking in the for-2.6.27 branch of your tree,
IB_DEVICE_SEND_W_INV (21) was removed and IB_DEVICE_MEM_MGT_EXTENSIONS (21)
was added
mcast block loopback patch [1/3]
ib_verbs: add mcast block loopback capability to the ib device.
This patch adds a capability flag for blocking mcast loopback
packets in an ib device.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Index: kernels/linux-2.6.26-rc2/include/rdma/ib_verbs.h
(which is mlx4_ib_qp) using ib_qp_query,
the field create_flags of the struct ib_qp_init_attr that is given as
a parameter, will now be set with the flags that were used when
this QP was created.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Index: kernels/linux-2.6.26-rc2/drivers/infiniband/hw
to 39% in bandwidth when
seding mcast packets with IPoIB.
There is also an improvment of 12% in cpu usage.
Signed-off-by: Ron Livne [EMAIL PROTECTED]
Index: kernels/linux-2.6.26-rc2/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
This is a fix for ia64 unalignment umad.
Ron
alignment_mad_ia64.patch
Description: alignment_mad_ia64.patch
___
general mailing list
general@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe,
57 matches
Mail list logo