From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: Stephen Hemminger <stephen@networkplumber.org>, dev@dpdk.org
Subject: Re: RFC - Tap io_uring PMD
Date: Wed, 6 Nov 2024 08:46:55 +0100 [thread overview]
Message-ID: <ac1b1cde-6218-4c27-b715-f47b40b873ae@redhat.com> (raw)
In-Reply-To: <20241030145644.0b97f23c@hermes.local>
Hi Stephen,
On 10/30/24 22:56, Stephen Hemminger wrote:
> The current tap device is slow both due to architectural choices and the
> overhead of Linux system calls. I am exploring a how to fix that but some
> of the choices require some tradeoffs. Which leads to some open questions:
>
> 1. DPDK tap also support tunnel (TUN) mode where there is no Ethernet header
> only L3. Does anyone actually use this? It is different than what every other
> PMD expects.
>
> 2. The fastest way to use kernel TAP device would be to use io_uring.
> But this was added in 5.1 kernel (2019). Rather than having conditional or
> dual mode in DPDK tap device, perhaps there should just be a new PMD tap_uring?
>
> 3. Current TAP device provides hooks for several rte_flow types by playing
> games with kernel qdisc. Does anyone really use this? Propose just not doing
> this in new tap_uring.
>
> 4. What other features of TAP device beyond basic send/receive make sense?
> It looks like new device could support better statistics.
>
> 5. What about Rx interrupt support?
>
> Probably the hardest part of using io_uring is figuring out how to collect
> completions. The simplest way would be to handle all completions rx and tx
> in the rx_burst function.
>
Why not just use Virtio-user PMD with Vhost-kernel backend [0]?
Are there any missing features that io_uring can address?
Regards,
Maxime
[0]: http://doc.dpdk.org/guides/howto/virtio_user_as_exception_path.html
next prev parent reply other threads:[~2024-11-06 7:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-30 21:56 Stephen Hemminger
2024-10-31 10:27 ` Morten Brørup
2024-11-01 0:34 ` Stephen Hemminger
2024-11-02 22:28 ` Morten Brørup
2024-11-05 18:58 ` Stephen Hemminger
2024-11-05 23:22 ` Morten Brørup
2024-11-05 23:25 ` Stephen Hemminger
2024-11-05 23:54 ` Morten Brørup
2024-11-06 0:52 ` Igor Gutorov
2024-11-07 16:30 ` Stephen Hemminger
2024-11-06 10:30 ` Konstantin Ananyev
2024-11-06 0:46 ` Varghese, Vipin
2024-11-06 7:46 ` Maxime Coquelin [this message]
2024-11-07 21:51 ` Morten Brørup
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=ac1b1cde-6218-4c27-b715-f47b40b873ae@redhat.com \
--to=maxime.coquelin@redhat.com \
--cc=dev@dpdk.org \
--cc=stephen@networkplumber.org \
/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;
as well as URLs for NNTP newsgroup(s).