[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230718103234.711d7e4f@kernel.org>
Date: Tue, 18 Jul 2023 10:32:34 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Andy Lutomirski <luto@...nel.org>
Cc: Mina Almasry <almasrymina@...gle.com>, linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linaro-mm-sig@...ts.linaro.org, netdev@...r.kernel.org,
linux-arch@...r.kernel.org, linux-kselftest@...r.kernel.org, Sumit Semwal
<sumit.semwal@...aro.org>, Christian König
<christian.koenig@....com>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>, Jesper
Dangaard Brouer <hawk@...nel.org>, Ilias Apalodimas
<ilias.apalodimas@...aro.org>, Arnd Bergmann <arnd@...db.de>, David Ahern
<dsahern@...nel.org>, Willem de Bruijn <willemdebruijn.kernel@...il.com>,
Shuah Khan <shuah@...nel.org>, jgg@...pe.ca
Subject: Re: [RFC PATCH 00/10] Device Memory TCP
On Sun, 16 Jul 2023 19:41:28 -0700 Andy Lutomirski wrote:
> I'm wondering if a more capable if somewhat higher latency model could
> work where the NIC stores received packets in its own device memory.
> Then userspace (or the kernel or a driver or whatever) could initiate a
> separate DMA from the NIC to the final target *after* reading the
> headers. Can the hardware support this?
No, no, that's impossible. SW response times are in 100s of usec (at
best) which at 200Gbps already means megabytes of data _per-queue_.
Way more than the amount of buffer NICs will have.
The Rx application can bind to a IP addr + Port and then install
a one-sided-3-tuple (dst IP+proto+port) rule in the HW. Worst case
a full 5-tuple per flow.
Most NICs support OvS offloads with 100s of thousands of flows.
The steering should be bread and butter.
It does require splitting flows into separate data and control channels,
but it's the right trade-off - complexity should be on the SW side.
Powered by blists - more mailing lists