From: Steve Wise <swise@opengridcomputing.com>
To: Roland Dreier <rdreier@cisco.com>
Cc: "Michael S. Tsirkin" <mst@mellanox.co.il>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
openib-general@openib.org
Subject: Re: [openib-general] [PATCH v4 01/13] Linux RDMA Core Changes
Date: Fri, 05 Jan 2007 08:22:25 -0600 [thread overview]
Message-ID: <1168006945.10259.17.camel@stevo-desktop> (raw)
In-Reply-To: <adawt424gt8.fsf@cisco.com>
On Thu, 2007-01-04 at 13:34 -0800, Roland Dreier wrote:
> OK, I'm back from vacation today.
>
> Anyway I don't have a definitive statement on this right now. I guess
> I agree that I don't like having an extra parameter to a function that
> should be pretty fast (although req notify isn't quite as hot as
> something like posting a send request or polling a cq), given that it
> adds measurable overhead. (And I am surprised that the overhead is
> measurable, since 3 arguments still fit in registers, but OK).
>
> I also agree that adding an extra entry point just to pass in the user
> data is ugly, and also racy.
>
> Giving the kernel driver a pointer it can read seems OK I guess,
> although it's a little ugly to have a backdoor channel like that.
>
Another alternative is for the cq-index u32 memory to be allocated by
the kernel and mapped into the user process. So the lib can read/write
it, and the kernel can read it directly. This is the fastest way
perfwise, but I didn't want to do it because of the page granularity of
mapping. IE it would require a page of address space (and backing
memory I guess) just for 1 u32. The CQ element array memory is already
allocated this way (and its DMA coherent too), but I didn't want to
overload that memory with this extra variable either. Mapping just
seemed ugly and wasteful to me.
So given 3 approaches:
1) allow user data to be passed into ib_req_notify_cq() via the standard
uverbs mechanisms.
2) hide this in the chelsio driver and have the driver copyin the info
directly.
3) allocate the memory for this in the kernel and map it to the user
process.
I chose 1 because it seemed the cleanest from an architecture point of
view and I didn't think it would impact performance much.
Steve.
next prev parent reply other threads:[~2007-01-05 14:22 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-14 13:52 [PATCH v4 00/13] 2.6.20 Chelsio T3 RDMA Driver Steve Wise
2006-12-14 13:53 ` [PATCH v4 01/13] Linux RDMA Core Changes Steve Wise
2006-12-24 8:49 ` Michael S. Tsirkin
2007-01-03 14:25 ` Steve Wise
2007-01-03 14:41 ` Michael S. Tsirkin
2007-01-03 14:56 ` Steve Wise
2007-01-03 15:00 ` Michael S. Tsirkin
2007-01-03 15:07 ` Steve Wise
2007-01-03 15:18 ` Michael S. Tsirkin
2007-01-03 19:17 ` Steve Wise
2007-01-03 19:33 ` Michael S. Tsirkin
2007-01-03 20:20 ` Steve Wise
2007-01-03 21:22 ` [openib-general] " Steve Wise
2007-01-04 5:07 ` Michael S. Tsirkin
2007-01-04 14:07 ` Steve Wise
2007-01-04 21:34 ` [openib-general] " Roland Dreier
2007-01-04 21:49 ` Steve Wise
2007-01-05 14:22 ` Steve Wise [this message]
2007-01-03 15:02 ` Michael S. Tsirkin
2007-01-03 15:06 ` Steve Wise
2007-01-03 15:10 ` Michael S. Tsirkin
2006-12-14 13:53 ` [PATCH v4 02/13] Device Discovery and ULLD Linkage Steve Wise
2006-12-14 13:54 ` [PATCH v4 03/13] Provider Methods and Data Structures Steve Wise
2006-12-14 13:54 ` [PATCH v4 04/13] Connection Manager Steve Wise
2006-12-14 13:55 ` [PATCH v4 05/13] Queue Pairs Steve Wise
2006-12-14 13:55 ` [PATCH v4 06/13] Completion Queues Steve Wise
2006-12-14 13:56 ` [PATCH v4 07/13] Async Event Handler Steve Wise
2006-12-14 13:56 ` [PATCH v4 08/13] Memory Registration Steve Wise
2006-12-14 13:57 ` [PATCH v4 09/13] Core WQE/CQE Types Steve Wise
2006-12-14 13:57 ` [PATCH v4 10/13] Core HAL Steve Wise
2006-12-14 13:58 ` [PATCH v4 11/13] Core Resource Allocation Steve Wise
2006-12-14 13:58 ` [PATCH v4 12/13] Core Debug functions Steve Wise
2006-12-14 13:59 ` [PATCH v4 13/13] Kconfig/Makefile Steve Wise
-- strict thread matches above, loose matches on Subject: below --
2007-01-05 17:32 [PATCH v4 01/13] Linux RDMA Core Changes Felix Marti
2007-01-05 18:59 ` [openib-general] " 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=1168006945.10259.17.camel@stevo-desktop \
--to=swise@opengridcomputing.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@mellanox.co.il \
--cc=netdev@vger.kernel.org \
--cc=openib-general@openib.org \
--cc=rdreier@cisco.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).