Re: Race condition between putback_lru_page andmem_cgroup_move_list

From: Lee Schermerhorn
Date: Thu Aug 07 2008 - 08:21:48 EST


On Thu, 2008-08-07 at 20:00 +0900, KOSAKI Motohiro wrote:
> Hi
>
> > If you mean the "active/inactive list transition" in
> > shrink_[in]active_list(), these are already batched under zone lru_lock
> > with batch size determined by the 'release pages' pvec. So, I think
> > we're OK here.
>
> No.
>
> AFAIK shrink_inactive_list batched zone->lru_lock,
> but it doesn't batched mz->lru_lock.
>
> then, spin_lock_irqsave is freqently called.

Ah, I see what you mean. Yes, the mem cgroup zone lru_lock will be
cycled frequently as each back of pages is put back during reclaim. So,
you'd like to eliminate the mz lru_lock, move the mem cgroup zone info
under the corresponding zone lru_lock and move the page between memcg
lists atomically with adding to global lru lists?

Lee

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/