From: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
To: Sagi Grimberg
<sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
"Hefty,
Sean" <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: "roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org"
<roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
"sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org"
<sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org"
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
infinipath <infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org"
<eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
"ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org"
<ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH V2 3/5] RDMA/core: transport-independent access flags
Date: Thu, 02 Jul 2015 08:17:20 -0500 [thread overview]
Message-ID: <559539E0.9030808@opengridcomputing.com> (raw)
In-Reply-To: <5594D8BC.8000300-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
On 7/2/2015 1:22 AM, Sagi Grimberg wrote:
> On 6/30/2015 8:10 PM, Hefty, Sean wrote:
>>> I suggest to start consolidating to ib_create_mr() that receives an
>>> extensible ib_mr_init_attr and additional attributes can be mr_roles
>>> and mr_attrs.
>>
>> I think this makes sense, but does it really help?
>> If the end result is that the app and providers basically
>> end up switching on mr_attr::type, we end up reducing the
>> number of APIs, but the code complexity remains the same.
>>
>
> I think it will reduce code complexity. First, the callers
> will have a single API to allocate a memory key. I'm not sure why you
> say that app needs to switch on mr::type, it knows which type it wants.
>
I dont see how doing this is less complex:
attr = FASTREG
mr = create_mr(attr)
vs:
mr = lloc_fast_reg_mr()
> As for drivers, From what I've seen, usually there is a single memory
> key allocation interface to the HW and for each API and drivers call it
> with a slightly different attributes and maybe do some extra driver
> specific logic.
>
> Yes, probably drivers will need to switch on mr_attr::type, but maybe
> just just to determine the correct HW interface and hopefully not to
> a completely different logic. I think that drivers can benefit in
> reduced code duplication in total.
>
There isn't much code duplication now because as you mentioned above,
most drivers have common services that get called from the various entry
points: alloc_fast_reg_mr(), get_dma_mr(), reg_user_mr(), etc...
> As a first step, we can do a naive switch on mr_attr::type in the
> drivers but I'd expect driver developers to change this logic in their
> driver.
>
> Thoughts?
I don't see any reduction in complexity of the application nor
driver/core code. Perhaps a reduction in API complexity by having a
single entry point...but that entry point would be the place I would fan
out and call the driver functions vs changing the core<->driver interface...
My 2 centimes...
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-07-02 13:17 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-29 21:36 [PATCH V2 0/5] iSER support for iWARP Steve Wise
[not found] ` <20150629213332.4188.87551.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
2015-06-29 21:36 ` [PATCH V2 1/5] mlx4, mlx5, mthca: Expose max_sge_rd correctly Steve Wise
2015-06-29 21:36 ` [PATCH V2 2/5] ipath,qib: " Steve Wise
[not found] ` <20150629213613.4188.82456.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
2015-06-30 16:54 ` Jason Gunthorpe
[not found] ` <20150630165425.GD30149-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-06-30 17:00 ` Chuck Lever
2015-06-30 17:23 ` Marciniszyn, Mike
2015-06-29 21:36 ` [PATCH V2 3/5] RDMA/core: transport-independent access flags Steve Wise
[not found] ` <20150629213618.4188.50574.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
2015-06-30 7:24 ` Haggai Eran
[not found] ` <55924447.1030707-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-06-30 14:26 ` Steve Wise
2015-06-30 9:03 ` Or Gerlitz
[not found] ` <55925B70.1070409-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-06-30 14:29 ` Steve Wise
2015-06-30 14:41 ` Chuck Lever
[not found] ` <23E050C1-2A41-4E99-9539-15B07545CA44-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2015-06-30 14:46 ` Steve Wise
2015-06-30 16:42 ` Jason Gunthorpe
[not found] ` <20150630164247.GB30149-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-07-01 7:35 ` Or Gerlitz
2015-06-30 9:21 ` Sagi Grimberg
[not found] ` <55925FAE.4090004-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-06-30 14:30 ` Steve Wise
2015-06-30 17:10 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FFB053-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-07-02 6:22 ` Sagi Grimberg
[not found] ` <5594D8BC.8000300-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-07-02 13:17 ` Steve Wise [this message]
[not found] ` <559539E0.9030808-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2015-07-02 13:23 ` Sagi Grimberg
[not found] ` <55953B4A.1070509-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-07-02 13:57 ` Steve Wise
2015-06-30 16:21 ` Jason Gunthorpe
[not found] ` <20150630162103.GA30149-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-06-30 18:56 ` Steve Wise
2015-06-29 21:36 ` [PATCH V2 4/5] RDMA/iser: support iWARP devices Steve Wise
[not found] ` <20150629213624.4188.94135.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
2015-06-30 9:26 ` Sagi Grimberg
[not found] ` <559260BE.6060301-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-06-30 14:33 ` Steve Wise
2015-06-30 16:45 ` Jason Gunthorpe
[not found] ` <20150630164501.GC30149-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-06-30 17:03 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FFB028-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-06-30 18:42 ` Steve Wise
2015-06-30 20:20 ` Doug Ledford
2015-07-01 7:39 ` Or Gerlitz
[not found] ` <55939942.9050701-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-07-01 14:08 ` Steve Wise
2015-06-29 21:36 ` [PATCH V2 5/5] RDMA/isert: " Steve Wise
2015-06-30 9:33 ` [PATCH V2 0/5] iSER support for iWARP Sagi Grimberg
2015-06-30 14:34 ` Steve Wise
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=559539E0.9030808@opengridcomputing.com \
--to=swise-7bpotxp6k4+p2yhjcf5u+vpxobypeauw@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
--cc=sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/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.