Linux USB
 help / color / mirror / Atom feed
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.

  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