From: Zhu Yanjun <yanjun.zhu@linux.dev>
To: Bob Pearson <rpearsonhpe@gmail.com>,
jgg@nvidia.com, linux-rdma@vger.kernel.org,
"leon@kernel.org" <leon@kernel.org>
Subject: Re: [PATCH for-next v4 0/7] RDMA/rxe: Make multicast work
Date: Tue, 5 Dec 2023 07:50:27 +0800 [thread overview]
Message-ID: <afd3694a-695b-45d9-909c-b28b99a09d24@linux.dev> (raw)
In-Reply-To: <2ce139e0-8fd7-4ed7-af5e-83a9e4b55710@gmail.com>
+ Leon
Bob
Exactly. Some kind of lock is needed for ipv6_sock_mc_join/drop. I will
delve into these commits.
And this is related with mcast. We can invite netdev experts to review
the code as well.
If you agree, I will also send your commits to netdev maillist.
And these commits are complicated. It is very good to have the
suggestions from
the experts in netdev.
Zhu Yanjun
在 2023/12/5 4:07, Bob Pearson 写道:
> Zhu,
>
> Thanks for testing this. It turns out I needed to take the sk_lock for
> ipv6_sock_mc_join/drop().
>
> Bob
>
> On 12/4/23 14:03, Bob Pearson wrote:
>> After developing a test program which exercises node to node
>> testing of RoCE multicast it became clear that there are a
>> number of issues with the current rdma_rxe multicast implementation.
>>
>> The issues seen include:
>> - There is no support for IPV4 multicast addresses.
>> - Once a multicast MAC is added it is not removed.
>> - Multicast packets are sent with the wrong QP number.
>> - Multicast IP addresses are not created and without
>> them no multicast packets received on the interface
>> are delivered to the rdma_rxe driver.
>> - The implementation in rxe_mcast.c is potentially
>> racy if multiple simultaneous attach/detach operations
>> are issued.
>>
>> This patch set fixes these issues.
>> ---
>> v4:
>> Corrected a lockdep bug reported by Zhu Yanjun.
>> v3:
>> Removed rxe_loop_and_send(). It turns out it is not needed.
>> Added module parameters to set mcast limits to small values when
>> driver is loaded to enable mcast limit testing.
>> Rebased to current for-next branch.
>> v2:
>> Respond to comments by Zhu.
>> Added more Fixes lines.
>> Added some more explanation in the commit messages.
>> Fixed an error in rxe_lookup_mcg. Should have checked
>> the return from rxe_get_mcg().
>>
>> Bob Pearson (7):
>> RDMA/rxe: Cleanup rxe_ah/av_chk_attr
>> RDMA/rxe: Fix sending of mcast packets
>> RDMA/rxe: Register IP mcast address
>> RDMA/rxe: Let rxe_lookup_mcg use rcu_read_lock
>> RDMA/rxe: Split multicast lock
>> RDMA/rxe: Cleanup mcg lifetime
>> RDMA/rxe: Add module parameters for mcast limits
>>
>> drivers/infiniband/sw/rxe/Makefile | 3 +-
>> drivers/infiniband/sw/rxe/rxe.c | 8 +-
>> drivers/infiniband/sw/rxe/rxe_av.c | 50 +--
>> drivers/infiniband/sw/rxe/rxe_loc.h | 6 +-
>> drivers/infiniband/sw/rxe/rxe_mcast.c | 524 +++++++++++--------------
>> drivers/infiniband/sw/rxe/rxe_net.c | 6 +-
>> drivers/infiniband/sw/rxe/rxe_net.h | 1 +
>> drivers/infiniband/sw/rxe/rxe_opcode.h | 2 +-
>> drivers/infiniband/sw/rxe/rxe_param.c | 23 ++
>> drivers/infiniband/sw/rxe/rxe_param.h | 4 +
>> drivers/infiniband/sw/rxe/rxe_qp.c | 4 +-
>> drivers/infiniband/sw/rxe/rxe_recv.c | 11 +-
>> drivers/infiniband/sw/rxe/rxe_req.c | 11 +-
>> drivers/infiniband/sw/rxe/rxe_verbs.c | 5 +-
>> drivers/infiniband/sw/rxe/rxe_verbs.h | 5 +-
>> 15 files changed, 303 insertions(+), 360 deletions(-)
>> create mode 100644 drivers/infiniband/sw/rxe/rxe_param.c
>>
next prev parent reply other threads:[~2023-12-04 23:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-04 20:03 [PATCH for-next v4 0/7] RDMA/rxe: Make multicast work Bob Pearson
2023-12-04 20:03 ` [PATCH for-next v4 1/7] RDMA/rxe: Cleanup rxe_ah/av_chk_attr Bob Pearson
2023-12-04 20:03 ` [PATCH for-next v4 2/7] RDMA/rxe: Fix sending of mcast packets Bob Pearson
2023-12-04 20:03 ` [PATCH for-next v4 3/7] RDMA/rxe: Register IP mcast address Bob Pearson
2023-12-04 20:03 ` [PATCH for-next v4 4/7] RDMA/rxe: Let rxe_lookup_mcg use rcu_read_lock Bob Pearson
2023-12-04 20:03 ` [PATCH for-next v4 5/7] RDMA/rxe: Split multicast lock Bob Pearson
2023-12-04 20:03 ` [PATCH for-next v4 6/7] RDMA/rxe: Cleanup mcg lifetime Bob Pearson
2023-12-04 20:03 ` [PATCH for-next v4 7/7] RDMA/rxe: Add module parameters for mcast limits Bob Pearson
2023-12-04 20:07 ` [PATCH for-next v4 0/7] RDMA/rxe: Make multicast work Bob Pearson
2023-12-04 23:50 ` Zhu Yanjun [this message]
2023-12-05 0:02 ` Bob Pearson
2023-12-05 0:08 ` Jason Gunthorpe
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=afd3694a-695b-45d9-909c-b28b99a09d24@linux.dev \
--to=yanjun.zhu@linux.dev \
--cc=jgg@nvidia.com \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=rpearsonhpe@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.