Re: [PATCH net-next v9 08/20] net: expose page_pool_{set,clear}_pp_info

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

 



On Thu, Jan 2, 2025 at 8:20 AM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote:
>
> On 12/21/24 02:23, Jakub Kicinski wrote:
> > On Sat, 21 Dec 2024 01:07:44 +0000 Pavel Begunkov wrote:
> >>>> Memory providers need to set page pool to its net_iovs on allocation, so
> >>>> expose page_pool_{set,clear}_pp_info to providers outside net/.
> >>>
> >>> I'd really rather not expose such low level functions in a header
> >>> included by every single user of the page pool API.
> >>
> >> Are you fine if it's exposed in a new header file?
> >
> > I guess.
> >
> > I'm uncomfortable with the "outside net/" phrasing of the commit
> > message. Nothing outside net should used this stuff. Next we'll have
> > a four letter subsystem abusing it and claiming that it's in a header
> > so it's a public.
>
> By net/ I purely meant the folder, even though it also dictates
> the available API. io_uring is outside, having some glue API
> between them is the only way I can think of, even if it looks
> different from the current series.
>
> Since there are strong opinions would make sense to shove it into
> a new file and name helpers more appropriately, like net_mp_*.
>

I guess I'm a bit sorry here because I think I suggested this
approach. I think the root of the issue is that the io_uring memory
provider (and future mps) need to set_pp_info/clear_pp_info the
netmems. dmabuf mp has no issue because it's defined under net/core so
it can easily include net/core/page_pool_priv.h.

I guess more options I see here are:

1. move the io_uring mp to somewhere under net/core. Moving only the
mp should be sufficient here I think.

2. Do some mp refactor such that the mp gives the page_pool the
netmems but the page_pool is responsible for
set_pp_info/clear_pp_info.

3. Revert back to earlier versions of the code where page_pool.c
exposed a helper that did all the memory processing. I had pushed back
against that version of the code because the helper seemed like
io_uring mp specific code masquerading as a generic helper that wasn't
very reusable :shrug:

For what little it's worth I'm having trouble imagining how
set_pp_info/clear_pp_info can be abused if exposed, so this approach
is fine by me, but I'm probably missing something if there is huge
concern about this.

-- 
Thanks,
Mina





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux