All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sagi Grimberg <sagig@dev.mellanox.co.il>
To: Steve Wise <swise@opengridcomputing.com>, dledford@redhat.com
Cc: sagig@mellanox.com, ogerlitz@mellanox.com, roid@mellanox.com,
	linux-rdma@vger.kernel.org, eli@mellanox.com,
	target-devel@vger.kernel.org, linux-nfs@vger.kernel.org,
	trond.myklebust@primarydata.com, bfields@fieldses.org
Subject: Re: [PATCH V3 1/5] RDMA/core: Transport-independent access flags
Date: Mon, 6 Jul 2015 19:17:38 +0300	[thread overview]
Message-ID: <559AAA22.1000608@dev.mellanox.co.il> (raw)
In-Reply-To: <001601d0b7f9$3e1d6d40$ba5847c0$@opengridcomputing.com>

On 7/6/2015 5:37 PM, Steve Wise wrote:
>
>
>> -----Original Message-----
>> From: Sagi Grimberg [mailto:sagig@dev.mellanox.co.il]
>> Sent: Monday, July 06, 2015 2:54 AM
>> To: Steve Wise; dledford@redhat.com
>> Cc: sagig@mellanox.com; ogerlitz@mellanox.com; roid@mellanox.com; linux-rdma@vger.kernel.org; eli@mellanox.com; target-
>> devel@vger.kernel.org; linux-nfs@vger.kernel.org; trond.myklebust@primarydata.com; bfields@fieldses.org
>> Subject: Re: [PATCH V3 1/5] RDMA/core: Transport-independent access flags
>>
>> On 7/6/2015 2:22 AM, Steve Wise wrote:
>>> The semantics for MR access flags are not consistent across RDMA
>>> protocols.  So rather than have applications try and glean what they
>>> need, have them pass in the intended roles and attributes for the MR to
>>> be allocated and let the RDMA core select the appropriate access flags
>>> given the roles, attributes, and device capabilities.
>>>
>>> We introduce rdma_mr_roles and rdma_mr_attributes that enumerate the
>>> possible roles and attributes for a MR.  These are documented in the
>>> enums themselves.
>>>
>>> New services exported:
>>>
>>> rdma_device_access_flags() - given the intended MR roles and attributes
>>> passed in, return the ib_access_flags bits for the device.
>>>
>>> rdma_get_dma_mr() - allocate a dma mr using the applications intended
>>> MR roles and MR attributes.  This uses rdma_device_access_flags().
>>>
>>> rdma_fast_reg_access_flags() - return the ib_access_flags bits needed
>>> for a fast register WR given the applications intended MR roles and
>>> MR attributes.  This uses rdma_device_access_flags().
>>>
>>> Signed-off-by: Steve Wise <swise@opengridcomputing.com>
>>> ---
>>>
>>>    drivers/infiniband/core/verbs.c |   30 +++++++++++
>>>    include/rdma/ib_verbs.h         |  106 +++++++++++++++++++++++++++++++++++++++
>>>    2 files changed, 136 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
>>> index bac3fb4..f42595c 100644
>>> --- a/drivers/infiniband/core/verbs.c
>>> +++ b/drivers/infiniband/core/verbs.c
>>> @@ -1144,6 +1144,36 @@ struct ib_mr *ib_get_dma_mr(struct ib_pd *pd, int mr_access_flags)
>>>    }
>>>    EXPORT_SYMBOL(ib_get_dma_mr);
>>>
>>> +int rdma_device_access_flags(struct ib_pd *pd, int roles, int attrs)
>>> +{
>>> +	int access_flags = attrs;
>>> +
>>> +	if (roles & RDMA_MRR_RECV)
>>> +		access_flags |= IB_ACCESS_LOCAL_WRITE;
>>> +
>>> +	if (roles & RDMA_MRR_WRITE_DEST)
>>> +		access_flags |= IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE;
>>> +
>>> +	if (roles & RDMA_MRR_READ_DEST) {
>>> +		access_flags |= IB_ACCESS_LOCAL_WRITE;
>>> +		if (rdma_protocol_iwarp(pd->device,
>>> +					rdma_start_port(pd->device)))
>>> +			access_flags |= IB_ACCESS_REMOTE_WRITE;
>>> +	}
>>> +
>>> +	if (roles & RDMA_MRR_READ_SOURCE)
>>> +		access_flags |= IB_ACCESS_REMOTE_READ;
>>> +
>>> +	if (roles & RDMA_MRR_ATOMIC_DEST)
>>> +		access_flags |= IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_ATOMIC;
>>> +
>>> +	if (roles & RDMA_MRR_MW_BIND)
>>> +		access_flags |= IB_ACCESS_MW_BIND;
>>> +
>>> +	return access_flags;
>>> +}
>>> +EXPORT_SYMBOL(rdma_device_access_flags);
>>> +
>>>    struct ib_mr *ib_reg_phys_mr(struct ib_pd *pd,
>>>    			     struct ib_phys_buf *phys_buf_array,
>>>    			     int num_phys_buf,
>>> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
>>> index 986fddb..da1eadf 100644
>>> --- a/include/rdma/ib_verbs.h
>>> +++ b/include/rdma/ib_verbs.h
>>> @@ -2494,6 +2494,112 @@ static inline int ib_req_ncomp_notif(struct ib_cq *cq, int wc_cnt)
>>>    struct ib_mr *ib_get_dma_mr(struct ib_pd *pd, int mr_access_flags);
>>>
>>>    /**
>>> + * rdma_mr_roles - possible roles an RDMA MR will be used for
>>> + *
>>> + * This allows a transport independent RDMA application to
>>> + * create MRs that are usable for all the desired roles w/o
>>> + * having to understand which access rights are needed.
>>> + */
>>> +enum {
>>> +
>>> +	/* lkey used in a ib_recv_wr sge */
>>> +	RDMA_MRR_RECV			= 1,
>>> +
>>> +	/* lkey used for IB_WR_SEND* ops in the ib_send_wr sge */
>>> +	RDMA_MRR_SEND			= (1<<1),
>>> +
>>> +	/* rkey used for IB_WR_RDMA_READ* ops in ib_send_wr wr.rdma.rkey */
>>> +	RDMA_MRR_READ_SOURCE		= (1<<2),
>>> +
>>> +	/* lkey used for IB_WR_RDMA_READ* ops in the ib_send_wr sge */
>>> +	RDMA_MRR_READ_DEST		= (1<<3),
>>> +
>>> +	/* lkey used for IB_WR_RDMA_WRITE* ops in the ib_send_wr sge */
>>> +	RDMA_MRR_WRITE_SOURCE		= (1<<4),
>>> +
>>> +	/* rkey used for IB_WR_RDMA_WRITE* ops in ib_send_wr wr.rdma.rkey */
>>> +	RDMA_MRR_WRITE_DEST		= (1<<5),
>>> +
>>> +	/*
>>> +	 * lkey used for IB_WR_ATOMIC/MASKED_ATOMIC* ops in the ib_send_wr sge
>>> +	 */
>>> +	RDMA_MRR_ATOMIC_SOURCE		= (1<<6),
>>> +
>>> +	/*
>>> +	 * rkey used for IB_WR_ATOMIC/MASKED_ATOMIC* ops in ib_send_wr
>>> +	 * wr.atomic.rkey
>>> +	 */
>>> +	RDMA_MRR_ATOMIC_DEST		= (1<<7),
>>> +
>>> +	/* MR used for a IB_WR_MW_BIND in ib_send_wr wr.bind_mw.bind_info.mr */
>>> +	RDMA_MRR_MW_BIND		= (1<<8),
>>> +};
>>> +
>>> +/**
>>> + * rdma_mr_attributes - attributes for rdma memory regions
>>> + */
>>> +enum {
>>> +	RDMA_MRA_ZERO_BASED		= IB_ZERO_BASED,
>>> +	RDMA_MRA_ACCESS_ON_DEMAND	= IB_ACCESS_ON_DEMAND,
>>> +};
>>> +
>>> +/**
>>> + * rdma_device_access_flags - Returns the device-specific MR access flags.
>>> + * @pd: The protection domain associated with the memory region.
>>> + * @roles: The intended roles of the MR
>>> + * @attrs: The desired attributes of the MR
>>> + *
>>> + * Use the intended roles from @roles along with @attrs and the device
>>> + * capabilities to generate the needed access rights.
>>> + *
>>> + * Return: the ib_access_flags value needed to allocate the MR.
>>> + */
>>> +int rdma_device_access_flags(struct ib_pd *pd, int roles, int attrs);
>>> +
>>> +/**
>>> + * rdma_get_dma_mr - Returns a memory region for system memory that is
>>> + * usable for DMA.
>>> + * @pd: The protection domain associated with the memory region.
>>> + * @roles: The intended roles of the MR
>>> + * @attrs: The desired attributes of the MR
>>> + *
>>> + * Use the intended roles from @roles along with @attrs and the device
>>> + * capabilities to define the needed access rights, and call
>>> + * ib_get_dma_mr() to allocate the MR.
>>> + *
>>> + * Note that the ib_dma_*() functions defined below must be used
>>> + * to create/destroy addresses used with the Lkey or Rkey returned
>>> + * by ib_get_dma_mr().
>>> + *
>>> + * Return: struct ib_mr pointer upon success, or a pointer encoded errno upon
>>> + * failure.
>>> + */
>>> +static inline struct ib_mr *rdma_get_dma_mr(struct ib_pd *pd, int roles,
>>> +					    int attrs)
>>> +{
>>> +	return ib_get_dma_mr(pd, rdma_device_access_flags(pd, roles, attrs));
>>> +}
>>> +
>>
>> I still think this wrapper should go away...
>
> Ok. I'll remove all uses of ib_get_dma_mr()...
>
>

I meant that rdma_get_dma_mr can go away. I'd prefer to get the
needed access_flags and just call existing verb.

Sagi.

WARNING: multiple messages have this Message-ID (diff)
From: Sagi Grimberg <sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
To: Steve Wise
	<swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
	ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
	roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
	target-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	trond.myklebust-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org,
	bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org
Subject: Re: [PATCH V3 1/5] RDMA/core: Transport-independent access flags
Date: Mon, 6 Jul 2015 19:17:38 +0300	[thread overview]
Message-ID: <559AAA22.1000608@dev.mellanox.co.il> (raw)
In-Reply-To: <001601d0b7f9$3e1d6d40$ba5847c0$@opengridcomputing.com>

On 7/6/2015 5:37 PM, Steve Wise wrote:
>
>
>> -----Original Message-----
>> From: Sagi Grimberg [mailto:sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org]
>> Sent: Monday, July 06, 2015 2:54 AM
>> To: Steve Wise; dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
>> Cc: sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org; ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org; roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org; linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org; target-
>> devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; trond.myklebust-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org; bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org
>> Subject: Re: [PATCH V3 1/5] RDMA/core: Transport-independent access flags
>>
>> On 7/6/2015 2:22 AM, Steve Wise wrote:
>>> The semantics for MR access flags are not consistent across RDMA
>>> protocols.  So rather than have applications try and glean what they
>>> need, have them pass in the intended roles and attributes for the MR to
>>> be allocated and let the RDMA core select the appropriate access flags
>>> given the roles, attributes, and device capabilities.
>>>
>>> We introduce rdma_mr_roles and rdma_mr_attributes that enumerate the
>>> possible roles and attributes for a MR.  These are documented in the
>>> enums themselves.
>>>
>>> New services exported:
>>>
>>> rdma_device_access_flags() - given the intended MR roles and attributes
>>> passed in, return the ib_access_flags bits for the device.
>>>
>>> rdma_get_dma_mr() - allocate a dma mr using the applications intended
>>> MR roles and MR attributes.  This uses rdma_device_access_flags().
>>>
>>> rdma_fast_reg_access_flags() - return the ib_access_flags bits needed
>>> for a fast register WR given the applications intended MR roles and
>>> MR attributes.  This uses rdma_device_access_flags().
>>>
>>> Signed-off-by: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
>>> ---
>>>
>>>    drivers/infiniband/core/verbs.c |   30 +++++++++++
>>>    include/rdma/ib_verbs.h         |  106 +++++++++++++++++++++++++++++++++++++++
>>>    2 files changed, 136 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
>>> index bac3fb4..f42595c 100644
>>> --- a/drivers/infiniband/core/verbs.c
>>> +++ b/drivers/infiniband/core/verbs.c
>>> @@ -1144,6 +1144,36 @@ struct ib_mr *ib_get_dma_mr(struct ib_pd *pd, int mr_access_flags)
>>>    }
>>>    EXPORT_SYMBOL(ib_get_dma_mr);
>>>
>>> +int rdma_device_access_flags(struct ib_pd *pd, int roles, int attrs)
>>> +{
>>> +	int access_flags = attrs;
>>> +
>>> +	if (roles & RDMA_MRR_RECV)
>>> +		access_flags |= IB_ACCESS_LOCAL_WRITE;
>>> +
>>> +	if (roles & RDMA_MRR_WRITE_DEST)
>>> +		access_flags |= IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_WRITE;
>>> +
>>> +	if (roles & RDMA_MRR_READ_DEST) {
>>> +		access_flags |= IB_ACCESS_LOCAL_WRITE;
>>> +		if (rdma_protocol_iwarp(pd->device,
>>> +					rdma_start_port(pd->device)))
>>> +			access_flags |= IB_ACCESS_REMOTE_WRITE;
>>> +	}
>>> +
>>> +	if (roles & RDMA_MRR_READ_SOURCE)
>>> +		access_flags |= IB_ACCESS_REMOTE_READ;
>>> +
>>> +	if (roles & RDMA_MRR_ATOMIC_DEST)
>>> +		access_flags |= IB_ACCESS_LOCAL_WRITE | IB_ACCESS_REMOTE_ATOMIC;
>>> +
>>> +	if (roles & RDMA_MRR_MW_BIND)
>>> +		access_flags |= IB_ACCESS_MW_BIND;
>>> +
>>> +	return access_flags;
>>> +}
>>> +EXPORT_SYMBOL(rdma_device_access_flags);
>>> +
>>>    struct ib_mr *ib_reg_phys_mr(struct ib_pd *pd,
>>>    			     struct ib_phys_buf *phys_buf_array,
>>>    			     int num_phys_buf,
>>> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
>>> index 986fddb..da1eadf 100644
>>> --- a/include/rdma/ib_verbs.h
>>> +++ b/include/rdma/ib_verbs.h
>>> @@ -2494,6 +2494,112 @@ static inline int ib_req_ncomp_notif(struct ib_cq *cq, int wc_cnt)
>>>    struct ib_mr *ib_get_dma_mr(struct ib_pd *pd, int mr_access_flags);
>>>
>>>    /**
>>> + * rdma_mr_roles - possible roles an RDMA MR will be used for
>>> + *
>>> + * This allows a transport independent RDMA application to
>>> + * create MRs that are usable for all the desired roles w/o
>>> + * having to understand which access rights are needed.
>>> + */
>>> +enum {
>>> +
>>> +	/* lkey used in a ib_recv_wr sge */
>>> +	RDMA_MRR_RECV			= 1,
>>> +
>>> +	/* lkey used for IB_WR_SEND* ops in the ib_send_wr sge */
>>> +	RDMA_MRR_SEND			= (1<<1),
>>> +
>>> +	/* rkey used for IB_WR_RDMA_READ* ops in ib_send_wr wr.rdma.rkey */
>>> +	RDMA_MRR_READ_SOURCE		= (1<<2),
>>> +
>>> +	/* lkey used for IB_WR_RDMA_READ* ops in the ib_send_wr sge */
>>> +	RDMA_MRR_READ_DEST		= (1<<3),
>>> +
>>> +	/* lkey used for IB_WR_RDMA_WRITE* ops in the ib_send_wr sge */
>>> +	RDMA_MRR_WRITE_SOURCE		= (1<<4),
>>> +
>>> +	/* rkey used for IB_WR_RDMA_WRITE* ops in ib_send_wr wr.rdma.rkey */
>>> +	RDMA_MRR_WRITE_DEST		= (1<<5),
>>> +
>>> +	/*
>>> +	 * lkey used for IB_WR_ATOMIC/MASKED_ATOMIC* ops in the ib_send_wr sge
>>> +	 */
>>> +	RDMA_MRR_ATOMIC_SOURCE		= (1<<6),
>>> +
>>> +	/*
>>> +	 * rkey used for IB_WR_ATOMIC/MASKED_ATOMIC* ops in ib_send_wr
>>> +	 * wr.atomic.rkey
>>> +	 */
>>> +	RDMA_MRR_ATOMIC_DEST		= (1<<7),
>>> +
>>> +	/* MR used for a IB_WR_MW_BIND in ib_send_wr wr.bind_mw.bind_info.mr */
>>> +	RDMA_MRR_MW_BIND		= (1<<8),
>>> +};
>>> +
>>> +/**
>>> + * rdma_mr_attributes - attributes for rdma memory regions
>>> + */
>>> +enum {
>>> +	RDMA_MRA_ZERO_BASED		= IB_ZERO_BASED,
>>> +	RDMA_MRA_ACCESS_ON_DEMAND	= IB_ACCESS_ON_DEMAND,
>>> +};
>>> +
>>> +/**
>>> + * rdma_device_access_flags - Returns the device-specific MR access flags.
>>> + * @pd: The protection domain associated with the memory region.
>>> + * @roles: The intended roles of the MR
>>> + * @attrs: The desired attributes of the MR
>>> + *
>>> + * Use the intended roles from @roles along with @attrs and the device
>>> + * capabilities to generate the needed access rights.
>>> + *
>>> + * Return: the ib_access_flags value needed to allocate the MR.
>>> + */
>>> +int rdma_device_access_flags(struct ib_pd *pd, int roles, int attrs);
>>> +
>>> +/**
>>> + * rdma_get_dma_mr - Returns a memory region for system memory that is
>>> + * usable for DMA.
>>> + * @pd: The protection domain associated with the memory region.
>>> + * @roles: The intended roles of the MR
>>> + * @attrs: The desired attributes of the MR
>>> + *
>>> + * Use the intended roles from @roles along with @attrs and the device
>>> + * capabilities to define the needed access rights, and call
>>> + * ib_get_dma_mr() to allocate the MR.
>>> + *
>>> + * Note that the ib_dma_*() functions defined below must be used
>>> + * to create/destroy addresses used with the Lkey or Rkey returned
>>> + * by ib_get_dma_mr().
>>> + *
>>> + * Return: struct ib_mr pointer upon success, or a pointer encoded errno upon
>>> + * failure.
>>> + */
>>> +static inline struct ib_mr *rdma_get_dma_mr(struct ib_pd *pd, int roles,
>>> +					    int attrs)
>>> +{
>>> +	return ib_get_dma_mr(pd, rdma_device_access_flags(pd, roles, attrs));
>>> +}
>>> +
>>
>> I still think this wrapper should go away...
>
> Ok. I'll remove all uses of ib_get_dma_mr()...
>
>

I meant that rdma_get_dma_mr can go away. I'd prefer to get the
needed access_flags and just call existing verb.

Sagi.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2015-07-06 16:17 UTC|newest]

