From: Halil Pasic <pasic@linux.ibm.com>
To: Guangguan Wang <guangguan.wang@linux.alibaba.com>
Cc: Paolo Abeni <pabeni@redhat.com>,
wenjia@linux.ibm.com, jaka@linux.ibm.com,
alibuda@linux.alibaba.com, tonylu@linux.alibaba.com,
guwen@linux.alibaba.com, davem@davemloft.net,
edumazet@google.com, kuba@kernel.org, horms@kernel.org,
linux-rdma@vger.kernel.org, linux-s390@vger.kernel.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Alexandra Winter <wintera@linux.ibm.com>,
Halil Pasic <pasic@linux.ibm.com>
Subject: Re: [PATCH net] net/smc: use the correct ndev to find pnetid by pnetid table
Date: Thu, 9 Jan 2025 04:04:29 +0100 [thread overview]
Message-ID: <20250109040429.350fdd60.pasic@linux.ibm.com> (raw)
In-Reply-To: <908be351-b4f8-4c25-9171-4f033e11ffc4@linux.alibaba.com>
On Wed, 8 Jan 2025 12:57:00 +0800
Guangguan Wang <guangguan.wang@linux.alibaba.com> wrote:
> > sorry for chiming in late. Wenjia is on vacation and Jan is out sick!
> > After some reading and thinking I could not figure out how 890a2cb4a966
> > ("net/smc: rework pnet table") is broken.
>
> Before commit 890a2cb4a966:
> smc_pnet_find_roce_resource
> smc_pnet_find_roce_by_pnetid(ndev, ...) /* lookup via hardware-defined pnetid */
> smc_pnetid_by_dev_port(base_ndev, ...)
> smc_pnet_find_roce_by_table(ndev, ...) /* lookup via SMC PNET table */
> {
> ...
> list_for_each_entry(pnetelem, &smc_pnettable.pnetlist, list) {
> if (ndev == pnetelem->ndev) { /* notice here, it was ndev to matching pnetid element in pnet table */
> ...
> }
>
> After commit 890a2cb4a966:
> smc_pnet_find_roce_resource
> smc_pnet_find_roce_by_pnetid
> {
> ...
> base_ndev = pnet_find_base_ndev(ndev); /* rename the variable name to base_ndev for better understanding */
> smc_pnetid_by_dev_port(base_ndev, ...)
> smc_pnet_find_ndev_pnetid_by_table(base_ndev, ...)
> {
> ...
> list_for_each_entry(pnetelem, &smc_pnettable.pnetlist, list) {
> if (base_ndev == pnetelem->ndev) { /* notice here, it is base_ndev to matching pnetid element in pnet table */
> ...
> }
>
> }
>
> The commit 890a2cb4a966 has changed ndev to base_ndev when matching pnetid element in pnet table.
> But in the function smc_pnet_add_eth, the pnetid is attached to the ndev itself, not the base_ndev.
> smc_pnet_add_eth(...)
> {
> ...
> ndev = dev_get_by_name(net, eth_name);
> ...
> if (new_netdev) {
> if (ndev) {
> new_pe->ndev = ndev;
> netdev_tracker_alloc(ndev, &new_pe->dev_tracker,
> GFP_ATOMIC);
> }
> list_add_tail(&new_pe->list, &pnettable->pnetlist);
> mutex_unlock(&pnettable->lock);
> } else {
> ...
> }
I still not understand why do you think that 890a2cb4a966~1 is better
than 890a2cb4a966 even if things changed with 890a2cb4a966 which
I did not verify for myself but am willing to assume.
Is there some particular setup that you think would benefit from
you patch? I.e. going back to the 890a2cb4a966~1 behavior I suppose.
I think I showed a valid and practical setup that would break with your
patch as is. Do you agree with that statement?
Regards,
Halil
next prev parent reply other threads:[~2025-01-09 3:04 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-27 4:04 [PATCH net] net/smc: use the correct ndev to find pnetid by pnetid table Guangguan Wang
2025-01-04 16:40 ` Jakub Kicinski
2025-01-07 2:17 ` Wen Gu
2025-01-07 8:44 ` Paolo Abeni
2025-01-07 19:32 ` Halil Pasic
2025-01-08 4:57 ` Guangguan Wang
2025-01-09 3:04 ` Halil Pasic [this message]
2025-01-10 5:43 ` Guangguan Wang
2025-01-14 12:07 ` Halil Pasic
2025-01-15 11:53 ` Guangguan Wang
2025-02-10 11:16 ` Guangguan Wang
2025-02-10 13:13 ` Wenjia Zhang
2025-02-10 14:20 ` Halil Pasic
2025-02-10 14:19 ` Halil Pasic
2025-02-10 13:52 ` Halil Pasic
2025-02-11 3:44 ` Guangguan Wang
2025-03-03 14:24 ` Halil Pasic
2025-03-04 2:39 ` Guangguan Wang
2025-01-08 16:00 ` Alexandra Winter
2025-01-10 6:39 ` Guangguan Wang
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=20250109040429.350fdd60.pasic@linux.ibm.com \
--to=pasic@linux.ibm.com \
--cc=alibuda@linux.alibaba.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=guangguan.wang@linux.alibaba.com \
--cc=guwen@linux.alibaba.com \
--cc=horms@kernel.org \
--cc=jaka@linux.ibm.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=tonylu@linux.alibaba.com \
--cc=wenjia@linux.ibm.com \
--cc=wintera@linux.ibm.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.