[RFC PATCH net-next v8 02/14] net: page_pool: create hooks for custom page providers
Jason Gunthorpe
jgg at ziepe.ca
Wed May 8 15:58:13 UTC 2024
On Wed, May 08, 2024 at 04:44:32PM +0100, Pavel Begunkov wrote:
> > like a weird and indirect way to get there. Why can't io_uring just be
> > the entity that does the final free and not mess with the logic
> > allocator?
>
> Then the user has to do a syscall (e.g. via io_uring) to return pages,
> and there we'd need to care how to put the pages efficiently, i.e.
> hitting the page pool's fast path, e.g. by hoping napi is scheduled and
> scheduled for the CPU we're running on, or maybe transferring the pages
> to the right CPU first.
>
> Compare it with userspace putting pages into a ring, and the allocator
> taking from there when needed without any extra synchronisation and
> hassle just because it's a sole consumer.
Wow, that sounds a bit terrifying for security, but I guess I can see
your point.
You are replacing the whole allocator logic if you are effectively
putting the free list in userspace memory.
Jason
More information about the dri-devel
mailing list