From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Alan Borzeszkowski <alan.borzeszkowski@linux.intel.com>
Cc: Dominique Martinet <asmadeus@codewreck.org>,
ericvh@kernel.org, lucho@ionkov.net, andreas.noever@gmail.com,
YehezkelShB@gmail.com, corbet@lwn.net, linux-usb@vger.kernel.org,
v9fs@lists.linux.dev, linux-doc@vger.kernel.org,
linux_oss@crudebyte.com
Subject: Re: [PATCH 0/3] net/9p: Add 9P transport over USB4STREAM
Date: Mon, 9 Nov 2026 17:52:36 +0100 [thread overview]
Message-ID: <20261109165236.GW176724@black.igk.intel.com> (raw)
In-Reply-To: <bc1ec916278d94116bd9b60e40b549612e3ff3a4.camel@linux.intel.com>
Hi,
On Mon, Nov 02, 2026 at 04:39:15PM +0100, Alan Borzeszkowski wrote:
> Hi,
>
> On Thu, 2026-10-29 at 11:45 +0900, Dominique Martinet wrote:
> > Alan Borzeszkowski wrote on Thu, Sep 24, 2026 at 06:23:30PM +0200:
> > > This series adds trans=thunderbolt, a 9P transport over the
> > > Thunderbolt/USB4 DMA tunnels exposed by the tbstream character
> > > devices
> > > (USB4STREAM). It's designed for simple host-to-host file sharing
> > > over
> > > single Thunderbolt/USB4 cable.
> > >
> > > Today the only practical way to use 9P over a USB4 link is trans=fd
> > > which, due to its design, cannot fully utilize USB4STREAM
> > > capabilities.
> > > Thunderbolt transport offers a simpler mount (no fd redirection
> > > required),
> > > busy-poll support and substantial throughput increase compared to
> > > FD
> > > transport.
> > >
> > > User may mount 9P export with following command:
> > >
> > > mount -t 9p -o trans=thunderbolt,aname=<exported_remote>
> > > /dev/tbstreamX /mnt
> > >
> > > Thunderbolt transport achieves a median 1.21x more throughput
> > > compared
> > > to FD transport under same conditions, and the advantage grows with
> > > concurrency: 1.03-1.09x at 1-2 threads, 1.14-1.27x at 4, and 1.34-
> > > 2.28x
> > > at 8-16.
> > >
> > > As an example, 4K random reads, 4 worker threads. FD transport
> > > achieves
> > > ~53k IOPS, Thunderbolt transport ~66k (+24.7%). 4K random writes
> > > follow:
> > > FD ~28k IOPS, Thunderbolt ~33k (+19.4%).
> >
> > Thanks for the patches
> >
> > We've kept adding new transports for 9p lately but maintenance is
> > becoming a burden so let me push back a bit: is the increased
> > performance really worth it over trans=fd ?
>
> >From the data I've collected, yes. trans=thunderbolt is at worst on par
> with trans=fd and with increasing amount of threads, trans=fd lags
> behind.
>
> Thunderbolt transport also offers busy-poll support, which boosts
> performance significantly at low thread counts. It cannot be used by
> trans=fd due to its design around polling.
>
> And regarding maintenance, this transport is simple and much smaller
> than existing ones.
>
> >
> > If this could be used to bringup a system with a root filesystem like
> > it
> > was done for trans=usbg I'd see the point, but otherwise the simpler
> > usage could be addressed with a simple mount.9p helper, and at this
> > point I'd consider usb4stream to be used for perhaps one-shot copy
> > and
> > not care too much about 4k random IOs (so less affected by latency
> > if msize is large enough, and for a one-shot backup it doesn't matter
> > too much if it takes 6 instead of 5 minutes)
>
> In case of one-shot backup, I think my drag&drop scenario from cover-
> letter fits it well. Assuming single thread copy, both transports
> achieve similar results, but with busy-poll enabled, trans=thunderbolt
> cuts about 1/3rd of copy time:
> Copy from 9P client to a server, using trans=fd, takes 22m29s while
> trans=thunderbolt + busy-poll takes 14m50s (~1.5x faster).
> Reverse direction, same improvement: reducing copy time from 41m07s to
> 26m56s. All done on default msize.
That sounds like a good reason to include it IMHO. Also I like the
simplicity - no need to run a separate descriptor feeding process :)
> > If you can convince me this is worth it and can take care of the
> > transport for the forseable future I'm not dead set to refuse this,
> > but
> > I can't say I'm convinced right now, especially as I can't even test
> > this (I don't own two computers with working usb-c...)
>
> I would be happy to maintain Thunderbolt transport.
If Dominique is okay with this, I suggest to send v2 with a MAINTAINERS
update as well.
next prev parent reply other threads:[~2026-11-09 16:52 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-24 16:23 [PATCH 0/3] net/9p: Add 9P transport over USB4STREAM Alan Borzeszkowski
2026-09-24 16:23 ` [PATCH 1/3] thunderbolt: stream: Add tbstream_dev_from_file() Alan Borzeszkowski
2026-09-29 6:42 ` Mika Westerberg
2026-09-24 16:23 ` [PATCH 2/3] net/9p/thunderbolt: Add native 9P Thunderbolt transport support Alan Borzeszkowski
2026-09-24 16:23 ` [PATCH 3/3] Documentation/fs/9p: Add Thunderbolt transport documentation Alan Borzeszkowski
2026-10-29 2:45 ` [PATCH 0/3] net/9p: Add 9P transport over USB4STREAM Dominique Martinet
2026-11-02 15:39 ` Alan Borzeszkowski
2026-11-09 16:52 ` Mika Westerberg [this message]
2026-11-10 13:38 ` Dominique Martinet
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=20261109165236.GW176724@black.igk.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=YehezkelShB@gmail.com \
--cc=alan.borzeszkowski@linux.intel.com \
--cc=andreas.noever@gmail.com \
--cc=asmadeus@codewreck.org \
--cc=corbet@lwn.net \
--cc=ericvh@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux_oss@crudebyte.com \
--cc=lucho@ionkov.net \
--cc=v9fs@lists.linux.dev \
/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