Thread overview: 223+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-05 23:21 [PATCH V3 0/5] Transport-independent MRs Steve Wise
2015-07-05 23:22 ` [PATCH V3 1/5] RDMA/core: Transport-independent access flags Steve Wise
2015-07-06  5:25   ` Christoph Hellwig
2015-07-06 14:23     ` Steve Wise
2015-07-06 14:23       ` Steve Wise
2015-07-07  8:58       ` 'Christoph Hellwig'
2015-07-06  7:09   ` Haggai Eran
2015-07-06  7:09     ` Haggai Eran
2015-07-06 14:29     ` Steve Wise
2015-07-06 14:29       ` Steve Wise
2015-07-07 14:17     ` Steve Wise
2015-07-07 14:17       ` Steve Wise
2015-07-07 14:34       ` Haggai Eran
2015-07-07 14:34         ` Haggai Eran
2015-07-07 14:46         ` Steve Wise
2015-07-07 14:46           ` Steve Wise
2015-07-07 15:07           ` Haggai Eran
2015-07-07 15:07             ` Haggai Eran
2015-07-06  7:53   ` Sagi Grimberg
2015-07-06  7:53     ` Sagi Grimberg
2015-07-06 14:37     ` Steve Wise
2015-07-06 14:37       ` Steve Wise
2015-07-06 16:17       ` Sagi Grimberg [this message]
2015-07-06 16:17         ` Sagi Grimberg
2015-07-06 16:55         ` Steve Wise
2015-07-06 16:55           ` Steve Wise
2015-07-07  9:00         ` Christoph Hellwig
2015-07-07  9:14           ` Sagi Grimberg
2015-07-07  9:14             ` Sagi Grimberg
2015-07-07 14:05             ` Steve Wise
2015-07-07 14:05               ` Steve Wise
2015-07-07 16:17               ` Jason Gunthorpe
2015-07-07 16:17                 ` Jason Gunthorpe
2015-07-07 16:27                 ` Sagi Grimberg
2015-07-07 16:27                   ` Sagi Grimberg
2015-07-07 21:36                   ` Jason Gunthorpe
2015-07-07 21:36                     ` Jason Gunthorpe
2015-07-08  7:29                     ` Sagi Grimberg
2015-07-08  8:13                       ` 'Christoph Hellwig'
2015-07-08  8:13                         ` 'Christoph Hellwig'
2015-07-08 10:05                         ` Sagi Grimberg
2015-07-08 10:05                           ` Sagi Grimberg
2015-07-08 10:20                           ` 'Christoph Hellwig'
2015-07-08 10:20                             ` 'Christoph Hellwig'
2015-07-08 11:08                             ` Sagi Grimberg
2015-07-08 11:08                               ` Sagi Grimberg
2015-07-08 17:14                               ` Hefty, Sean
2015-07-08 17:14                                 ` Hefty, Sean
2015-07-09  8:46                                 ` Sagi Grimberg
2015-07-09 13:52                                   ` Chuck Lever
2015-07-10 19:34                                     ` Christoph Hellwig
2015-07-12  7:49                                       ` Sagi Grimberg
2015-07-13 16:50                                         ` Jason Gunthorpe
2015-07-14  8:06                                           ` Sagi Grimberg
2015-07-14 12:24                                             ` Tom Talpey
2015-07-14 12:24                                               ` Tom Talpey
2015-07-14 13:21                                               ` Sagi Grimberg
2015-07-14 13:21                                                 ` Sagi Grimberg
2015-07-23  0:43                                               ` Hefty, Sean
2015-07-23  0:43                                                 ` Hefty, Sean
2015-07-08 19:08                       ` Jason Gunthorpe
2015-07-08 20:32                         ` 'Christoph Hellwig'
2015-07-08 20:32                           ` 'Christoph Hellwig'
2015-07-08 20:37                           ` 'Christoph Hellwig'
2015-07-08 20:37                             ` 'Christoph Hellwig'
2015-07-09  0:03                           ` Jason Gunthorpe
2015-07-09  8:00                             ` 'Christoph Hellwig'
2015-07-09  8:00                               ` 'Christoph Hellwig'
2015-07-09  8:58                             ` Sagi Grimberg
2015-07-09  8:58                               ` Sagi Grimberg
2015-07-09 22:18                             ` Doug Ledford
2015-07-09 22:18                               ` Doug Ledford
2015-07-09 22:53                               ` Jason Gunthorpe
2015-07-09 22:53                                 ` Jason Gunthorpe
2015-07-10 13:22                                 ` Tom Talpey
2015-07-10 16:11                                   ` Jason Gunthorpe
2015-07-10 16:11                                     ` Jason Gunthorpe
2015-07-10 17:56                                     ` Doug Ledford
2015-07-10 18:34                                       ` Chuck Lever
2015-07-10 18:42                                       ` Tom Talpey
2015-07-10 19:54                                         ` Jason Gunthorpe
2015-07-10 19:54                                           ` Jason Gunthorpe
2015-07-10 20:48                                           ` Jason Gunthorpe
2015-07-10 22:33                                           ` Doug Ledford
2015-07-10 22:33                                             ` Doug Ledford
2015-07-11 10:17                                           ` 'Christoph Hellwig'
2015-07-11 10:17                                             ` 'Christoph Hellwig'
2015-07-13 16:57                                             ` Jason Gunthorpe
2015-07-13 16:57                                               ` Jason Gunthorpe
2015-07-14  7:25                                               ` 'Christoph Hellwig'
2015-07-14  9:05                                                 ` Sagi Grimberg
2015-07-14 15:35                                                   ` 'Christoph Hellwig'
2015-07-14 17:26                                                   ` Jason Gunthorpe
2015-07-15  7:10                                                     ` Sagi Grimberg
2015-07-15  7:10                                                       ` Sagi Grimberg
2015-07-10 22:30                                         ` Doug Ledford
2015-07-10 22:30                                           ` Doug Ledford
2015-07-10 20:57                                       ` Jason Gunthorpe
2015-07-10 22:27                                         ` Doug Ledford
2015-07-10 22:27                                           ` Doug Ledford
     [not found]                                           ` <20150710233417.GA8919@obsidianresearch.com>
