From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
To: Christoph Lameter <cl@linux.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Rik van Riel <riel@redhat.com>,
Rafael Aquini <aquini@redhat.com>,
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Vlastimil Babka <vbabka@suse.cz>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Subject: Re: [PATCH v2 7/7] mm/migrate: remove result argument on page allocation function for migration
Date: Wed, 11 Dec 2013 17:47:19 +0900 [thread overview]
Message-ID: <20131211084719.GA2043@lge.com> (raw)
In-Reply-To: <00000142d83adfc7-81b70cc9-c87b-4e7e-bd98-0a97ee21db31-000000@email.amazonses.com>
On Mon, Dec 09, 2013 at 04:40:06PM +0000, Christoph Lameter wrote:
> On Mon, 9 Dec 2013, Joonsoo Kim wrote:
>
> > First, we don't use error number in fail case. Call-path related to
> > new_page_node() is shown in the following.
> >
> > do_move_page_to_node_array() -> migrate_pages() -> unmap_and_move()
> > -> new_page_node()
> >
> > If unmap_and_move() failed, migrate_pages() also returns err, and then
> > do_move_page_to_node_array() skips to set page's status to user buffer.
> > So we don't need to set error number to each pages on failure case.
>
> I dont get this. new_page_node() sets the error condition in the
> page_to_node array before this patch. There is no post processing in
> do_move_page_to_node_array(). The function simply returns and relies on
> new_page_node() to have set the page status. do_move_pages() then returns
> the page status back to userspace. How does the change preserve these
> diagnostics?
Hello, Christoph.
In do_move_pages(), if error occurs, 'goto out_pm' is executed and the
page status doesn't back to userspace. So we don't need to store err number.
Perhaps my description should be changed something like below.
*do_move_pages()* -> do_move_page_to_node_array() -> migrate_pages()
-> unmap_and_move() -> new_page_node()
If unmap_and_move() failed, migrate_pages() also returns err, and then
*do_move_pages()* skips to set page's status to user buffer.
So we don't need to set error number to each pages on failure case.
Is it sufficient explanation?
>
> > Next, we don't need to set node id of the new page in unmap_and_move(),
> > since it cannot be different with pm->node. In new_page_node(), we always
> > try to allocate the page in exact node by referencing pm->node. So it is
> > sufficient to set node id of the new page in new_page_node(), instead of
> > unmap_and_move().
>
> Thats a good thought.
Thanks!
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
To: Christoph Lameter <cl@linux.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Rik van Riel <riel@redhat.com>,
Rafael Aquini <aquini@redhat.com>,
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Vlastimil Babka <vbabka@suse.cz>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Subject: Re: [PATCH v2 7/7] mm/migrate: remove result argument on page allocation function for migration
Date: Wed, 11 Dec 2013 17:47:19 +0900 [thread overview]
Message-ID: <20131211084719.GA2043@lge.com> (raw)
In-Reply-To: <00000142d83adfc7-81b70cc9-c87b-4e7e-bd98-0a97ee21db31-000000@email.amazonses.com>
On Mon, Dec 09, 2013 at 04:40:06PM +0000, Christoph Lameter wrote:
> On Mon, 9 Dec 2013, Joonsoo Kim wrote:
>
> > First, we don't use error number in fail case. Call-path related to
> > new_page_node() is shown in the following.
> >
> > do_move_page_to_node_array() -> migrate_pages() -> unmap_and_move()
> > -> new_page_node()
> >
> > If unmap_and_move() failed, migrate_pages() also returns err, and then
> > do_move_page_to_node_array() skips to set page's status to user buffer.
> > So we don't need to set error number to each pages on failure case.
>
> I dont get this. new_page_node() sets the error condition in the
> page_to_node array before this patch. There is no post processing in
> do_move_page_to_node_array(). The function simply returns and relies on
> new_page_node() to have set the page status. do_move_pages() then returns
> the page status back to userspace. How does the change preserve these
> diagnostics?
Hello, Christoph.
In do_move_pages(), if error occurs, 'goto out_pm' is executed and the
page status doesn't back to userspace. So we don't need to store err number.
Perhaps my description should be changed something like below.
*do_move_pages()* -> do_move_page_to_node_array() -> migrate_pages()
-> unmap_and_move() -> new_page_node()
If unmap_and_move() failed, migrate_pages() also returns err, and then
*do_move_pages()* skips to set page's status to user buffer.
So we don't need to set error number to each pages on failure case.
Is it sufficient explanation?
>
> > Next, we don't need to set node id of the new page in unmap_and_move(),
> > since it cannot be different with pm->node. In new_page_node(), we always
> > try to allocate the page in exact node by referencing pm->node. So it is
> > sufficient to set node id of the new page in new_page_node(), instead of
> > unmap_and_move().
>
> Thats a good thought.
Thanks!
next prev parent reply other threads:[~2013-12-11 8:44 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-09 9:10 [PATCH v2 0/7] correct and clean-up migration related stuff Joonsoo Kim
2013-12-09 9:10 ` Joonsoo Kim
2013-12-09 9:10 ` [PATCH v2 1/7] mm/migrate: add comment about permanent failure path Joonsoo Kim
2013-12-09 9:10 ` Joonsoo Kim
2013-12-10 1:42 ` Wanpeng Li
2013-12-09 9:10 ` [PATCH v2 2/7] mm/migrate: correct failure handling if !hugepage_migration_support() Joonsoo Kim
2013-12-09 9:10 ` Joonsoo Kim
2013-12-09 16:17 ` Christoph Lameter
2013-12-09 16:17 ` Christoph Lameter
2013-12-10 8:38 ` Joonsoo Kim
2013-12-10 8:38 ` Joonsoo Kim
2013-12-10 2:17 ` Wanpeng Li
2013-12-10 8:45 ` Joonsoo Kim
2013-12-10 8:45 ` Joonsoo Kim
2013-12-10 9:27 ` Wanpeng Li
2013-12-09 9:10 ` [PATCH v2 3/7] mm/mempolicy: correct putback method for isolate pages if failed Joonsoo Kim
2013-12-09 9:10 ` Joonsoo Kim
2013-12-09 16:41 ` Rafael Aquini
2013-12-09 16:41 ` Rafael Aquini
2013-12-10 2:22 ` Wanpeng Li
2013-12-09 9:10 ` [PATCH v2 4/7] mm/migrate: remove putback_lru_pages, fix comment on putback_movable_pages Joonsoo Kim
2013-12-09 9:10 ` Joonsoo Kim
2013-12-10 2:33 ` Wanpeng Li
2013-12-10 8:51 ` Joonsoo Kim
2013-12-10 8:51 ` Joonsoo Kim
2013-12-10 9:00 ` Joonsoo Kim
2013-12-10 9:00 ` Joonsoo Kim
2013-12-09 9:10 ` [PATCH v2 5/7] mm/compaction: respect ignore_skip_hint in update_pageblock_skip Joonsoo Kim
2013-12-09 9:10 ` Joonsoo Kim
2013-12-10 2:50 ` Wanpeng Li
2013-12-09 9:10 ` [PATCH v2 6/7] mm/migrate: remove unused function, fail_migrate_page() Joonsoo Kim
2013-12-09 9:10 ` Joonsoo Kim
2013-12-09 16:20 ` Christoph Lameter
2013-12-09 16:20 ` Christoph Lameter
2013-12-09 17:07 ` Naoya Horiguchi
2013-12-09 17:07 ` Naoya Horiguchi
2013-12-10 2:36 ` Wanpeng Li
2013-12-09 9:10 ` [PATCH v2 7/7] mm/migrate: remove result argument on page allocation function for migration Joonsoo Kim
2013-12-09 9:10 ` Joonsoo Kim
2013-12-09 16:40 ` Christoph Lameter
2013-12-09 16:40 ` Christoph Lameter
2013-12-10 3:22 ` Wanpeng Li
2013-12-11 8:47 ` Joonsoo Kim [this message]
2013-12-11 8:47 ` Joonsoo Kim
2013-12-11 16:00 ` Christoph Lameter
2013-12-11 16:00 ` Christoph Lameter
2013-12-12 0:07 ` Joonsoo Kim
2013-12-12 0:07 ` Joonsoo Kim
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=20131211084719.GA2043@lge.com \
--to=iamjoonsoo.kim@lge.com \
--cc=akpm@linux-foundation.org \
--cc=aquini@redhat.com \
--cc=cl@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=n-horiguchi@ah.jp.nec.com \
--cc=riel@redhat.com \
--cc=vbabka@suse.cz \
--cc=zhangyanfei@cn.fujitsu.com \
/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.