]> git.baikalelectronics.ru Git - kernel.git/commit
mm/balloon_compaction.c: don't zero ballooned pages
authorWei Wang <wei.w.wang@intel.com>
Thu, 10 Aug 2017 22:24:21 +0000 (15:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 10 Aug 2017 22:54:07 +0000 (15:54 -0700)
commit18a16591449ced5f64abd8a5bb3352c88f6038f2
tree4850a7f52d1b3695ee750dc6c500b765a73a39a6
parent92f384ffed1d81e6d59ea527eb0185a6ab6b5d20
mm/balloon_compaction.c: don't zero ballooned pages

Revert commit f06d840dd99e ("mm/balloon_compaction.c: enqueue zero page
to balloon device")'

Zeroing ballon pages is rather time consuming, especially when a lot of
pages are in flight. E.g. 7GB worth of ballooned memory takes 2.8s with
__GFP_ZERO while it takes ~491ms without it.

The original commit argued that zeroing will help ksmd to merge these
pages on the host but this argument is assuming that the host actually
marks balloon pages for ksm which is not universally true.  So we pay
performance penalty for something that even might not be used in the end
which is wrong.  The host can zero out pages on its own when there is a
need.

[mhocko@kernel.org: new changelog text]
Link: http://lkml.kernel.org/r/1501761557-9758-1-git-send-email-wei.w.wang@intel.com
Fixes: f06d840dd99e ("mm/balloon_compaction.c: enqueue zero page to balloon device")
Signed-off-by: Wei Wang <wei.w.wang@intel.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: zhenwei.pi <zhenwei.pi@youruncloud.com>
Cc: David Hildenbrand <david@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/balloon_compaction.c