On 08.08.2018 15:36, Tetsuo Handa wrote:
> On 2018/08/08 20:51, Kirill Tkhai wrote:
>> @@ -192,7 +193,6 @@ static int prealloc_memcg_shrinker(struct shrinker
>> *shrinker)
>> int id, ret = -ENOMEM;
>>
>> down_write(_rwsem);
>> -/* This may call shrinker, so it must use
On 08.08.2018 15:36, Tetsuo Handa wrote:
> On 2018/08/08 20:51, Kirill Tkhai wrote:
>> @@ -192,7 +193,6 @@ static int prealloc_memcg_shrinker(struct shrinker
>> *shrinker)
>> int id, ret = -ENOMEM;
>>
>> down_write(_rwsem);
>> -/* This may call shrinker, so it must use
On 2018/08/08 20:51, Kirill Tkhai wrote:
> @@ -192,7 +193,6 @@ static int prealloc_memcg_shrinker(struct shrinker
> *shrinker)
> int id, ret = -ENOMEM;
>
> down_write(_rwsem);
> - /* This may call shrinker, so it must use down_read_trylock() */
> id = idr_alloc(_idr,
On 2018/08/08 20:51, Kirill Tkhai wrote:
> @@ -192,7 +193,6 @@ static int prealloc_memcg_shrinker(struct shrinker
> *shrinker)
> int id, ret = -ENOMEM;
>
> down_write(_rwsem);
> - /* This may call shrinker, so it must use down_read_trylock() */
> id = idr_alloc(_idr,
This also requires call_srcu() in memcg_expand_one_shrinker_map()
and srcu_dereference() in shrink_slab_memcg(). The updated patch
is below:
[PATCH] mm: Make shrink_slab() lockless
From: Kirill Tkhai
The patch makes shrinker list and shrinker_idr SRCU-safe
for readers. This requires
This also requires call_srcu() in memcg_expand_one_shrinker_map()
and srcu_dereference() in shrink_slab_memcg(). The updated patch
is below:
[PATCH] mm: Make shrink_slab() lockless
From: Kirill Tkhai
The patch makes shrinker list and shrinker_idr SRCU-safe
for readers. This requires
The patch makes shrinker list and shrinker_idr SRCU-safe
for readers. This requires synchronize_srcu() on finalize
stage unregistering stage, which waits till all parallel
shrink_slab() are finished
Note, that patch removes rwsem_is_contended() checks from
the code, and this does not result in
The patch makes shrinker list and shrinker_idr SRCU-safe
for readers. This requires synchronize_srcu() on finalize
stage unregistering stage, which waits till all parallel
shrink_slab() are finished
Note, that patch removes rwsem_is_contended() checks from
the code, and this does not result in
8 matches
Mail list logo