From: Bob Pearson <rpearsonhpe@gmail.com>
To: Jason Gunthorpe <jgg@nvidia.com>,
Rao Shoaib <Rao.Shoaib@oracle.com>,
Zhu Yanjun <zyjzyj2000@gmail.com>,
"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>
Subject: Re: [PATCH for-next v5 0/6] Replace AV by AH in UD sends
Date: Thu, 7 Oct 2021 14:51:11 -0500 [thread overview]
Message-ID: <5e8ff897-ca98-4dcc-a731-2bf150011fe9@gmail.com> (raw)
In-Reply-To: <20211007190543.GM2744544@nvidia.com>
On 10/7/21 2:05 PM, Jason Gunthorpe wrote:
> On Thu, Oct 07, 2021 at 01:53:27PM -0500, Bob Pearson wrote:
>
>> On looking, Rao's patch is not in for-next. Last one was
>> January. Which branch are you looking at?
>
> Oh, it is still in the wip branch, try now
>
> Jason
>
I see the issue. Rao is asking for 2^20 objects max by default which will
require 128KiB of memory in the index reservation bit mask for each of them.
There are 4 indexed objects QP by qpn, SRQ by srqn, MR by rkey and MW by rkey.
That's 512KiB of memory which seems excessive to me for many use cases where the
number of objects is fairly small.
The bit mask is used to allocate and free the indices and there is also a red black
tree that is used to look up objects by their index (or key if they use keys instead.)
If there is a usual way to address these kinds of issues in Linux maybe we should
consider that. If not there are a couple of approaches we could take. First would
be to get rid of the index bit mask and just hand out randomly selected indices in
(a bigger range) and detect collisions when we insert the object into the red black
tree and retry. This is basically what happens with 'keys' for example mgids for
multicast group elements. Alternatively we could leave the max big but limit the
allocated indices to a smaller amount until the total number of allocated indices
reached some threshold and then extend the bit mask table. Then only the use cases
that really needed the big index range would pay the price for the memory.
Random indices would slightly reduce some of the security issues that have been
pointed out about the InfiniBand transport.
I am looking for suggestions on how to go forward here.
Bob
next prev parent reply other threads:[~2021-10-07 19:51 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-06 1:58 [PATCH for-next v5 0/6] Replace AV by AH in UD sends Bob Pearson
2021-10-06 1:58 ` [PATCH for-next v5 1/6] RDMA/rxe: Move AV from rxe_send_wqe to rxe_send_wr Bob Pearson
2021-10-06 1:58 ` [PATCH for-next v5 2/6] RDMA/rxe: Change AH objects to indexed Bob Pearson
2021-10-06 1:58 ` [PATCH for-next v5 3/6] RDMA/rxe: Create AH index and return to user space Bob Pearson
2021-10-06 1:58 ` [PATCH for-next v5 4/6] RDMA/rxe: Replace ah->pd by ah->ibah.pd Bob Pearson
2021-10-06 1:58 ` [PATCH for-next v5 5/6] RDMA/rxe: Lookup kernel AH from ah index in UD WQEs Bob Pearson
2021-10-06 11:55 ` Zhu Yanjun
2021-10-06 14:42 ` Pearson, Robert B
2021-10-07 3:12 ` Zhu Yanjun
2021-10-06 1:58 ` [PATCH for-next v5 6/6] RDMA/rxe: Convert kernel UD post send to use ah_num Bob Pearson
2021-10-06 19:37 ` [PATCH for-next v5 0/6] Replace AV by AH in UD sends Jason Gunthorpe
[not found] ` <8fb347bb-81b2-2ba6-a97c-16a5db86541d@gmail.com>
[not found] ` <20211006224906.GE2744544@nvidia.com>
[not found] ` <086698cc-9e50-49be-aea8-7a4426f2e502@gmail.com>
[not found] ` <20211007190543.GM2744544@nvidia.com>
2021-10-07 19:51 ` Bob Pearson [this message]
2021-10-07 19:57 ` Jason Gunthorpe
2021-10-07 20:40 ` Shoaib Rao
2021-10-07 22:00 ` Bob Pearson
2021-10-07 22:53 ` Shoaib Rao
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=5e8ff897-ca98-4dcc-a731-2bf150011fe9@gmail.com \
--to=rpearsonhpe@gmail.com \
--cc=Rao.Shoaib@oracle.com \
--cc=jgg@nvidia.com \
--cc=linux-rdma@vger.kernel.org \
--cc=zyjzyj2000@gmail.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