public inbox for [email protected]
 help / color / mirror / Atom feed
From: Paul Cercueil <[email protected]>
To: Pavel Begunkov <[email protected]>
Cc: [email protected]
Subject: Quick question about your io_uring zerocopy work
Date: Thu, 21 Jul 2022 10:38:02 +0100	[thread overview]
Message-ID: <[email protected]> (raw)

Hi Pavel,

Good job on the io_uring zerocopy stuff, that looks really interesting!

I'm working on adding a new userspace/kernelspace buffer interface for 
the IIO subsystem. My first idea (a few years ago already) was to add 
support for splice(), so that the data could be sent from IIO hardware 
directly to file or to the network.

It turned out not working really well because of how splice() works. 
The kernel would erase pages to be exchanged with the pipe data pages, 
so the speed gains obtained by not copying data pages were 
underwhelming and the CPU usage was almost as high (CPU usage being our 
limiting factor here).

We then settled for a dmabuf-based interface [1] which works great as a 
userspace/kernelspace interface, but doesn't allow zero-copy to disk or 
network (until someone adds support for it, I guess). The patchset got 
refused on the basis that (against all documentation) dmabuf really is 
a gpu/drm thing and shouldn't be used elsewhere.

My question for you is, would your new io_uring zerocopy work allow for 
instance to transfer data from storage to the network, without 
triggering this "page clearing" mechanism that splice() has?

Cheers!
-Paul

[1] 
https://lore.kernel.org/linux-doc/[email protected]/T/



             reply	other threads:[~2022-07-21  9:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-21  9:38 Paul Cercueil [this message]
2022-07-21 13:22 ` Quick question about your io_uring zerocopy work Pavel Begunkov

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 \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /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