Re: [PATCH -mm -v9 2/3] mm, THP, swap: Check whether THP can be split firstly

From: Johannes Weiner
Date: Thu Apr 20 2017 - 16:50:51 EST


On Thu, Apr 20, 2017 at 08:50:43AM +0800, Huang, Ying wrote:
> Johannes Weiner <hannes@xxxxxxxxxxx> writes:
> > On Wed, Apr 19, 2017 at 03:06:24PM +0800, Huang, Ying wrote:
> >> With the patchset, the swap out throughput improves 3.6% (from about
> >> 4.16GB/s to about 4.31GB/s) in the vm-scalability swap-w-seq test case
> >> with 8 processes. The test is done on a Xeon E5 v3 system. The swap
> >> device used is a RAM simulated PMEM (persistent memory) device. To
> >> test the sequential swapping out, the test case creates 8 processes,
> >> which sequentially allocate and write to the anonymous pages until the
> >> RAM and part of the swap device is used up.
> >>
> >> Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> >> Signed-off-by: "Huang, Ying" <ying.huang@xxxxxxxxx>
> >> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> [for can_split_huge_page()]
> >
> > How often does this actually happen in practice? Because all that this
> > protects us from is trying to allocate a swap cluster - which with the
> > si->free_clusters list really isn't all that expensive - and return it
> > again. Unless this happens all the time in practice, this optimization
> > seems misplaced.
>
> To my surprise too, I found this patch has measurable impact in my
> test. The swap out throughput improves 3.6% in the vm-scalability
> swap-w-seq test case with 8 processes. Details are in the original
> patch description.

Yeah I think that justifies it.

The changelog says "the patchset", I didn't realize this is the gain
from just this patch alone. Care to update that?

Thanks!