Messages in this thread | | | Subject | Re: [PATCH 1/3] mm/swap.c: pre-sort pages in pagevec for pagevec_lru_move_fn | From | Alex Shi <> | Date | Tue, 1 Dec 2020 16:20:30 +0800 |
| |
在 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
| |