Re: [PATCH v16 00/22] per memcg lru_lock

From: Alex Shi
Date: Sun Jul 19 2020 - 23:01:26 EST




å 2020/7/19 äå11:23, Hugh Dickins åé:
> I noticed that 5.8-rc5, with lrulock v16 applied, took significantly
> longer to run loads than without it applied, when there should have been
> only slight differences in system time. Comparing /proc/vmstat, something
> that stood out was "pgrotated 0" for the patched kernels, which led here:
>
> If pagevec_lru_move_fn() is now to TestClearPageLRU (I have still not
> decided whether that's good or not, but assume here that it is good),
> then functions called though it must be changed not to expect PageLRU!
>
> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>

Good catch!

Thanks a lot, Hugh!
except 6 changes should apply, looks we add one more in swap.c file to stop
!PageRLU further actions!

Many Thanks!
Alex

@@ -649,7 +647,7 @@ void deactivate_file_page(struct page *page)
* In a workload with many unevictable page such as mprotect,
* unevictable page deactivation for accelerating reclaim is pointless.
*/
- if (PageUnevictable(page))
+ if (PageUnevictable(page) || !PageLRU(page))
return;

if (likely(get_page_unless_zero(page))) {