On Fri, Apr 03, 2020 at 12:14:19PM -0700, Paul E. McKenney wrote: > On Fri, Apr 03, 2020 at 07:30:51PM +0200, Uladzislau Rezki (Sony) wrote: > > Maintain an emergency pool for each CPU with some > > extra objects. There is read-only sysfs attribute, > > the name is "rcu_nr_emergency_objs". It reflects > > the size of the pool. As for now the default value > > is 3. > > > > The pool is populated when low memory condition is > > detected. Please note it is only for headless case > > it means when the regular SLAB is not able to serve > > any request, the pool is used. > > > > Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx> > > --- > > kernel/rcu/tree.c | 133 +++++++++++++++++++++++++++++++++------------- > > 1 file changed, 97 insertions(+), 36 deletions(-) > > > > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > > index 5e26145e9ead..f9f1f935ab0b 100644 > > --- a/kernel/rcu/tree.c > > +++ b/kernel/rcu/tree.c > > @@ -114,6 +114,14 @@ int rcu_num_lvls __read_mostly = RCU_NUM_LVLS; > > int rcu_kfree_nowarn; > > module_param(rcu_kfree_nowarn, int, 0444); > > > > +/* > > + * For headless variant. Under memory pressure an > > + * emergency pool can be used if the regular SLAB > > + * is not able to serve some memory for us. > > + */ > > +int rcu_nr_emergency_objs = 3; > > +module_param(rcu_nr_emergency_objs, int, 0444); > > Please document this in Documentation/admin-guide/kernel-parameters.txt. > Will do that, Paul! Thanks for good point :) -- Vlad Rezki