From: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>
To: Sreedhar Kodali
<srkodali-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
pradeeps-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org,
linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v2 3/4] rsockets: distribute completion queue vectors among multiple cores
Date: Mon, 15 Sep 2014 11:06:03 +0200 [thread overview]
Message-ID: <5416ABFB.7040701@acm.org> (raw)
In-Reply-To: <ef556922e7b766360a38df904dff1c70-FJGp5E75HVmZamtmwQBW5tBPR1lH4CV8@public.gmane.org>
On 09/11/14 14:34, Sreedhar Kodali wrote:
> I have sent the revised patch v4 that groups and assigns comp vectors
> per process as you suggested. Please go through it.
Shouldn't there be agreement about the approach before a patch is
reworked and reposted ? I think the following aspects deserve wider
discussion and agreement about these aspects is needed before the patch
itself is discussed further:
- Do we need to discuss a policy that defines which completion vectors
are associated with which CPU sockets ? Such a policy is needed to allow
RDMA software to constrain RDMA completions to a single CPU socket and
hence to avoid inter-socket cache misses. One possible policy is to
associate an equal number of completion vectors with each CPU socket. If
e.g. 8 completion vectors are provided by an HCA and two CPU sockets are
available then completion vectors 0..3 could be bound to the CPU socket
with index 0 and vectors 4..7 could be bound to CPU socket that has been
assigned index 1 by the Linux kernel.
- Would it be useful to modify the irqbalance software such that it
becomes aware of HCA's that provide multiple MSI-X vectors and hence
automatically applies the policy mentioned in the previous bullet ?
- What should the default behavior be of the rsockets library ? Keep the
current behavior (use completion vector 0), select one of the available
completion vectors in a round-robin fashion or perhaps yet another policy ?
- The number of completion vectors provided by a HCA can change after a
PCIe card has been added to or removed from the system. Such changes
affect the number of bits of the completion mask that are relevant. How
to handle this ?
- If a configuration option is added in the rsockets library to specify
which completion vectors a process is allowed to use, should it be
possible to specify individual completion vectors or is it sufficient if
CPU socket numbers can be specified ? That last choice has the advantage
that it is independent of the exact number of completion vectors that
has been allocated by an HCA.
- How to cope with systems in which multiple RDMA HCA's are present and
in which each HCA provides a different number of completion vectors ? Is
a completion vector bitmask a proper means for such systems to specify
which completion vectors should be used ?
- Do we need to treat virtual machine guests and CPU hot-plugging
separately or can we rely on the information about CPU sockets that is
provided by the hypervisor to the guest ?
Bart.
--
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:[~2014-09-15 9:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-05 13:18 [PATCH v2 3/4] rsockets: distribute completion queue vectors among multiple cores Sreedhar Kodali
[not found] ` <f028f54b9900ee34fcd1abd1d90d10e6-FJGp5E75HVmZamtmwQBW5tBPR1lH4CV8@public.gmane.org>
2014-09-05 15:47 ` Bart Van Assche
[not found] ` <5409DB0D.6080103-HInyCGIudOg@public.gmane.org>
2014-09-06 3:06 ` Sreedhar Kodali
[not found] ` <850a2835b5917f6da62af3d1ea0288fd-FJGp5E75HVmZamtmwQBW5tBPR1lH4CV8@public.gmane.org>
2014-09-08 6:47 ` Bart Van Assche
[not found] ` <540D50E9.5050709-HInyCGIudOg@public.gmane.org>
2014-09-08 14:27 ` Sreedhar Kodali
[not found] ` <a8ac21f3c9d7c802ab089bc0d432e40b-FJGp5E75HVmZamtmwQBW5tBPR1lH4CV8@public.gmane.org>
2014-09-08 18:22 ` Bart Van Assche
[not found] ` <540DF3CC.1060304-HInyCGIudOg@public.gmane.org>
2014-09-09 12:28 ` Sreedhar Kodali
[not found] ` <edc2b05703209d2a7626a31abb170ceb-FJGp5E75HVmZamtmwQBW5tBPR1lH4CV8@public.gmane.org>
2014-09-11 12:34 ` Sreedhar Kodali
[not found] ` <ef556922e7b766360a38df904dff1c70-FJGp5E75HVmZamtmwQBW5tBPR1lH4CV8@public.gmane.org>
2014-09-15 9:06 ` Bart Van Assche [this message]
[not found] ` <5416ABFB.7040701-HInyCGIudOg@public.gmane.org>
2014-09-16 4:33 ` Sreedhar Kodali
[not found] ` <d5804c38cb47bcc79eb3962cf8ca6989-FJGp5E75HVmZamtmwQBW5tBPR1lH4CV8@public.gmane.org>
2014-09-16 4:57 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A8237399DD3DA8-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-09-17 5:54 ` Sreedhar Kodali
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=5416ABFB.7040701@acm.org \
--to=bvanassche-hinycgiudog@public.gmane.org \
--cc=linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=pradeeps-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=srkodali-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@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