From: Joonsoo Kim <[email protected]>
For locality, it's better to migrate the page to the same node
rather than the node of the current caller's cpu.
Acked-by: Roman Gushchin <[email protected]>
Signed-off-by: Joonsoo Kim <[email protected]>
---
mm/page_isolation.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index 2c11a38..7df89bd 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -300,5 +300,7 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn,
struct page *alloc_migrate_target(struct page *page, unsigned long private)
{
- return new_page_nodemask(page, numa_node_id(), &node_states[N_MEMORY]);
+ int nid = page_to_nid(page);
+
+ return new_page_nodemask(page, nid, &node_states[N_MEMORY]);
}
--
2.7.4
On 5/27/20 8:44 AM, [email protected] wrote:
> From: Joonsoo Kim <[email protected]>
>
> For locality, it's better to migrate the page to the same node
> rather than the node of the current caller's cpu.
Should be, yeah.
> Acked-by: Roman Gushchin <[email protected]>
> Signed-off-by: Joonsoo Kim <[email protected]>
Reviewed-by: Vlastimil Babka <[email protected]>
> ---
> mm/page_isolation.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/mm/page_isolation.c b/mm/page_isolation.c
> index 2c11a38..7df89bd 100644
> --- a/mm/page_isolation.c
> +++ b/mm/page_isolation.c
> @@ -300,5 +300,7 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn,
>
> struct page *alloc_migrate_target(struct page *page, unsigned long private)
> {
> - return new_page_nodemask(page, numa_node_id(), &node_states[N_MEMORY]);
> + int nid = page_to_nid(page);
> +
> + return new_page_nodemask(page, nid, &node_states[N_MEMORY]);
I wonder why this and others uses node_states[N_MEMORY] and not just NULL. But
maybe that's addressed later.
> }
>
On Wed 27-05-20 15:44:52, Joonsoo Kim wrote:
> From: Joonsoo Kim <[email protected]>
>
> For locality, it's better to migrate the page to the same node
> rather than the node of the current caller's cpu.
>
> Acked-by: Roman Gushchin <[email protected]>
> Signed-off-by: Joonsoo Kim <[email protected]>
Acked-by: Michal Hocko <[email protected]>
> ---
> mm/page_isolation.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/mm/page_isolation.c b/mm/page_isolation.c
> index 2c11a38..7df89bd 100644
> --- a/mm/page_isolation.c
> +++ b/mm/page_isolation.c
> @@ -300,5 +300,7 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn,
>
> struct page *alloc_migrate_target(struct page *page, unsigned long private)
> {
> - return new_page_nodemask(page, numa_node_id(), &node_states[N_MEMORY]);
> + int nid = page_to_nid(page);
> +
> + return new_page_nodemask(page, nid, &node_states[N_MEMORY]);
> }
> --
> 2.7.4
--
Michal Hocko
SUSE Labs