[PATCH v2 02/28] vmscan: take at least one pass with shrinkers
ric.masonn at gmail.com
Wed Apr 10 05:09:42 UTC 2013
On 04/01/2013 04:10 PM, Glauber Costa wrote:
> Hi Kame,
>> Doesn't this break
>> * copy the current shrinker scan count into a local variable
>> * and zero it so that other concurrent shrinker invocations
>> * don't also do this scanning work.
>> nr = atomic_long_xchg(&shrinker->nr_in_batch, 0);
>> This xchg magic ?
> This is done before the actual reclaim attempt, and all it does is to
> indicate to other concurrent shrinkers that "I've got it", and others
> should not attempt to shrink.
> Even before I touch this, this quantity represents the number of
> entities we will try to shrink. Not necessarily we will succeed. What my
> patch does, is to try at least once if the number is too small.
> Before it, we will try to shrink 512 objects and succeed at 0 (because
> batch is 1024). After this, we will try to free 512 objects and succeed
> at an undefined quantity between 0 and 512.
Where you get the magic number 512 and 1024? The value of SHRINK_BATCH
> In both cases, we will zero out nr_in_batch in the shrinker structure to
> notify other shrinkers that we are the ones shrinking.
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo at kvack.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont at kvack.org"> email at kvack.org </a>
More information about the Containers