2015-07-11  3:10                                             ` Doug Ledford
2015-07-11  3:10                                               ` Doug Ledford
2015-07-13 17:18                                               ` Jason Gunthorpe
2015-07-13 17:18                                                 ` Jason Gunthorpe
2015-07-13 22:23                                                 ` Tom Talpey
2015-07-11 16:37                                     ` Steve Wise
2015-07-12 10:46                                       ` Sagi Grimberg
2015-07-12 10:46                                         ` Sagi Grimberg
2015-07-14 19:25                                         ` Steve Wise
2015-07-14 19:25                                           ` Steve Wise
2015-07-14 19:29                                           ` Jason Gunthorpe
2015-07-14 19:32                                             ` Steve Wise
2015-07-14 19:32                                               ` Steve Wise
2015-07-14 19:37                                               ` Jason Gunthorpe
2015-07-14 19:55                                               ` 'Christoph Hellwig'
2015-07-14 19:55                                                 ` 'Christoph Hellwig'
2015-07-14 20:10                                                 ` Steve Wise
2015-07-14 20:10                                                   ` Steve Wise
2015-07-14 20:29                                                 ` Jason Gunthorpe
2015-07-14 20:29                                                   ` Jason Gunthorpe
2015-07-14 20:40                                                   ` Steve Wise
2015-07-14 20:40                                                     ` Steve Wise
2015-07-14 20:44                                                     ` Jason Gunthorpe
2015-07-14 20:44                                                       ` Jason Gunthorpe
2015-07-14 20:54                                                       ` Steve Wise
2015-07-14 20:54                                                         ` Steve Wise
2015-07-14 20:59                                                         ` Jason Gunthorpe
2015-07-14 20:59                                                           ` Jason Gunthorpe
2015-07-14 20:50                                                   ` Tom Talpey
2015-07-14 20:50                                                     ` Tom Talpey
2015-07-15  6:50                                                   ` 'Christoph Hellwig'
2015-07-15 19:12                                                     ` Jason Gunthorpe
2015-07-15 19:12                                                       ` Jason Gunthorpe
2015-07-16  6:41                                                       ` Jason Gunthorpe
2015-07-16  6:41                                                         ` Jason Gunthorpe
2015-07-16  8:04                                                       ` 'Christoph Hellwig'
2015-07-16  8:04                                                         ` 'Christoph Hellwig'
2015-07-16 16:13                                                         ` Jason Gunthorpe
2015-07-16 16:13                                                           ` Jason Gunthorpe
2015-07-15  8:47                                                   ` Sagi Grimberg
2015-07-15  8:47                                                     ` Sagi Grimberg
2015-07-15 12:19                                                     ` 'Christoph Hellwig'
2015-07-15 12:19                                                       ` 'Christoph Hellwig'
2015-07-15 19:17                                                       ` Jason Gunthorpe
2015-07-15 19:17                                                         ` Jason Gunthorpe
2015-07-14 20:46                                               ` Tom Talpey
2015-07-14 19:45                                           ` 'Christoph Hellwig'
2015-07-14 19:57                                             ` Jason Gunthorpe
2015-07-14 19:57                                               ` Jason Gunthorpe
2015-07-14 19:58                                             ` Steve Wise
2015-07-14 19:58                                               ` Steve Wise
2015-07-14 20:41                                               ` Jason Gunthorpe
2015-07-14 20:41                                                 ` Jason Gunthorpe
2015-07-14 20:51                                                 ` Steve Wise
2015-07-14 20:51                                                   ` Steve Wise
2015-07-14 21:01                                                   ` Steve Wise
2015-07-14 21:01                                                     ` Steve Wise
2015-07-14 21:14                                                     ` Jason Gunthorpe
2015-07-14 21:14                                                       ` Jason Gunthorpe
2015-07-23 18:53                                               ` Hefty, Sean
2015-07-23 18:53                                                 ` Hefty, Sean
2015-07-23 19:03                                                 ` Steve Wise
2015-07-23 19:03                                                   ` Steve Wise
2015-07-23 23:30                                                   ` Hefty, Sean
2015-07-23 23:30                                                     ` Hefty, Sean
2015-07-23 23:53                                                     ` Jason Gunthorpe
2015-07-23 23:53                                                       ` Jason Gunthorpe
2015-07-24  0:18                                                       ` Hefty, Sean
2015-07-24  0:18                                                         ` Hefty, Sean
2015-07-24  4:46                                                         ` Jason Gunthorpe
2015-07-09  8:47                           ` Sagi Grimberg
2015-07-09  8:47                             ` Sagi Grimberg
2015-07-08 21:38                         ` Tom Talpey
2015-07-08 23:36                           ` Jason Gunthorpe
2015-07-09 11:02                             ` Sagi Grimberg
2015-07-09 17:01                               ` Jason Gunthorpe
2015-07-09 17:01                                 ` Jason Gunthorpe
2015-07-09 20:00                                 ` Tom Talpey
2015-07-09 21:16                                   ` Jason Gunthorpe
     [not found]                                 ` <20150709170142.GA21921-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-07-10  8:55                                   ` kernel memory registration (was: RDMA/core: Transport-independent access flags) Sagi Grimberg
     [not found]                                     ` <559F8881.7070308-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-07-10 16:35                                       ` Jason Gunthorpe
2015-07-11 10:31                                       ` 'Christoph Hellwig'
     [not found]                                         ` <20150711103153.GC14741-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-07-13 16:46                                           ` Jason Gunthorpe
     [not found]                                             ` <20150713164652.GC23832-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-07-14  8:24                                               ` kernel memory registration Sagi Grimberg
     [not found]                                                 ` <55A4C73A.7080001-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-07-14 17:24                                                   ` Jason Gunthorpe
