RE: [PATCH] IB/core: Don't warn on no SA support in event handler

2015-06-10 Thread Hefty, Sean
> > Registering an event handler is done for a device. This device may have > > one RoCE port (no SA cap) and one InfiniBand port (has SA cap). > > Therefore, warning from the event handler about a specific port that > > doesn't have SA cap is correct but pollutes the kernel log without a > > need.

RE: [PATCH v4 0/4] Sending kernel pathrecord query to user cache server

2015-06-10 Thread Hefty, Sean
> While this appears to address the current upstream use model for ACM > with it's multicast overlay backend where PRs are static, it does not > appear to address PR changes. Although this ties into ibacm, from the viewpoint of the kernel, there's no requirement on the user space implementation.

RE: [PATCH for-next V5 00/12] Move RoCE GID management to IB/Core

2015-06-10 Thread Hefty, Sean
> Sean, this change is needed b/c two drivers have (mlx4 and ocrda) and > more two to come soon (mlx5 and soft-Roce) would have the very same > logic of constructing the port GID table according to netdev events and > such, no point in repeating this logic/code over and over. > > Matan explained w

RE: [PATCH] IB/core: Get rid of redundant verb ib_destroy_mr

2015-06-08 Thread Hefty, Sean
> --- a/drivers/infiniband/hw/mlx5/mr.c > +++ b/drivers/infiniband/hw/mlx5/mr.c > @@ -1174,6 +1174,18 @@ static int clean_mr(struct mlx5_ib_mr *mr) > int umred = mr->umred; > int err; > > + if (mr->sig) { > + if (mlx5_core_destroy_psv(dev->mdev, > +

RE: [PATCH for-next V5 00/12] Move RoCE GID management to IB/Core

2015-06-08 Thread Hefty, Sean
> Previously, every vendor implemented its net device notifiers in its own > driver. This introduces a huge code duplication as figuring > 28 files changed, 2253 insertions(+), 860 deletions(-) How does adding 1400 lines of code help reduce code duplication? Can you please explain and justify

RE: [PATCH 1/5] IB/core: Introduce Fast Indirect Memory Registration verbs API

2015-06-08 Thread Hefty, Sean
> In order to support that we provide the user with an interface > to pass a scattered list of buffers to the IB core layer called > ib_indir_reg_list and provide a new send work request opcode > called IB_WR_REG_INDIR_MR. We extend wr union with a new type of > memory registration called indir_reg

RE: [PATCH 10/14] IB/mad: Add support for additional MAD info to/from drivers

2015-06-08 Thread Hefty, Sean
> @@ -1693,8 +1693,11 @@ struct ib_device { > u8 port_num, > const struct ib_wc *in_wc, > const struct ib_grh *in_grh, > -

RE: [PATCH] IB/CMA: Fix condition to search for InfiniBand route

2015-06-08 Thread Hefty, Sean
> The flag RDMA_CORE_CAP_IB_SA is set when link layer is InfiniBand but > also when link layer is Ethernet. Therefore, link layer is not implied by This flag should NOT be set for Ethernet. What is setting this? > this flag. > > --- > drivers/infiniband/core/cma.c |2 +- > 1 files changed,

RE: [PATCH for-next V2 0/9] Add completion timestamping support

2015-06-08 Thread Hefty, Sean
> > If I were adding timestamps, I would probably define a new completion > > structure with 2 u64 time stamp fields (start and end times), and figure > > out when start occurred, end occurred, and the timing metric later. :) > > Not sure why you would need the start. The app knows when it submit

RE: [PATCH v3 4/4] IB/sa: Route SA pathrecord query through netlink

2015-06-05 Thread Hefty, Sean
> Yes, I saw Sean's comment, and I am glad we all understand there are > only 3 callers. And looking at the callers there are only a small > number of elements being used: > > rdma cm: > IB_SA_PATH_REC_DGID | IB_SA_PATH_REC_SGID | > IB_SA_PATH_REC_PKEY | IB_SA_PATH_REC_NUMB_PA

RE: [PATCH v3 4/4] IB/sa: Route SA pathrecord query through netlink

2015-06-04 Thread Hefty, Sean
> I am very surprised to see this layered under send_mad, all the > context is lost at that point, and it makes it impossible to provide > all the non-IB context (IP addrs, netdevs, QOS, etc) It's layered under query path record. This should provide the most benefit to the most applications, inc

RE: [PATCH for-next V2 0/9] Add completion timestamping support

2015-06-04 Thread Hefty, Sean
> Can you share what the libfabric change would look like to add a > timestamp field to the completion? That might be informative, > libfabric is also consuming the kernel UAPI. Libfabric uses a CQ format option. so this would just require a new format. There is no type checking on CQ poll (read)

RE: [PATCH for-next V2 0/9] Add completion timestamping support

2015-06-04 Thread Hefty, Sean
> No, if they followed (I didn't check yes) the extension scheme then the > poll call is > > struct ibv_wc_ex wcs[num_wcs] > ibv_poll_wc_ex(&wcs,num_wcs,sizeof(wcs[0])); > > And the drivers decide what to do based on the 3rd argument, which is > essentially the ABI version. As a couple of opti

RE: [PATCH for-next 09/10] IB/mlx4: Add timestamp_mask and hca_core_clock to query_device

2015-06-01 Thread Hefty, Sean
> We want to have a time stamp when the action is complete and the data is > available to the application or the send action is complete and the CQ > entry can be reused. This is what polling the completion from the CQ tells you, independent of there being a time stamp. -- To unsubscribe from thi

RE: [PATCH for-next 09/10] IB/mlx4: Add timestamp_mask and hca_core_clock to query_device

2015-05-29 Thread Hefty, Sean
> The use case is clear IMO. It's for financial trading software. I > don't think they really care about details like whether it's the start > or end packet, or completion, or whatever. They need a tie breaker > between when they have two different buy or sell orders on the same lot > of stock.

RE: [PATCH for-next 09/10] IB/mlx4: Add timestamp_mask and hca_core_clock to query_device

2015-05-29 Thread Hefty, Sean
> Now, as a general rule, I would call timestamps general. They should be > added in a fashion that anyone can implement. They should also be well > defined. Sean's questions raise a very valid point. Exactly what is > being timestamped, and do we care about different timestamp options? Is > i

RE: [PATCH for-next 09/10] IB/mlx4: Add timestamp_mask and hca_core_clock to query_device

2015-05-29 Thread Hefty, Sean
> What is the issue here? The timestamp is created when the processing is > finished by the nic and the completion entry becomes available. The timestamp is generated when a work completion entry is written. If there's a clear use case for this, it hasn't been described. The use case you menti

RE: [PATCH for-next 09/10] IB/mlx4: Add timestamp_mask and hca_core_clock to query_device

2015-05-29 Thread Hefty, Sean
> > > Second: What about wrap around? Does it even make sense to expose less > > > than 64 bits to userspace? Should the driver manage wrap around to > > > create a flat 64 bit space? > > > > The wrap around is given by the mask. Cycle registers are often shorter > > than 64 bits. > > I am aware o

RE: [RFC] IB/sa: Route SA pathrecord query through netlink

2015-05-21 Thread Hefty, Sean
> > #define IB_NL_DATA_TYPE_INVALID 0x > > #define IB_NL_DATA_TYPE_NAME0x0001 > > #define IB_NL_DATA_TYPE_ADDRESS_IP 0x0002 > > #define IB_NL_DATA_TYPE_ADDRESS_IP6 0x0003 > > #define IB_NL_DATA_TYPE_PATH_RECORD 0x0004 > > #def

RE: [PATCH v3 for-next 05/13] IB/cm: Reference count ib_cm_ids

2015-05-21 Thread Hefty, Sean
> It remains to clean up ib_cm's ib_cm_listen interface now that > compare_data isn't used, but I'm not sure this belongs in this series. This patch series is changing the behavior that the compare data solves. Currently, the ib_cm handles all of the multiplexing for the rdma_cm -- that's the r

RE: [PATCH 08/14] IB/core: Add rdma_max_mad_size helper

2015-05-20 Thread Hefty, Sean
> The value is 0 by default (kzalloc) and is why I wrote the comment like I > did. My objection with the comment is that it was not describing what the function did, but rather the value that should be stored in the structure. Basically, it seemed misplaced. -- To unsubscribe from this list: se

RE: [PATCH 03/14] IB/mad: Create handle_ib_smi

2015-05-20 Thread Hefty, Sean
> Can I add your reviewed by after this change? Yes - I've reviewed all patches except 10 and 14 so far. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

RE: [PATCH 09/14] IB/mad: Convert allocations from kmem_cache to kmalloc

2015-05-20 Thread Hefty, Sean
> @@ -2678,7 +2693,8 @@ static int ib_mad_post_receive_mads(struct > ib_mad_qp_info *qp_info, > mad_priv = mad; > mad = NULL; > } else { > - mad_priv = kmem_cache_alloc(ib_mad_cache, GFP_KERNEL); > + m

RE: [PATCH 08/14] IB/core: Add rdma_max_mad_size helper

2015-05-20 Thread Hefty, Sean
> +/** > + * rdma_max_mad_size - Return the max MAD size required by this RDMA > Port. > + * > + * @device: Device > + * @port_num: Port number > + * > + * Return the max MAD size required by the Port. Should return 0 if the > port > + * does not support MADs > + */ > +static inline size_t rdma_ma

RE: [PATCH 06/14] IB/mad: Add helper function for smi_check_forward_dr_smp

2015-05-20 Thread Hefty, Sean
> diff --git a/drivers/infiniband/core/smi.c b/drivers/infiniband/core/smi.c > index b09fa1dec865..4969ce3338fb 100644 > --- a/drivers/infiniband/core/smi.c > +++ b/drivers/infiniband/core/smi.c > @@ -236,21 +236,20 @@ enum smi_action smi_handle_dr_smp_recv(struct ib_smp > *smp, u8 node_type, >

RE: [PATCH 03/14] IB/mad: Create handle_ib_smi

2015-05-20 Thread Hefty, Sean
> diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c > index 9cd4ce8dfbd0..96daba58afad 100644 > --- a/drivers/infiniband/core/mad.c > +++ b/drivers/infiniband/core/mad.c > @@ -1924,6 +1924,52 @@ static void ib_mad_complete_recv(struct > ib_mad_agent_private *mad_agent_priv,

RE: [PATCH v3] libibverbs init.c: conditionally emit warning if no userspace driver found

2015-05-20 Thread Hefty, Sean
> As I mentioned, I think there is a pretty strong tie between the kernel > stack the libibverbs. Especially when you consider that things like > verbs extensions need to be synced between the two. That's why I'm > offering/suggesting that it would be a good idea that I handle it along > with the

RE: [PATCH 3/3] IB/sa: route SA pathrecord query through netlink

2015-05-20 Thread Hefty, Sean
> The other issue is that each caller in the kernel specifies a different > timeout. Defining this in 1 central place and allowing user space to > control > the policy of that timeout is much better than allowing the kernel clients > to > specify the timeout as they do now. Everything has been ra

RE: [PATCH 3/3] IB/sa: route SA pathrecord query through netlink

2015-05-19 Thread Hefty, Sean
> I'm not sure there is much use case for letting user space get > involved in arbitary MAD traffic.. I was thinking more about easily supporting other queries - ServiceRecords, MCMemberRecords, etc. The only use case I'm currently aware of is PathRecords, however. > Over generalizing feels li

RE: [PATCH 3/3] IB/sa: route SA pathrecord query through netlink

2015-05-19 Thread Hefty, Sean
> > N?r??yb?X??ǧv?^?)޺{.n?+{??ٚ?{ay?ʇڙ?,j ??f???h???z??w??? > > ???j:+v???w?j?m zZ+?ݢj"??! > > Does anyone else ever wonder what this garbage is on some of the > messages from @intel folks? I believe it's some weird formatting of: > To unsubscribe from this list: send

RE: [PATCH][RESEND] IB/cma: Resolve AF_IB UD support

2015-05-19 Thread Hefty, Sean
> Resent due to mailer issues Next time, please put this comment under the '---', so that it doesn't end up in the patch description. > Support for using UD and AF_IB is currently broken. The > IB_CM_SIDR_REQ_RECEIVED > message is not handled properly in cma_save_net_info() and we end up > fall

RE: [PATCH v6 01/26] IB/Verbs: Implement new callback query_transport()

2015-04-28 Thread Hefty, Sean
> For the UDP port used by the usNIC QP, the usnic_verbs kernel driver > requires user space to pass a file descriptor of a regular UDP socket down > at create_qp time. The reference count on this socket is incremented to > make sure that the socket can't disappear out from under us. Then an RX >

RE: [PATCH v6 01/26] IB/Verbs: Implement new callback query_transport()

2015-04-28 Thread Hefty, Sean
> Is the concern here about CM issues or the UDP ports used by the actual > usNIC RQs? UDP port space sharing -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-inf

RE: [PATCH v6 01/26] IB/Verbs: Implement new callback query_transport()

2015-04-27 Thread Hefty, Sean
> > Keep in mind that this enum was Liran's response to Michael's original > > patch. In the enum in Michael's patch, there was both USNIC and > > USNIC_UDP. > > Right! That's why I'm confused. Seems wrong to drop it, right? I think the original USNIC protocol is layered directly over Ethernet.

RE: [PATCH v5 22/27] IB/Verbs: Use management helper cap_ipoib()

2015-04-22 Thread Hefty, Sean
> > > I thought we were dropping this in favor of listing the actual > > > features the ULP required unconditionally? One of my messages had the > > > start of a list.. > > ??? I forget. I was arguing that we should not have it. But I thought > others > disagreed with me so it was left in. I d

RE: [PATCH v5 00/27] IB/Verbs: IB Management Helpers

2015-04-22 Thread Hefty, Sean
> > So, I think that our "old-transport" below is just fine. > > No need to change it (and you aren't, since it is currently implemented > as a function). > > I think there is a need to change this. Encoding the transport into the > node > type is not a good idea. Having different "transport sem

RE: RE: [PATCH v3 for-next 01/33] IB/core: Add RoCE GID cache

2015-04-16 Thread Hefty, Sean
> The RoCE Verbs interface references the HCA GID table in QPs and AHs, for > all RoCE versions. The IBTA specifically does not define software interfaces. The concern here is the architecture and definition of the linux rdma software stack, not verbs, despite the fact that the layer is named t

RE: [PATCH v4 10/27] IB/Verbs: Reform cm related part in IB-core cma/ucm

2015-04-16 Thread Hefty, Sean
> > To be confirmed: > > PORT ASSIGNED > > rdma_init_qp_attr Y > > rdma_destroy_id unknown > > cma_listen_on_dev N > > cma_bind_loopback N Bind loopback will attach to a port, but the id does not have on entry. > > rdma_lis

RE: [PATCH v3 07/28] IB/Verbs: Reform IB-ulp ipoib

2015-04-16 Thread Hefty, Sean
> > No idea, but having ib_register_device fail and unwind if a client > > fails to attach makes sense to me. > > It seems a bit unfriendly to fail an entire device if one ULP has a > problem. Let's say you have a system whose main network connection is > IPoIB. Would you want that connection to

RE: [PATCH v4 10/27] IB/Verbs: Reform cm related part in IB-core cma/ucm

2015-04-16 Thread Hefty, Sean
> After the discussion settled, I ended up thinking that implementing > explicit device checks, for use by CM, and the BUG_ON at register to > require all ports have the same value was the best option. Sure, but why not update the other areas anyway? This way when listens become per port, rather

RE: [PATCH v3 25/28] IB/Verbs: Use management helper cap_af_ib()

2015-04-16 Thread Hefty, Sean
> >> diff --git a/drivers/infiniband/core/cma.c > b/drivers/infiniband/core/cma.c > >> index 65e41f4..7f5815d 100644 > >> --- a/drivers/infiniband/core/cma.c > >> +++ b/drivers/infiniband/core/cma.c > >> @@ -470,7 +470,7 @@ static int cma_resolve_ib_dev(struct > rdma_id_private *id_priv) > >> > >>

RE: [PATCH v3 for-next 01/33] IB/core: Add RoCE GID cache

2015-04-16 Thread Hefty, Sean
> > RoCE v2 is really Infiniband over UDP over IP. Why don't we just call > it IBoUDP like it is? > RoCEv2 is the name in the IBTA spec (Annex 17) We call RoCE IBoE in the kernel, because that's what it is. RoCE is an IBTA marketing name. Looking through the Annex, I don't see where Ethernet i

RE: [PATCH v4 10/27] IB/Verbs: Reform cm related part in IB-core cma/ucm

2015-04-16 Thread Hefty, Sean
> > This is equivalent to today where the checks are per node rather than > > per port. > > > > Should all checks here be port 1 based or only certain ones like listen > > ? For example, in connect/reject/disconnect, don't we already have port > > ? Guess this can be dealt with later as this is not

RE: [PATCH v3 01/28] IB/Verbs: Implement new callback query_transport()

2015-04-15 Thread Hefty, Sean
> libibverbs also exposes transport at the device level. Isn't a change to > make transport per port rather than per device needed there as well to > be consistent with these proposed kernel changes ? If so, would the > additional IBoE transport be exposed ? We also need to worry about > backward c

RE: [PATCH v3 for-next 01/33] IB/core: Add RoCE GID cache

2015-04-15 Thread Hefty, Sean
> It does not break every app, the choice of which GID type to use is made > by the RDMA-CM based on network topology hint obtained from the IP stack. > Please refer to patch 15/33: IB/Core: Changes to the IB Core > infrastructure for RoCEv2 support. > Of course, if the user does not want to go wi

RE: [PATCH v3 07/28] IB/Verbs: Reform IB-ulp ipoib

2015-04-14 Thread Hefty, Sean
> Yes, that is the only reasonable thing that could happen. > > init failure should only be possible under exceptional cases (OOM). > > The only system response is to call ib_umad_add_one again - so of > course the first call had to completely clean up everything it did. A reasonable follow up c

RE: [PATCH v3 for-next 01/33] IB/core: Add RoCE GID cache

2015-04-14 Thread Hefty, Sean
> This is a part of the GID meta info. The user should be able to choose > between RoCE V1 (which is represented here by IB_GID_TYPE_IB) and RoCE > V2 - just as a user could choose between IPv6 and IPv4. IPv4 and IPv6 are different protocols, not different formats for the same address. How does

RE: [PATCH v3 07/28] IB/Verbs: Reform IB-ulp ipoib

2015-04-14 Thread Hefty, Sean
> But that moves us in the wrong direction. If we later support port 2 > without > port 1 that code will be broken. I agree that the code will be broken, but supporting that model requires a lot more work in how the ib_cm listens across devices. -- To unsubscribe from this list: send the line "u

RE: [PATCH v3 for-next 01/33] IB/core: Add RoCE GID cache

2015-04-13 Thread Hefty, Sean
> Yes, this comment probably could use a reword.. > > > + IB_GID_TYPE_IB= 0, > > > + IB_GID_TYPE_ROCE_V2 = 1, > > > + IB_GID_TYPE_SIZE > > > +}; > > > > Can you explain the purpose of defining a 'GID type'. A GID is just a > global > > address. Why does it matter to anyone using it how

RE: [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma

2015-04-13 Thread Hefty, Sean
> On Mon, Apr 13, 2015 at 07:25:48PM +0000, Hefty, Sean wrote: > > > @@ -1037,17 +1033,13 @@ void rdma_destroy_id(struct rdma_cm_id *id) > > > mutex_unlock(&id_priv->handler_mutex); > > > > > > if (id_priv->cma_dev) { > > > -

RE: [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma

2015-04-13 Thread Hefty, Sean
> @@ -1037,17 +1033,13 @@ void rdma_destroy_id(struct rdma_cm_id *id) > mutex_unlock(&id_priv->handler_mutex); > > if (id_priv->cma_dev) { > - switch (rdma_node_get_transport(id_priv->id.device- > >node_type)) { > - case RDMA_TRANSPORT_IB: > + if (rd

RE: [PATCH v3 05/28] IB/Verbs: Reform IB-core sa_query

2015-04-13 Thread Hefty, Sean
> @@ -1153,9 +1153,7 @@ static void ib_sa_add_one(struct ib_device *device) > { > struct ib_sa_device *sa_dev; > int s, e, i; > - > - if (rdma_node_get_transport(device->node_type) != RDMA_TRANSPORT_IB) > - return; > + int count = 0; > > if (device->node_type

RE: [PATCH v3 04/28] IB/Verbs: Reform IB-core cm

2015-04-13 Thread Hefty, Sean
> > - if (rdma_node_get_transport(ib_device->node_type) != > RDMA_TRANSPORT_IB) > > - return; > > + int count = 0; > > I'm ok with this as an intermediate patch but going forward if we are > going to > have calls like > > static inline int cap_ib_cm_dev(struct ib_device *device) I

RE: Stepping down as maintainer (was Re: [PATCH for-next 0/9] mlx4 changes in virtual GID management)

2015-04-13 Thread Hefty, Sean
> Same here (having been asked privately to look into doing this). FWIW, > Red Hat has agreed that they are willing to allow me to transition my job > to a full time upstream focused position (as of now, I work on upstream > around my deliverables inside the company). Excellent. To me, this seem

RE: Stepping down as maintainer (was Re: [PATCH for-next 0/9] mlx4 changes in virtual GID management)

2015-04-13 Thread Hefty, Sean
> Unfortunately, Sean -- you haven't provided for > 2 months any > feedback on the patches to the CM/CMA modules which you own/maintain > for supporting name-spaces and such which are part of enabling proper > RDMA support for containers. > http://marc.info/?l=linux-netdev&m=142366747608908&w=2 Thi

RE: Stepping down as maintainer (was Re: [PATCH for-next 0/9] mlx4 changes in virtual GID management)

2015-04-10 Thread Hefty, Sean
> I'm on a perhaps-unfortunately-timed vacation this week, but to make > the transition smooth, I'll handle the easy patches that are in flight > for 4.1, and then turn things over to the community for 4.2. (Unless > the feeling is that it's better for me to step down immediately — I > have no pro

RE: Stepping down as maintainer (was Re: [PATCH for-next 0/9] mlx4 changes in virtual GID management)

2015-04-09 Thread Hefty, Sean
> > This thread has made me realize that even as I am able to carve out > > more time to work on things like IB maintaintership, I no longer > > have the desire to spend my time maintaining the IB subsystem. > > Since my current level of activity is clearly hurting the community, > > I've decided t

RE: [PATCH v4 17/19] IB/mad: Implement support for Intel Omni-Path Architecture base version MADs in ib_create_send_mad

2015-04-08 Thread Hefty, Sean
> > Didn't an earlier patch make is possible to read the mad_size directly > from the device? > > > > Not exactly, that patch specified the "max_mad_size" the device supported. > > OPA devices support IB MADs. If the IB Base Version is specified on an > OPA > device the IB MAD size is to be used

RE: [PATCH v2 01/17] IB/Verbs: Implement new callback query_transport() for each HW

2015-04-08 Thread Hefty, Sean
> I'm concerned about the performance implications of this. The size of > this patchset already points out just how many places in the code we > have to check for various aspects of the device transport in order to do > the right thing. Without going through the entire list to see how many > are

RE: [PATCH v2 13/17] IB/Verbs: Reform cma/ucma with management helpers

2015-04-08 Thread Hefty, Sean
> On 04/07/2015 11:36 PM, Hefty, Sean wrote: > >> diff --git a/drivers/infiniband/core/cma.c > b/drivers/infiniband/core/cma.c > >> index d8a8ea7..c23f483 100644 > >> --- a/drivers/infiniband/core/cma.c > >> +++ b/drivers/infiniband/core/c

RE: [PATCH v3 for-next 01/33] IB/core: Add RoCE GID cache

2015-04-07 Thread Hefty, Sean
> In order to manage multiple types, vlans and MACs per GID, we > need to store them along the GID itself. We store the net device > as well, as sometimes GIDs should be handled according to the > net device they came from. Since populating the GID table should > be identical for every RoCE provide

RE: [PATCH v2 13/17] IB/Verbs: Reform cma/ucma with management helpers

2015-04-07 Thread Hefty, Sean
> diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c > index d8a8ea7..c23f483 100644 > --- a/drivers/infiniband/core/cma.c > +++ b/drivers/infiniband/core/cma.c > @@ -435,10 +435,10 @@ static int cma_resolve_ib_dev(struct rdma_id_private > *id_priv) > pkey = ntohs(addr

RE: [PATCH v2 02/17] IB/Verbs: Implement raw management helpers

2015-04-07 Thread Hefty, Sean
> +static inline int rdma_transport_ib(struct ib_device *device, u8 > port_num) > +{ > + return device->query_transport(device, port_num) > + == RDMA_TRANSPORT_IB; > +} > + > +static inline int rdma_transport_iboe(struct ib_device *device, u8 > port_num) > +{ > + return

RE: [PATCH v2 10/17] IB/Verbs: Adopt management helpers for IB helpers

2015-04-07 Thread Hefty, Sean
> > index f704254..4e61104 100644 > > +++ b/drivers/infiniband/core/sa_query.c > > @@ -540,7 +540,7 @@ int ib_init_ah_from_path(struct ib_device *device, > u8 port_num, > > ah_attr->port_num = port_num; > > ah_attr->static_rate = rec->rate; > > > > - force_grh = rdma_port_get_link_layer(d

RE: [PATCH v2 11/17] IB/Verbs: Reform link_layer_show() and ib_uverbs_query_port()

2015-04-07 Thread Hefty, Sean
> diff --git a/drivers/infiniband/core/sysfs.c > b/drivers/infiniband/core/sysfs.c > index cbd0383..aa53e40 100644 > --- a/drivers/infiniband/core/sysfs.c > +++ b/drivers/infiniband/core/sysfs.c > @@ -248,14 +248,10 @@ static ssize_t phys_state_show(struct ib_port *p, > struct port_attribute *unuse

RE: [PATCH v2 10/17] IB/Verbs: Adopt management helpers for IB helpers

2015-04-07 Thread Hefty, Sean
> diff --git a/drivers/infiniband/core/sa_query.c > b/drivers/infiniband/core/sa_query.c > index f704254..4e61104 100644 > --- a/drivers/infiniband/core/sa_query.c > +++ b/drivers/infiniband/core/sa_query.c > @@ -540,7 +540,7 @@ int ib_init_ah_from_path(struct ib_device *device, u8 > port_num, >

RE: [PATCH v4 12/19] IB/mad: Add MAD size parameters to process_mad

2015-04-07 Thread Hefty, Sean
> > Rather than calling device->process_mad() directly, would it be better > to call a common function? So we can avoid adding: > > > > > + struct ib_mad *in_mad = (struct ib_mad *)in; > > > + struct ib_mad *out_mad = (struct ib_mad *)out; > > > + > > > + if (in_mad_size != sizeof(*in_mad) || *out

RE: [PATCH v4 19/19] IB/mad: Implement Intel Omni-Path Architecture MAD processing

2015-04-07 Thread Hefty, Sean
> > > The IBA is pretty clear what should happen to process an unsupported > class > > > version and and adding OPA shouldn't suddenly make the IB side > > > non-conformant, however aesthetically unpleasing the code may be. > > > > Are there checks to ensure that MADs not supported by RoCE aren't >

RE: [PATCH v4 19/19] IB/mad: Implement Intel Omni-Path Architecture MAD processing

2015-04-07 Thread Hefty, Sean
> > The IBA is pretty clear what should happen to process an unsupported > class > > version and and adding OPA shouldn't suddenly make the IB side > > non-conformant, however aesthetically unpleasing the code may be. > > Are there checks to ensure that MADs not supported by RoCE aren't > processe

RE: [PATCH v4 19/19] IB/mad: Implement Intel Omni-Path Architecture MAD processing

2015-04-07 Thread Hefty, Sean
> Hal asked for this, and I agree. It is just lazy not to check the > underlying device type for this stuff - they are different number > spaces, administered by different bodies with no apparent > coordination. > > The IBA is pretty clear what should happen to process an unsupported class > versi

RE: [PATCH v4 02/19] IB/core: Cache device attributes for use by upper level drivers

2015-04-06 Thread Hefty, Sean
> I understand your point and I originally called this "attributes" but it > was > suggested to call it cached_dev_attrs. > > https://www.mail-archive.com/linux-rdma%40vger.kernel.org/msg22486.html > > I can change it back if we are all agreed. I'll disagree with Or on this. Unless some of thes

RE: [PATCH v4 19/19] IB/mad: Implement Intel Omni-Path Architecture MAD processing

2015-04-03 Thread Hefty, Sean
> diff --git a/drivers/infiniband/core/agent.c > b/drivers/infiniband/core/agent.c > index b6bd305..18275a5 100644 > --- a/drivers/infiniband/core/agent.c > +++ b/drivers/infiniband/core/agent.c > @@ -80,13 +80,17 @@ ib_get_agent_port(struct ib_device *device, int > port_num) > > void agent_send_

RE: [PATCH v4 15/19] IB/mad: Create jumbo_mad data structures

2015-04-03 Thread Hefty, Sean
> > diff --git a/include/rdma/ib_mad.h b/include/rdma/ib_mad.h > > index 00a5e51..80e7cf4 100644 > > --- a/include/rdma/ib_mad.h > > +++ b/include/rdma/ib_mad.h > > @@ -136,6 +136,11 @@ enum { > > IB_MGMT_DEVICE_HDR = 64, > > IB_MGMT_DEVICE_DATA = 192, > > IB_MGMT_MAD_SIZE = IB_MGMT_MAD

RE: [PATCH v4 18/19] IB/mad: Implement Intel Omni-Path Architecture SMP processing

2015-04-03 Thread Hefty, Sean
> @@ -236,6 +252,24 @@ enum smi_action smi_handle_dr_smp_recv(struct ib_smp > *smp, u8 node_type, > smp->dr_slid == IB_LID_PERMISSIVE); > } > > +/* > + * Adjust information for a received SMP > + * Return 0 if the SMP should be dropped The function returns a

RE: [PATCH v4 17/19] IB/mad: Implement support for Intel Omni-Path Architecture base version MADs in ib_create_send_mad

2015-04-03 Thread Hefty, Sean
> @@ -937,20 +937,31 @@ struct ib_mad_send_buf * ib_create_send_mad(struct > ib_mad_agent *mad_agent, > struct ib_mad_send_wr_private *mad_send_wr; > int pad, message_size, ret, size; > void *buf; > + size_t mad_size; > + int opa; > > mad_agent_priv = container_of(m

RE: [PATCH v4 16/19] IB/mad: Add Intel Omni-Path Architecture defines

2015-04-03 Thread Hefty, Sean
> /* Registration table sizes */ > #define MAX_MGMT_CLASS 80 > -#define MAX_MGMT_VERSION 8 > +#define MAX_MGMT_VERSION 0x83 It's unfortunate that this results in a big jump in used versions. Mad_priv.h defines this: struct ib_mad_port_private { ... struct

RE: [PATCH v4 15/19] IB/mad: Create jumbo_mad data structures

2015-04-03 Thread Hefty, Sean
> Define jumbo_mad and jumbo_rmpp_mad. I would just use 'opa_mad' in place of 'jumbo_mad'. Jumbo sounds like a marketing term or elephant name. > Jumbo MAD structures are 2K versions of ib_mad and ib_rmpp_mad structures. > Currently only OPA base version MADs are of this type. > > Create an R

RE: [PATCH v4 12/19] IB/mad: Add MAD size parameters to process_mad

2015-04-03 Thread Hefty, Sean
> -static struct ib_mad_private *alloc_mad_priv(struct ib_device *dev) > +static struct ib_mad_private *alloc_mad_priv(struct ib_device *dev, > + size_t *mad_size) > { > + *mad_size = dev->cached_dev_attrs.max_mad_size; Why does this function return th

RE: [PATCH v4 08/19] IB/mad: Add helper function for smi_handle_dr_smp_send

2015-04-03 Thread Hefty, Sean
Reviewed-by: Sean Hefty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

RE: [PATCH v4 04/19] IB/mad: Change ib_response_mad signature to take ib_mad_hdr rather than ib_mad

2015-04-03 Thread Hefty, Sean
Reviewed-by: Sean Hefty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

RE: [PATCH v4 03/19] IB/mad: Change validate_mad signature to take ib_mad_hdr rather than ib_mad

2015-04-03 Thread Hefty, Sean
Reviewed-by: Sean Hefty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

RE: [PATCH v4 02/19] IB/core: Cache device attributes for use by upper level drivers

2015-04-03 Thread Hefty, Sean
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h > index 0d74f1d..0116e4b 100644 > --- a/include/rdma/ib_verbs.h > +++ b/include/rdma/ib_verbs.h > @@ -1675,6 +1675,7 @@ struct ib_device { > u32 local_dma_lkey; > u8 node_

RE: [PATCH for-next 0/9] mlx4 changes in virtual GID management

2015-03-31 Thread Hefty, Sean
> I must disagree. You made this claim back when we submitted the IB > core patch which adds support for signature, protection etc offloads > (commit 1b01d33560e7 "IB/core: Introduce signature verbs API" and the > detailed replied you got were explaining that And I'll continue to make this claim b

RE: [PATCH for-next 0/9] mlx4 changes in virtual GID management

2015-03-31 Thread Hefty, Sean
> It doesn't take a lot of time to do this work, especially if you use > the correct tools. I can review and apply 100 patches a day, even > when I'm on vacation. I'm an extreme example, but what you're doing > right now Roland is not acceptable and is not in agreement with your > claims about ho

RE: [PATCH librdmacm] rstream.c: Add missing binding to source address in client_connect

2015-03-25 Thread Hefty, Sean
Thanks - applied -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

RE: [PATCH 1/1] ibacm: Use pkey 0xffff or 0x7fff for SA query

2015-03-25 Thread Hefty, Sean
Thanks - applied -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

RE: [PATCH v4 14/19] IB/core: Add IB_DEVICE_OPA_MAD_SUPPORT device cap flag

2015-03-23 Thread Hefty, Sean
> Yes, it's currently copy the logical we are using to branch the > management, however, if the vendor could provide his own setup code > here, we don't really need to infer anymore but following the > indicator from vendor, this 'default' method is for transition. > > Sean, could you please give

RE: [PATCH v1 00/10] Add network namespace support in the RDMA-CM

2015-03-19 Thread Hefty, Sean
> > On 02/11/2015 05:06 PM, Shachar Raindel wrote: > >> RDMA-CM uses IP based addressing and routing to setup RDMA > >> connections between > >> hosts. Currently, all of the IP interfaces and addresses used by the > >> RDMA-CM > >> must reside in the init_net namespace. This restricts the usage of

RE: [PATCH RFC] IB/verbs: introduce rdma_transport_is_ib() to check transport type

2015-03-19 Thread Hefty, Sean
> We have plenty of places where we don't care what exactly the > transport type is, but only care if it's IB type. > > This patch introduce rdma_transport_is_ib() as shortcuts to check > whether an 'ib_device' is infiniband transport type, which help us to > save some code. In most of these plac

RE: [PATCH v4 14/19] IB/core: Add IB_DEVICE_OPA_MAD_SUPPORT device cap flag

2015-03-17 Thread Hefty, Sean
> But it makes sense to me to use management specific > fields/attributes/flags for the *management* pieces, rather than using the > link and/or transport layer protocols as a proxy. Management related code > should really branch based on that. As a proposal, we could add a new field to the kerne

RE: [PATCH v4 14/19] IB/core: Add IB_DEVICE_OPA_MAD_SUPPORT device cap flag

2015-03-16 Thread Hefty, Sean
> > or management application. > > Agreed, but _only_ when talking to the hardware. Other MAD interfaces are > IB compatible. Maybe this is what Ira is thinking, and just not explaining very well. But it makes sense to me to use management specific fields/attributes/flags for the *management*

RE: [PATCH v4 14/19] IB/core: Add IB_DEVICE_OPA_MAD_SUPPORT device cap flag

2015-03-04 Thread Hefty, Sean
> InfiniBandInfiniBand InfiniBand Verbs > iWARP InfiniBand iWARP Verbs (subset of IBV, with > specific connection establishment > requirements that don't exist with IBV) > RoCE EthernetInfiniBand Verb

RE: rdma_connect() and IBV_QPT_UC

2015-02-06 Thread Hefty, Sean
> Thanks for the quick response. I've made the suggested changes, but > I'm afraid I am having the same problems. In fact, I see that a > previous thread ( > http://www.spinics.net/lists/linux-rdma/msg07573.html ) follows > another user with the same problem. In fact, I finally found a message > (f

RE: rdma_connect() and IBV_QPT_UC

2015-02-04 Thread Hefty, Sean
> I have a fairly complex system that I've built over the last few years > as part of my PhD that uses reliable connections for message-passing > and RDMA. After reading a recent paper, I decided to compare the > performance of message-passing over unreliable connections for the > sake of completen

RE: [PATCH V1 for-next 3/4] IB/core: Make sure that the PSN does not overflow

2015-02-04 Thread Hefty, Sean
> > >>@@ -860,6 +860,12 @@ int ib_modify_qp_is_ok(enum ib_qp_state > cur_state, enum ib_qp_state next_state, > > >> if (mask & ~(req_param | opt_param | IB_QP_STATE)) > > >> return 0; > > >>+ if ((mask & IB_QP_SQ_PSN) && (attr->sq_psn & 0xff00)) > > >>+ return

RE: [PATCH] rping: create persistent server threads in DETACHED state

2015-01-22 Thread Hefty, Sean
Thanks - applied

RE: [PATCH] rping: create persistent server threads in DETACHED state

2015-01-20 Thread Hefty, Sean
> Does this patch look ok? It looks okay at a glance. Sorry, I haven't lost this, but just haven't had time to apply it. N�r��yb�X��ǧv�^�)޺{.n�+{��ٚ�{ay�ʇڙ�,j��f���h���z��w��� ���j:+v���w�j�mzZ+�ݢj"��!�i

RE: [PATCH 16/20] IB/mad: Add Intel Omni-Path Architecture defines

2015-01-19 Thread Hefty, Sean
> Currently, these patches are claiming values that are controlled by an > established standards organization. It is the equivalent of just > grabbing a currently unused Ethertype value for a new protocol and then > claiming that whenever the IEEE allocates it for something else you will > make cha

RE: [PATCH 1/1] ibacm: open only prov endpoints with name/addr configured

2015-01-07 Thread Hefty, Sean
Thanks - merged -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

RE: [PATCH] RDMA/cma: fix first byte overwritten for AF_IB

2014-12-18 Thread Hefty, Sean
> So it's possible on server side listen using AF_INET, but client > rdma_resolve_addr/rdma_resolve_route/rdma_connect with AF_IB? Yes

<    1   2   3   4   5   6   7   8   9   10   >