All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@suse.de>
To: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	mhocko@suse.com, vbabka@suse.cz, minchan@kernel.org,
	aneesh.kumar@linux.vnet.ibm.com, bsingharora@gmail.com,
	srikar@linux.vnet.ibm.com, haren@linux.vnet.ibm.com,
	jglisse@redhat.com, dave.hansen@intel.com,
	dan.j.williams@intel.com, zi.yan@cs.rutgers.edu,
	Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Subject: Re: [PATCH 0/6] Enable parallel page migration
Date: Thu, 9 Mar 2017 15:09:04 +0000	[thread overview]
Message-ID: <20170309150904.pnk6ejeug4mktxjv@suse.de> (raw)
In-Reply-To: <ef5efef8-a8c5-a4e7-ffc7-44176abec65c@linux.vnet.ibm.com>

On Wed, Mar 08, 2017 at 09:34:27PM +0530, Anshuman Khandual wrote:
> > Any comments, suggestions are welcome.
> 
> Hello Vlastimil/Michal/Minchan/Mel/Dave,
> 
> Apart from the comments from Naoya on a different thread posted by Zi
> Yan, I did not get any more review comments on this series. Could you
> please kindly have a look on the over all design and its benefits from
> page migration performance point of view and let me know your views.
> Thank you.
> 

I didn't look into the patches in detail except to get a general feel
for how it works and I'm not convinced that it's a good idea at all.

I accept that memory bandwidth utilisation may be higher as a result but
consider the impact. THP migrations are relatively rare and when they
occur, it's in the context of a single thread. To parallelise the copy,
an allocation, kmap and workqueue invocation are required. There may be a
long delay before the workqueue item can start which may exceed the time
to do a single copy if the CPUs on a node are saturated. Furthermore, a
single thread can preempt operations of other unrelated threads and incur
CPU cache pollution and future misses on unrelated CPUs. It's compounded by
the fact that a high priority system workqueue is used to do the operation,
one that is used for CPU hotplug operations and rolling back when a netdevice
fails to be registered. It treats a hugepage copy as an essential operation
that can preempt all other work which is very questionable.

The series leader has no details on a workload that is bottlenecked by
THP migrations and even if it is, the primary question should be *why*
THP migrations are so frequent and alleviating that instead of
preempting multiple CPUs to do the work.

-- 
Mel Gorman
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mgorman@suse.de>
To: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	mhocko@suse.com, vbabka@suse.cz, minchan@kernel.org,
	aneesh.kumar@linux.vnet.ibm.com, bsingharora@gmail.com,
	srikar@linux.vnet.ibm.com, haren@linux.vnet.ibm.com,
	jglisse@redhat.com, dave.hansen@intel.com,
	dan.j.williams@intel.com, zi.yan@cs.rutgers.edu,
	Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Subject: Re: [PATCH 0/6] Enable parallel page migration
Date: Thu, 9 Mar 2017 15:09:04 +0000	[thread overview]
Message-ID: <20170309150904.pnk6ejeug4mktxjv@suse.de> (raw)
In-Reply-To: <ef5efef8-a8c5-a4e7-ffc7-44176abec65c@linux.vnet.ibm.com>

On Wed, Mar 08, 2017 at 09:34:27PM +0530, Anshuman Khandual wrote:
> > Any comments, suggestions are welcome.
> 
> Hello Vlastimil/Michal/Minchan/Mel/Dave,
> 
> Apart from the comments from Naoya on a different thread posted by Zi
> Yan, I did not get any more review comments on this series. Could you
> please kindly have a look on the over all design and its benefits from
> page migration performance point of view and let me know your views.
> Thank you.
> 

I didn't look into the patches in detail except to get a general feel
for how it works and I'm not convinced that it's a good idea at all.

I accept that memory bandwidth utilisation may be higher as a result but
consider the impact. THP migrations are relatively rare and when they
occur, it's in the context of a single thread. To parallelise the copy,
an allocation, kmap and workqueue invocation are required. There may be a
long delay before the workqueue item can start which may exceed the time
to do a single copy if the CPUs on a node are saturated. Furthermore, a
single thread can preempt operations of other unrelated threads and incur
CPU cache pollution and future misses on unrelated CPUs. It's compounded by
the fact that a high priority system workqueue is used to do the operation,
one that is used for CPU hotplug operations and rolling back when a netdevice
fails to be registered. It treats a hugepage copy as an essential operation
that can preempt all other work which is very questionable.

