From: Roland Dreier <rdreier-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
To: Matthew Small <matthewtsmall-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Fork safe clarification
Date: Wed, 07 Apr 2010 10:13:54 -0700 [thread overview]
Message-ID: <adak4sj2njh.fsf@roland-alpha.cisco.com> (raw)
In-Reply-To: <s2pbb8be6ca1004010709hf5d0fe3cr2a76f28eaab97373-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> (Matthew Small's message of "Thu, 1 Apr 2010 10:09:48 -0400")
> Are PDs, QPs and CQs created before a fork shared by the parent and child
> after fork() has returned (ie. both can submit WRs, poll CQ, etc.)?
no, QPs and CQs are accessible only in the parent. The child can still
use the uverbs file descriptor to do things, but libibverbs will
probably get very confused in this case. More userspace development
would probably be required to make this really work. Since the PD is
attached to the FD, it could be shared.
> What about MRs registered before the fork? Even though the child doesn't
> have access to the parent's memory, can he sill submit WRs on a QP with an
> MR created before the fork?
yes.
> What if the MR pages in the above scenario are accessible in both parent and
> child (shared memory)? Are there complications with registering shared
> memory?
shouldn't make a difference.
> In general, are pointers returned by libibverbs pointer to user/process
> address space (as ibv_mr pointers must be) or kernel space (eg. if an
> unrelated process had another process's QP pointer, lkey, and a virtual
> address could it post (almost certainly unsafely) a WR to the other
> process's QP?
Not sure I understand this. All the pointers from libibverbs are of
course userspace pointers. What could a userspace process do with a
kernel pointer? Processes own all their resources and can't access
other resources.
- R.
--
Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org> || For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html
--
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
prev parent reply other threads:[~2010-04-07 17:13 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-01 14:09 Fork safe clarification Matthew Small
[not found] ` <s2pbb8be6ca1004010709hf5d0fe3cr2a76f28eaab97373-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-04-07 17:09 ` Matthew Small
2010-04-07 17:13 ` Roland Dreier [this message]
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=adak4sj2njh.fsf@roland-alpha.cisco.com \
--to=rdreier-fyb4gu1cfyuavxtiumwx3w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matthewtsmall-Re5JQEeQqe8AvxtiuMwx3w@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox