From: Roland Dreier <rolandd@cisco.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, openib-general@openib.org
Subject: Re: [PATCH 14/16] IB uverbs: add mthca user CQ support
Date: Wed, 29 Jun 2005 09:06:25 -0700 [thread overview]
Message-ID: <52mzp9f8qm.fsf@topspin.com> (raw)
In-Reply-To: 20050628171046.6fa7de0d.akpm@osdl.org
>> + int is_kernel;
Andrew> I assume we have one body of code which is capable of
Andrew> handling data structures in either kenrel memory of user
Andrew> memory? (guess).
Andrew> If so, that's a fairly sensitive thing to be doing. Tell
Andrew> us more, please.
It's actually not that bad. A completion queue (CQ) is a basically a
chunk of memory where completion information is written when a work
request completes. The hardware can handle many CQs (64K is not an
unreasonable number), and we always do things like allocation of CQ
numbers, programming HW for CQ context, etc. in the kernel.
Both the kernel and userspace can do data path operations like looking
for a new CQ entry. This means that for userspace CQs, the actual
memory where entries are written should be in userspace. However the
struct mthca_cq will always be in the kernel.
If you look at how the is_kernel flag is used, you can see that all it
does is control whether we allocate/free the actual buffer and a few
other things in the kernel, or just use the stuff that userspace has
already allocated.
- R.
next prev parent reply other threads:[~2005-06-29 16:10 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-28 23:03 [PATCH 00/16] Add InfiniBand userspace verbs (direct userspace access) Roland Dreier
2005-06-28 23:03 ` [PATCH 01/16] IB uverbs: core API extensions Roland Dreier
2005-06-28 23:03 ` [PATCH 02/16] IB uverbs: update kernel midlayer for new API Roland Dreier
2005-06-28 23:03 ` [PATCH 03/16] IB uverbs: update mthca " Roland Dreier
2005-06-28 23:03 ` [PATCH 04/16] IB uverbs: add user verbs ABI header Roland Dreier
2005-06-28 23:03 ` [PATCH 05/16] IB uverbs: core implementation Roland Dreier
2005-06-28 23:03 ` [PATCH 06/16] IB uverbs: memory pinning implementation Roland Dreier
2005-06-28 23:03 ` [PATCH 07/16] IB uverbs: hook up Kconfig/Makefile Roland Dreier
2005-06-28 23:03 ` [PATCH 08/16] IB uverbs: add mthca ABI header Roland Dreier
2005-06-28 23:03 ` [PATCH 09/16] IB uverbs: add mthca user doorbell record support Roland Dreier
2005-06-28 23:03 ` [PATCH 10/16] IB uverbs: add mthca user context support Roland Dreier
2005-06-28 23:03 ` [PATCH 11/16] IB uverbs: add mthca mmap support Roland Dreier
2005-06-28 23:03 ` [PATCH 12/16] IB uverbs: add mthca user PD support Roland Dreier
2005-06-28 23:03 ` [PATCH 13/16] IB uverbs: add mthca user MR support Roland Dreier
2005-06-28 23:03 ` [PATCH 14/16] IB uverbs: add mthca user CQ support Roland Dreier
2005-06-28 23:03 ` [PATCH 15/16] IB uverbs: add mthca user QP support Roland Dreier
2005-06-28 23:03 ` [PATCH 16/16] IB uverbs: add documentation file Roland Dreier
2005-06-29 0:10 ` [PATCH 14/16] IB uverbs: add mthca user CQ support Andrew Morton
2005-06-29 16:06 ` Roland Dreier [this message]
2005-06-29 0:07 ` [PATCH 12/16] IB uverbs: add mthca user PD support Andrew Morton
2005-06-29 16:06 ` Roland Dreier
2005-06-29 0:05 ` [PATCH 11/16] IB uverbs: add mthca mmap support Andrew Morton
2005-06-29 16:06 ` Roland Dreier
2005-07-05 19:20 ` Roland Dreier
2005-07-05 20:53 ` Michael S. Tsirkin
2005-07-05 22:07 ` Roland Dreier
2005-06-29 0:02 ` [PATCH 06/16] IB uverbs: memory pinning implementation Andrew Morton
2005-06-29 16:06 ` Roland Dreier
2005-06-29 0:27 ` [PATCH 05/16] IB uverbs: core implementation Greg KH
2005-06-29 1:38 ` [openib-general] " Tom Duffy
2005-06-29 4:13 ` Troy Benjegerdes
2005-06-29 16:12 ` Greg KH
2005-06-29 16:32 ` Troy Benjegerdes
2005-06-29 16:06 ` Roland Dreier
2005-06-29 17:01 ` Roland Dreier
2005-06-29 18:03 ` Greg KH
2005-06-30 3:13 ` [openib-general] " Ronald G. Minnich
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=52mzp9f8qm.fsf@topspin.com \
--to=rolandd@cisco.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=openib-general@openib.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox