Re: [PATCH -mm -v4 14/21] mm, cgroup, THP, swap: Support to move swap account for PMD swap mapping

From: Daniel Jordan
Date: Mon Jul 09 2018 - 13:21:12 EST


On Fri, Jun 22, 2018 at 11:51:44AM +0800, Huang, Ying wrote:
> Because there is no way to prevent a huge swap cluster from being
> split except when it has SWAP_HAS_CACHE flag set.

What about making get_mctgt_type_thp take the cluster lock? That function
would be the first lock_cluster user outside of swapfile.c, but it would
serialize with split_swap_cluster.

> It is possible for
> the huge swap cluster to be split and the charge for the swap slots
> inside to be changed, after we check the PMD swap mapping and the huge
> swap cluster before we commit the charge moving. But the race window
> is so small, that we will just ignore the race.

Moving the charges is a slow path, so can't we just be correct here and not
leak?