On 30.09.2022 12:03, Roger Pau Monné wrote: > On Fri, Sep 30, 2022 at 10:36:20AM +0200, Jan Beulich wrote: >> On 30.09.2022 10:25, Roger Pau Monné wrote: >>> On Tue, Sep 27, 2022 at 06:20:35PM +0200, Jan Beulich wrote: >>>> @@ -413,14 +414,37 @@ acpi_numa_memory_affinity_init(const str >>>> node, pxm, start, end - 1, >>>> ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE ? " (hotplug)" : ""); >>>> >>>> - node_memblk_range[num_node_memblks].start = start; >>>> - node_memblk_range[num_node_memblks].end = end; >>>> - memblk_nodeid[num_node_memblks] = node; >>>> + /* Keep node_memblk_range[] sorted by address. */ >>>> + for (i = 0; i < num_node_memblks; ++i) >>>> + if (node_memblk_range[i].start > start || >>>> + (node_memblk_range[i].start == start && >>> >>> Maybe I'm confused, but won't .start == start means we have >>> overlapping ranges? >> >> Yes, except when a range is empty. > > Hm, OK. Won't overlapping ranges be bad if not empty?
They are and ... > Shouldn't Xen complain if it finds overlapping ranges, or that's taken > care somewhere else? ... we do, elsewhere. Still I'd like this code to be generic, at the very least to - as said - deal with empty ranges as well. It didn't seem indicated to me to special case empty ranges here, when the code is more clear when written in a more generic manner. Jan
