On Mon 17-08-20 15:28:03, Paul E. McKenney wrote: > On Mon, Aug 17, 2020 at 10:28:49AM +0200, Michal Hocko wrote: > > On Mon 17-08-20 00:56:55, Uladzislau Rezki wrote: > > [ . . . ] > > > > wget ftp://vps418301.ovh.net/incoming/1000000_kmalloc_kfree_rcu_proc_percpu_pagelist_fractio_is_8.png > > > > 1/8 of the memory in pcp lists is quite large and likely not something > > used very often. > > > > Both these numbers just make me think that a dedicated pool of page > > pre-allocated for RCU specifically might be a better solution. I still > > haven't read through that branch of the email thread though so there > > might be some pretty convincing argments to not do that. > > To avoid the problematic corner cases, we would need way more dedicated > memory than is reasonable, as in well over one hundred pages per CPU. > Sure, we could choose a smaller number, but then we are failing to defend > against flooding, even on systems that have more than enough free memory > to be able to do so. It would be better to live within what is available, > taking the performance/robustness hit only if there isn't enough. Thomas had a good point that it doesn't really make much sense to optimize for flooders because that just makes them more effective. > My current belief is that we need a combination of (1) either the > GFP_NOLOCK flag or Peter Zijlstra's patch and I must have missed the patch? -- Michal Hocko SUSE Labs