Hi Jan,

(Sorry for the formatting)


On Mon, 25 Jul 2022, 14:10 Jan Beulich, <jbeul...@suse.com> wrote:

> Quite obviously to determine the split condition successive pages'
> attributes need to be evaluated, not always those of the initial page.
>
> Fixes: 72b02bc75b47 ("xen/heap: pass order to free_heap_pages() in heap
> init")
> Signed-off-by: Jan Beulich <jbeul...@suse.com>
> ---
> Part of the problem was already introduced in 24a53060bd37 ("xen/heap:
> Split init_heap_pages() in two"), but there it was still benign.
>

Is this because range will never cross numa node? How about the fake NUMA
node?


> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -1885,11 +1885,11 @@ static void init_heap_pages(
>               * range to cross zones.
>               */
>  #ifdef CONFIG_SEPARATE_XENHEAP
> -            if ( zone != page_to_zone(pg) )
> +            if ( zone != page_to_zone(pg + contig_pages) )
>                  break;
>  #endif
>
> -            if ( nid != (phys_to_nid(page_to_maddr(pg))) )
> +            if ( nid != (phys_to_nid(page_to_maddr(pg + contig_pages))) )
>                  break;
>          }
>

Hmmm I am not sure why I didn't spot this issue during my testing. It looks
like this was introduced in v2, sorry for that.

Reviewed-by: Julien Grall <jgr...@amazon.com>

Cheets,


>

Reply via email to