Search Linux Wireless

Re: Memory providers multiplexing (Was: [PATCH net-next v4 4/5] page_pool: remove PP_FLAG_PAGE_FRAG flag)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 12.07.23 um 15:03 schrieb Jason Gunthorpe:
On Wed, Jul 12, 2023 at 09:55:51AM +0200, Christian König wrote:

Anyone see any glaring issues with this approach? I plan on trying to
implement a PoC and sending an RFC v2.
Well we already have DMA-buf as user API for this use case, which is
perfectly supported by RDMA if I'm not completely mistaken.

So what problem do you try to solve here actually?
In a nutshell, netdev's design currently needs struct pages to do DMA
to it's packet buffers.

So it cannot consume the scatterlist that dmabuf puts out

RDMA doesn't need struct pages at all, so it is fine.

If Mina can go down the path of changing netdev to avoid needing
struct pages then no changes to DRM side things.

Otherwise a P2P struct page and a co-existance with netmem on a
ZONE_DEVICE page would be required. :\

Uff, depending on why netdev needs struct page (I think I have a good idea why) this isn't really going to work generically either way.

What we maybe able to do is to allow copy_file_range() between DMA-buf file descriptor and a TCP socket.

If I'm not completely mistaken that should then end up in DMA-bufs file_operations->copy_file_range callback (maybe with some minor change to allows this).

The DMA-buf framework could then forward this to the exporter of the memory which owns the backing memory could then do the necessary steps.

Regards,
Christian.


Jason




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux