From: Niklas Schnelle <schnelle@linux.ibm.com>
To: Wen Gu <guwen@linux.alibaba.com>,
Gerd Bayer <gbayer@linux.ibm.com>,
wintera@linux.ibm.com, twinkler@linux.ibm.com, hca@linux.ibm.com,
gor@linux.ibm.com, agordeev@linux.ibm.com, davem@davemloft.net,
edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
wenjia@linux.ibm.com, jaka@linux.ibm.com
Cc: borntraeger@linux.ibm.com, svens@linux.ibm.com,
alibuda@linux.alibaba.com, tonylu@linux.alibaba.com,
linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: [RFC PATCH net-next v5 04/11] net/smc: implement some unsupported operations of loopback-ism
Date: Thu, 04 Apr 2024 13:42:10 +0200 [thread overview]
Message-ID: <3b3ff37643e9030ec1246e67720683a2cf5660e5.camel@linux.ibm.com> (raw)
In-Reply-To: <1db6ccab-b49f-45d2-a93c-05b0f79371a3@linux.alibaba.com>
On Thu, 2024-04-04 at 17:32 +0800, Wen Gu wrote:
>
> On 2024/4/4 00:25, Gerd Bayer wrote:
> > On Sun, 2024-03-24 at 21:55 +0800, Wen Gu wrote:
> > > This implements some operations that loopback-ism does not support
> > > currently:
> > > - vlan operations, since there is no strong use-case for it.
> > > - signal_event operations, since there is no event to be processed
> > > by the loopback-ism device.
> >
> > Hi Wen,
> >
> > I wonder if the these operations that are not supported by loopback-ism
> > should rather be marked "optional" in the struct smcd_ops, and the
> > calling code should call these only when they are implemented.
> >
> > Of course this would mean more changes to net/smc/smc_core.c - but
> > loopback-ism could omit these "boiler-plate" functions.
> >
>
> Hi Gerd.
>
> Thank you for the thoughts! I agree that checks like 'if(smcd->ops->xxx)'
> can avoid the device driver from implementing unsupported operations. But I
> am afraid that which operations need to be defined as 'optional' may differ
> from different device perspectives (e.g. for loopback-ism they are vlan-related
> opts and signal_event). So I perfer to simply let the smc protocol assume
> that all operations have been implemented, and let drivers to decide which
> ones are unsupported in implementation. What do you think?
>
> Thanks!
>
I agree with Gerd, in my opinion it is better to document ops as
optional and then allow their function pointers to be NULL and check
for that. Acting like they are supported and then they turn out to be
nops to me seems to contradict the principle of least surprises. I also
think we can find a subset of mandatory ops without which SMC-D is
impossible and then everything else should be optional.
As a first guess I think the following options may be mandatory:
* query_remote_gid()
* register_dmb()/unregister_dmb()
* move_data()
For this one could argue that either move_data() or
attach_dmb()/detach_dmb() is required though personally I would
prefer to always have move_data() as a fallback and simple API
* supports_v2()
* get_local_gid()
* get_chid()
* get_dev()
> >
next prev parent reply other threads:[~2024-04-04 11:42 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-24 13:55 [RFC PATCH net-next v5 00/11] net/smc: SMC intra-OS shortcut with loopback-ism Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 01/11] net/smc: decouple ism_client from SMC-D DMB registration Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 02/11] net/smc: introduce loopback-ism for SMC intra-OS shortcut Wen Gu
2024-04-03 11:27 ` Gerd Bayer
2024-04-04 8:46 ` Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 03/11] net/smc: implement ID-related operations of loopback-ism Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 04/11] net/smc: implement some unsupported " Wen Gu
2024-04-03 16:25 ` Gerd Bayer
2024-04-04 9:32 ` Wen Gu
2024-04-04 11:42 ` Niklas Schnelle [this message]
2024-04-04 13:12 ` Wen Gu
2024-04-04 15:15 ` Niklas Schnelle
2024-04-09 1:44 ` Wen Gu
2024-04-11 11:12 ` Alexandra Winter
2024-04-12 2:02 ` Wen Gu
2024-04-12 12:20 ` Wenjia Zhang
2024-04-12 14:58 ` Alexandra Winter
2024-03-24 13:55 ` [RFC PATCH net-next v5 05/11] net/smc: implement DMB-related " Wen Gu
2024-04-03 17:20 ` Gerd Bayer
2024-04-04 10:20 ` Wen Gu
2024-04-04 11:27 ` Niklas Schnelle
2024-04-04 13:44 ` Wen Gu
2024-04-04 15:24 ` Niklas Schnelle
2024-03-24 13:55 ` [RFC PATCH net-next v5 06/11] net/smc: ignore loopback-ism when dumping SMC-D devices Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 07/11] net/smc: register loopback-ism into SMC-D device list Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 08/11] net/smc: add operations to merge sndbuf with peer DMB Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 09/11] net/smc: {at|de}tach sndbuf to peer DMB if supported Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 10/11] net/smc: adapt cursor update when sndbuf and peer DMB are merged Wen Gu
2024-03-24 13:55 ` [RFC PATCH net-next v5 11/11] net/smc: implement DMB-merged operations of loopback-ism Wen Gu
2024-04-03 6:35 ` [RFC PATCH net-next v5 00/11] net/smc: SMC intra-OS shortcut with loopback-ism Wen Gu
2024-04-03 11:10 ` Gerd Bayer
2024-04-04 10:27 ` Wen Gu
2024-04-11 7:45 ` Wen Gu
2024-04-11 9:32 ` Wenjia Zhang
2024-04-11 9:56 ` Wen Gu
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=3b3ff37643e9030ec1246e67720683a2cf5660e5.camel@linux.ibm.com \
--to=schnelle@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=alibuda@linux.alibaba.com \
--cc=borntraeger@linux.ibm.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gbayer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=guwen@linux.alibaba.com \
--cc=hca@linux.ibm.com \
--cc=jaka@linux.ibm.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=svens@linux.ibm.com \
--cc=tonylu@linux.alibaba.com \
--cc=twinkler@linux.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox