On 02/02/2018 10:22 AM, Laurent Dufour wrote:
On 01/02/2018 00:04, [email protected] wrote:
...snip...
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 99a54df760e3..6911626f29b2 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2077,6 +2077,7 @@ static void lock_page_lru(struct page *page, int *isolated)lruvec = mem_cgroup_page_lruvec(page, zone->zone_pgdat); ClearPageLRU(page); + smp_rmb(); /* Pairs with smp_wmb in __pagevec_lru_add */Why not include the call to smp_rmb() in del_page_from_lru_list() instead of spreading smp_rmb() before calls to del_page_from_lru_list() ?
Yes, this is what I should have done. The memory barriers came from another patch I squashed in and I didn't look back to see how obvious the encapsulation was.

