Message ID | 20250204215622.695511-1-dw@davidwei.uk (mailing list archive) |
---|---|
Headers | show |
Series | io_uring zero copy rx | expand |
On 2/4/25 2:56 PM, David Wei wrote: > We share netdev core infra with devmem TCP. The main difference is that > io_uring is used for the uAPI and the lifetime of all objects are bound > to an io_uring instance. Data is 'read' using a new io_uring request > type. When done, data is returned via a new shared refill queue. A zero > copy page pool refills a hw rx queue from this refill queue directly. Of > course, the lifetime of these data buffers are managed by io_uring > rather than the networking stack, with different refcounting rules. just to make sure I understand, working with GPU memory as well as host memory is not a goal of this patch set?
On 2025-02-05 09:44, David Ahern wrote: > On 2/4/25 2:56 PM, David Wei wrote: >> We share netdev core infra with devmem TCP. The main difference is that >> io_uring is used for the uAPI and the lifetime of all objects are bound >> to an io_uring instance. Data is 'read' using a new io_uring request >> type. When done, data is returned via a new shared refill queue. A zero >> copy page pool refills a hw rx queue from this refill queue directly. Of >> course, the lifetime of these data buffers are managed by io_uring >> rather than the networking stack, with different refcounting rules. > > just to make sure I understand, working with GPU memory as well as host > memory is not a goal of this patch set? Yes, this patchset is only for host memory.
On 2/5/25 11:00 AM, David Wei wrote: > On 2025-02-05 09:44, David Ahern wrote: >> On 2/4/25 2:56 PM, David Wei wrote: >>> We share netdev core infra with devmem TCP. The main difference is that >>> io_uring is used for the uAPI and the lifetime of all objects are bound >>> to an io_uring instance. Data is 'read' using a new io_uring request >>> type. When done, data is returned via a new shared refill queue. A zero >>> copy page pool refills a hw rx queue from this refill queue directly. Of >>> course, the lifetime of these data buffers are managed by io_uring >>> rather than the networking stack, with different refcounting rules. >> >> just to make sure I understand, working with GPU memory as well as host >> memory is not a goal of this patch set? > > Yes, this patchset is only for host memory. And is GPU memory on the near term to-do list?
On 2/5/25 18:43, David Ahern wrote: > On 2/5/25 11:00 AM, David Wei wrote: >> On 2025-02-05 09:44, David Ahern wrote: >>> On 2/4/25 2:56 PM, David Wei wrote: >>>> We share netdev core infra with devmem TCP. The main difference is that >>>> io_uring is used for the uAPI and the lifetime of all objects are bound >>>> to an io_uring instance. Data is 'read' using a new io_uring request >>>> type. When done, data is returned via a new shared refill queue. A zero >>>> copy page pool refills a hw rx queue from this refill queue directly. Of >>>> course, the lifetime of these data buffers are managed by io_uring >>>> rather than the networking stack, with different refcounting rules. >>> >>> just to make sure I understand, working with GPU memory as well as host >>> memory is not a goal of this patch set? >> >> Yes, this patchset is only for host memory. > > And is GPU memory on the near term to-do list? Not a priority, but yes, and it's fairly easy to add as it'd only need changes in setup disregard the fallback path.