2015-07-11 10:25                                 ` [PATCH V3 1/5] RDMA/core: Transport-independent access flags 'Christoph Hellwig'
2015-07-13 16:35                                   ` Jason Gunthorpe
2015-07-13 19:36                                   ` Tom Talpey
2015-07-13 20:15                                     ` Jason Gunthorpe
2015-07-14  9:10                                       ` Sagi Grimberg
2015-07-14  9:10                                         ` Sagi Grimberg
2015-07-14 15:36                                         ` 'Christoph Hellwig'
2015-07-14 15:36                                           ` 'Christoph Hellwig'
2015-07-14 15:47                                           ` Tom Talpey
2015-07-14 15:47                                             ` Tom Talpey
2015-07-14 16:22                                           ` Jason Gunthorpe
2015-07-14 16:22                                             ` Jason Gunthorpe
2015-07-14  7:37                                     ` 'Christoph Hellwig'
2015-07-14  9:22                                       ` Sagi Grimberg
2015-07-14 12:12                                         ` Tom Talpey
2015-07-14 12:12                                           ` Tom Talpey
2015-07-14 13:23                                           ` Sagi Grimberg
2015-07-14 14:45                                         ` Steve Wise
2015-07-14 14:45                                           ` Steve Wise
2015-07-14 15:40                                         ` 'Christoph Hellwig'
2015-07-14 15:40                                           ` 'Christoph Hellwig'
2015-07-08  8:11               ` 'Christoph Hellwig'
2015-07-06  7:58   ` Sagi Grimberg
2015-07-06  7:58     ` Sagi Grimberg
2015-07-06 14:39     ` Steve Wise
2015-07-06 14:39       ` Steve Wise
2015-07-05 23:22 ` [PATCH V3 2/5] RDMA/iser: Use transport independent MR allocation Steve Wise
2015-07-05 23:22 ` [PATCH V3 3/5] RDMA/isert: " Steve Wise
2015-07-05 23:22   ` Steve Wise
2015-07-05 23:22 ` [PATCH V3 4/5] svcrdma: " Steve Wise
2015-07-05 23:22   ` Steve Wise
2015-07-05 23:22 ` [PATCH V3 5/5] xprtrdma: " Steve Wise
2015-07-05 23:22   ` Steve Wise
2015-07-06  5:25 ` [PATCH V3 0/5] Transport-independent MRs Christoph Hellwig
2015-07-06  5:25   ` Christoph Hellwig
2015-07-06 14:24   ` Steve Wise
2015-07-06 14:24     ` Steve Wise
2015-07-07  9:01     ` 'Christoph Hellwig'

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=559AAA22.1000608@dev.mellanox.co.il \
    --to=sagig@dev.mellanox.co.il \
    --cc=bfields@fieldses.org \
    --cc=dledford@redhat.com \
    --cc=eli@mellanox.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=roid@mellanox.com \
    --cc=sagig@mellanox.com \
    --cc=swise@opengridcomputing.com \
    --cc=target-devel@vger.kernel.org \
    --cc=trond.myklebust@primarydata.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.