Linux Documentation
 help / color / mirror / Atom feed
From: Konstantin Sinyuk <ksinyuk@kernel.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Jiri Pirko <jiri@resnulli.us>,
	dri-devel@lists.freedesktop.org,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Francois Dugast <francois.dugast@intel.com>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Donald Hunter <donald.hunter@gmail.com>,
	Jakub Kicinski <kuba@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
	Ilia Levi <ilia.levi@intel.com>,
	linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	jhs@mojatatu.com
Subject: Re: [RFC PATCH 0/12] drm/fabric: vendor-neutral topology infrastructure for scale-up accelerator interconnects
Date: Mon, 31 Aug 2026 14:45:05 +0300	[thread overview]
Message-ID: <fabric-jason-reply.1788176463.ksinyuk@kernel.org> (raw)
In-Reply-To: <20260828170301.GA4157646@nvidia.com>

On Fri, Aug 28, 2026 at 02:03:01PM -0300, Jason Gunthorpe wrote:
> For something complex like this, if you can't concretetly tie the HW
> to a net namespace, and follow the net namespace rules for visibility,
> then it is going to be a painful choice. I speak from alot of rdma
> experiance where net namespaces have been consistently challenging.

Agreed. The series does not provide meaningful namespace semantics; it
is host-global and confined to init_net. I would rather make that scope
explicit than invent per-netns fabric semantics that the hardware does
not have.

Generic Netlink was a practical starting point, and drm_ras established
the pattern in DRM, but that is a simpler problem and does not settle
the choice here. A device-fd model like Jiri's may fit visibility and
access control better, since a global family has no descriptor to check
against. I would not switch transports based on an early pre-RFC, but I
no longer consider the transport choice settled.

> net/ is mainly focused on IP networking, it is where you should be
> putting the ethernet layer at the bottom of the ua link over ethernet,
> SUE, or whatever.

Agreed. Ethernet PHY, MAC, packet processing and switch routing belong
in the networking stack, not in DRM or an accelerator driver.

Scale-up can reuse those layers where they fit. What differs is the
accelerator-facing semantics, even when the underlying transport reuses
Ethernet. From the accelerator side, a scale-up endpoint behaves more
like another core in a tightly coupled system than an ordinary NIC.

This series does not duplicate the networking layers. It models
endpoints, ports, direct adjacency, membership and local state: no
netdev, packet processing, Ethernet PHY management, route computation
or switch forwarding.

> There are so many variations of these "scale up" fabrics now, it would
> probably be appropriate to have one subsystem that aims to work with
> all of them. It is almost rdma but different enough it probably
> wouldn't fit well.

Worth testing. I would rather approach that through the minimum common
object model than start by defining a complete subsystem.

DRM is the current location because the initial providers are DRM and
accel drivers, not because DRM should own the transport or must be the
final home. The objects do not depend on GEM, scheduling, display or DRM
memory semantics.

Switches are the difficult case. A UALink switch is not a DRM device,
and complete Pod topology may involve information owned by the Pod
Controller and switch-management plane, not only accelerator drivers.
If that information has to be represented as first-class objects, DRM
may not be the right final home.

There is no established common Linux answer for this class of fabric
yet. I would rather start with the minimum topology objects, test them
against direct-link and switched implementations, and review the model
with multiple vendors before deciding its final scope and home.

The LPC BoF is where I want the accelerator, networking and RDMA sides
in the same room:

  https://lpc.events/event/20/contributions/2412/

Thanks,
Konstantin

  reply	other threads:[~2026-08-31 11:45 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-24  8:09 [RFC PATCH 0/12] drm/fabric: vendor-neutral topology infrastructure for scale-up accelerator interconnects Konstantin Sinyuk
2026-08-24  8:09 ` [RFC PATCH 01/12] drm/fabric: add core object model and provider API Konstantin Sinyuk
2026-08-24  8:09 ` [RFC PATCH 02/12] drm/fabric: add query uAPI and generated headers Konstantin Sinyuk
2026-08-24  8:09 ` [RFC PATCH 03/12] drm/fabric: implement query netlink operations Konstantin Sinyuk
2026-08-24  8:09 ` [RFC PATCH 04/12] drm/fabric: add read-only synthetic provider Konstantin Sinyuk
2026-08-24  8:09 ` [RFC PATCH 05/12] drm/fabric: add object-model KUnit tests Konstantin Sinyuk
2026-08-24  8:09 ` [RFC PATCH 06/12] drm/fabric: add YNL query and policy selftests Konstantin Sinyuk
2026-08-24  8:09 ` [RFC PATCH 07/12] drm/fabric: add topology-provisioning core Konstantin Sinyuk
2026-08-24  8:09 ` [RFC PATCH 08/12] drm/fabric: add provisioning netlink uAPI Konstantin Sinyuk
2026-08-26  9:32 ` [RFC PATCH 0/12] drm/fabric: vendor-neutral topology infrastructure for scale-up accelerator interconnects Leon Romanovsky
2026-08-26 15:38   ` Konstantin Sinyuk
2026-08-27 17:09     ` Leon Romanovsky
2026-08-28 16:13       ` Rodrigo Vivi
2026-08-31 11:45       ` Konstantin Sinyuk
2026-08-27 12:35 ` Jiri Pirko
2026-08-28 16:28   ` Rodrigo Vivi
2026-08-28 17:03     ` Jason Gunthorpe
2026-08-31 11:45       ` Konstantin Sinyuk [this message]
2026-08-31 12:23         ` Jason Gunthorpe
2026-08-31 11:45   ` Konstantin Sinyuk

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=fabric-jason-reply.1788176463.ksinyuk@kernel.org \
    --to=ksinyuk@kernel.org \
    --cc=airlied@gmail.com \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=donald.hunter@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=edumazet@google.com \
    --cc=francois.dugast@intel.com \
    --cc=horms@kernel.org \
    --cc=ilia.levi@intel.com \
    --cc=jgg@nvidia.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=simona@ffwll.ch \
    --cc=skhan@linuxfoundation.org \
    --cc=tzimmermann@suse.de \
    /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