On Wed, Nov 15, 2017 at 09:56:02AM +0900, Minchan Kim wrote: > @@ -498,6 +498,14 @@ static unsigned long shrink_slab(gfp_t gfp_mask, int nid, > sc.nid = 0; > > freed += do_shrink_slab(&sc, shrinker, nr_scanned, nr_eligible); > + /* > + * bail out if someone want to register a new shrinker to > prevent > + * long time stall by parallel ongoing shrinking. > + */ > + if (rwsem_is_contended(&shrinker_rwsem)) { > + freed = 1; > + break; > + } > }
When you send the formal version, please include Acked-by: Johannes Weiner <han...@cmpxchg.org>