On 03/23/2018 07:15 AM, Jesper Dangaard Brouer wrote: > On Fri, 23 Mar 2018 06:29:55 -0700 > Eric Dumazet <eric.duma...@gmail.com> wrote: > >> On 03/23/2018 05:18 AM, Jesper Dangaard Brouer wrote: >> >>> + >>> +void page_pool_destroy_rcu(struct page_pool *pool) >>> +{ >>> + call_rcu(&pool->rcu, __page_pool_destroy_rcu); >>> +} >>> +EXPORT_SYMBOL(page_pool_destroy_rcu); >>> >> >> >> Why do we need to respect one rcu grace period before destroying a page pool >> ? > > Due to previous allocator ID patch, which can have a pointer reference > to a page_pool, and the allocator ID lookup uses RCU. >
I am not convinced. How comes a patch that is _before_ this one can have any impact ? Normally, we put first infrastructure, then something using it. rcu grace period before freeing huge quantitites of pages is problematic and could be used by syzbot to OOM the host.