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. Thanx, Paul