Messages in this thread | | | Date | Tue, 3 May 2022 18:04:13 +0200 | From | Michal Hocko <> | Subject | Re: Memory allocation on speculative fastpaths |
| |
On Tue 03-05-22 08:59:13, Paul E. McKenney wrote: > Hello! > > Just following up from off-list discussions yesterday. > > The requirements to allocate on an RCU-protected speculative fastpath > seem to be as follows: > > 1. Never sleep. > 2. Never reclaim. > 3. Leave emergency pools alone. > > Any others? > > If those rules suffice, and if my understanding of the GFP flags is > correct (ha!!!), then the following GFP flags should cover this: > > __GFP_NOMEMALLOC | __GFP_NOWARN
GFP_NOWAIT | __GFP_NOMEMALLOC | __GFP_NOWARN > Or is this just a fancy way of always returning NULL or some such? ;-)
It could fail quite easily. We would also want to guarantee (by documenting I guess) that the page allocator never does anything that would depend or invoke rcu_synchronize or something like that.
I believe this is the case currently. -- Michal Hocko SUSE Labs
| |