The series leader has no details on a workload that is bottlenecked by
THP migrations and even if it is, the primary question should be *why*
THP migrations are so frequent and alleviating that instead of
preempting multiple CPUs to do the work.

-- 
Mel Gorman
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2017-03-09 15:09 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-17 11:24 [PATCH 0/6] Enable parallel page migration Anshuman Khandual
2017-02-17 11:24 ` Anshuman Khandual
2017-02-17 11:24 ` [PATCH 1/6] mm/migrate: Add new mode parameter to migrate_page_copy() function Anshuman Khandual
2017-02-17 11:24   ` Anshuman Khandual
2017-03-09  6:24   ` Anshuman Khandual
2017-03-09  6:24     ` Anshuman Khandual
2017-02-17 11:24 ` [PATCH 2/6] mm/migrate: Make migrate_mode types non-exclusive Anshuman Khandual
2017-02-17 11:24   ` Anshuman Khandual
2017-02-17 11:24 ` [PATCH 3/6] mm/migrate: Add copy_pages_mthread function Anshuman Khandual
2017-02-17 11:24   ` Anshuman Khandual
2017-02-17 12:27   ` kbuild test robot
2017-03-08 15:40     ` Anshuman Khandual
2017-03-08 15:40       ` Anshuman Khandual
2017-03-09  6:25   ` Anshuman Khandual
2017-03-09  6:25     ` Anshuman Khandual
2017-02-17 11:24 ` [PATCH 4/6] mm/migrate: Add new migrate mode MIGRATE_MT Anshuman Khandual
2017-02-17 11:24   ` Anshuman Khandual
2017-02-17 11:24 ` [PATCH 5/6] mm/migrate: Add new migration flag MPOL_MF_MOVE_MT for syscalls Anshuman Khandual
2017-02-17 11:24   ` Anshuman Khandual
2017-03-09  6:26   ` Anshuman Khandual
2017-03-09  6:26     ` Anshuman Khandual
2017-02-17 11:24 ` [PATCH 6/6] sysctl: Add global tunable mt_page_copy Anshuman Khandual
2017-02-17 11:24   ` Anshuman Khandual
2017-02-17 15:30   ` kbuild test robot
2017-03-08 15:37     ` Anshuman Khandual
2017-03-08 15:37       ` Anshuman Khandual
2017-03-10  1:12       ` [kbuild-all] " Ye Xiaolong
2017-03-10  1:12         ` Ye Xiaolong
2017-03-10 12:11         ` Anshuman Khandual
2017-03-10 12:11           ` Anshuman Khandual
2017-02-22  5:04 ` [PATCH 0/6] Enable parallel page migration Balbir Singh
2017-02-22  5:04   ` Balbir Singh
2017-02-22  5:55   ` Anshuman Khandual
2017-02-22  5:55     ` Anshuman Khandual
2017-02-22 10:52     ` Balbir Singh
2017-02-22 10:52       ` Balbir Singh
2017-03-08 16:04 ` Anshuman Khandual
2017-03-08 16:04   ` Anshuman Khandual
2017-03-09 15:09   ` Mel Gorman [this message]
2017-03-09 15:09     ` Mel Gorman
2017-03-09 17:38     ` David Nellans
2017-03-09 17:38       ` David Nellans
2017-03-09 22:15       ` Mel Gorman
2017-03-09 22:15         ` Mel Gorman
2017-03-09 23:46         ` Zi Yan
2017-03-09 23:46           ` Zi Yan
2017-03-10 14:07           ` Mel Gorman
2017-03-10 14:07             ` Mel Gorman
2017-03-10 14:45             ` Michal Hocko
2017-03-10 14:45               ` Michal Hocko
2017-03-10 13:05     ` Michal Hocko
2017-03-10 13:05       ` Michal Hocko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170309150904.pnk6ejeug4mktxjv@suse.de \
    --to=mgorman@suse.de \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=bsingharora@gmail.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@intel.com \
    --cc=haren@linux.vnet.ibm.com \
    --cc=jglisse@redhat.com \
    --cc=khandual@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=minchan@kernel.org \
    --cc=n-horiguchi@ah.jp.nec.com \
    --cc=srikar@linux.vnet.ibm.com \
    --cc=vbabka@suse.cz \
    --cc=zi.yan@cs.rutgers.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.