在 2020/12/1 下午4:10, Michal Hocko 写道: > On Tue 01-12-20 16:02:13, Alex Shi wrote: >> Pages in pagevec may have different lruvec, so we have to do relock in >> function pagevec_lru_move_fn(), but a relock may cause current cpu wait >> for long time on the same lock for spinlock fairness reason. >> >> Before per memcg lru_lock, we have to bear the relock since the spinlock >> is the only way to serialize page's memcg/lruvec. Now TestClearPageLRU >> could be used to isolate pages exculsively, and stable the page's >> lruvec/memcg. So it gives us a chance to sort the page's lruvec before >> moving action in pagevec_lru_move_fn. Then we don't suffer from the >> spinlock's fairness wait. > Do you have any data to show any improvements from this? > Hi Michal, Thanks for quick response. Not yet. I am running for data. but according to the lru_add result, there should be a big gain for multiple memcgs scenario. Also I don't except a quick accept, just send out the idea for comments when the thread is still warm. :) Thanks Alex