[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 1/9] numa: __node_distance() should return u8



On 03/10/2015 07:53 AM, Andrew Cooper wrote:
On 10/03/15 02:27, Boris Ostrovsky wrote:
SLIT values are byte-sized and some of them (0-9 and 255) have
special meaning. Adjust __node_distance() to reflect this and
modify scrub_heap_pages() to deal with __node_distance() returning
an invalid SLIT entry.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
You also need to teach XEN_SYSCTL_numainfo about the new NUMA_NO_DISTANCE.

The sysctl is updated later in the series but this may indeed break bisection.


---
  xen/arch/x86/srat.c        |   15 +++++++++++----
  xen/common/page_alloc.c    |    4 ++--
  xen/include/asm-x86/numa.h |    2 +-
  xen/include/xen/numa.h     |    3 ++-
  4 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index dfabba3..aa2eda3 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -496,14 +496,21 @@ static unsigned node_to_pxm(nodeid_t n)
        return 0;
  }
-int __node_distance(nodeid_t a, nodeid_t b)
+u8 __node_distance(nodeid_t a, nodeid_t b)
  {
-       int index;
+       u8 slit_val;
if (!acpi_slit)
                return a == b ? 10 : 20;
-       index = acpi_slit->locality_count * node_to_pxm(a);
-       return acpi_slit->entry[index + node_to_pxm(b)];
+
+       slit_val = acpi_slit->entry[acpi_slit->locality_count * node_to_pxm(a) +
+                                               node_to_pxm(b)];
This would be easier to read if you kept the old index temporary
(although making it a u64).

Yes.

-boris



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.