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

[xen-unstable test] 175154: regressions - FAIL



flight 175154 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175154/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-xtf-amd64-amd64-4        8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-2        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 175148

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check 
fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check 
fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  96993519424c3fef49fd00d80a271d986767a3cd
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    0 days
Testing same since   175154  2022-12-12 15:07:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  Jan Beulich <jbeulich@xxxxxxxx>
  Jiamei Xie <jiamei.xie@xxxxxxx>
  Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
  Wei Chen <wei.chen@xxxxxxx>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       fail    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       fail    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 96993519424c3fef49fd00d80a271d986767a3cd
Author: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
Date:   Mon Dec 12 12:29:09 2022 +0100

    docs: do not install .deps files
    
    It isn't really part of the documentation. Furthermore, entries there
    are in not determined order, which breaks build reproducibility.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

commit b08600e2d6b58eca29d72f6cb6672a5cba5baed4
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Dec 12 12:27:30 2022 +0100

    x86/tboot: actually wipe contexts
    
    Especially with our use of __builtin_memset() to implement memset() the
    compiler is free to eliminate instances when it can prove that the
    affected object is dead. Introduce a small helper function accompanying
    the memset() with a construct forcing the compiler to retain the
    clearing of (stack) memory.
    
    Fixes: c021c95498d9 ("x86: Replace our own specialised versions of memset 
and memcpy with")
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Jason Andryuk <jandryuk@xxxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

commit 8301856bd956558161aa0c71623c85403ebdca35
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Dec 12 12:21:01 2022 +0100

    x86/tboot: correct IOMMU (VT-d) interaction
    
    First of all using is_idle_domain() on the subject domain in the body of
    for_each_domain() is pointless. Replace that conditional by one checking
    that a domain actually has IOMMU support enabled for it, and that we're
    actually on a VT-d system (both are largely cosmetic / documentary with
    how things work elsewhere, but still).
    
    Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Jason Andryuk <jandryuk@xxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

commit 4384d96c1cedfa4e388401be3a19ff50f8dce54b
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Dec 12 12:19:20 2022 +0100

    x86/mm: PGC_shadowed_pt is used by shadow code only
    
    By defining the constant to zero when !SHADOW_PAGING we give compilers
    the chance to eliminate a little more dead code elsewhere in the tree.
    Plus, as a minor benefit, the general reference count can be one bit
    wider. (To simplify things, have PGC_shadowed_pt change places with
    PGC_extra.)
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

commit c44c0dc35889848ee27549ac3455314e236cfc3d
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Dec 12 12:18:41 2022 +0100

    x86/mm: rename PGC_page_table to PGC_shadowed_pt
    
    The original name didn't express the purpose of the flag: It is being
    set once a page table page obtains a shadow, and it is removed when the
    last shadow of a page was destroyed.
    
    In set_tlbflush_timestamp() also remove the 2nd half of the condition as
    being redundant (PGC_shadowed_pt can't be set on a page without shadow
    mode being enabled on the owning domain).
    
    Requested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

commit f00ad745cfa774a269b28e88951b56b7001d4fe0
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Dec 12 12:17:07 2022 +0100

    x86/tboot: drop failed attempt to hash shadow page tables
    
    While plausible to do what was intended based on the name of the flag
    (PGC_page_table), that name was misleading and is going to be changed.
    It marks page tables pages _having_ a shadow, not shadows of page table
    pages. The attempt also didn't cover the HAP case at all, and it
    constituted a potentially very long loop doing nothing when
    !SHADOW_PAGING. Instead leave a comment of what actually wants doing
    there (which then also may need to account for e.g. the risk of A/D bits
    becoming set behind our backs).
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Jason Andryuk <jandryuk@xxxxxxxxx>

commit c243c0bb2a77e1328842436ca654f808701161c6
Author: Wei Chen <wei.chen@xxxxxxx>
Date:   Mon Dec 12 12:15:28 2022 +0100

    xen: introduce a Kconfig option to configure NUMA nodes number
    
    Currently the maximum number of NUMA nodes is a hardcoded value.
    This provides little flexibility unless changing the code.
    
    Introduce a new Kconfig option to change the maximum number of
    NUMA nodes conveniently. Also considering that not all
    architectures support NUMA, this Kconfig option is only visible
    on NUMA enabled architectures. Architectures not supporting NUMA
    still use 1 for MAX_NUMNODES.
    
    As NODES_SHIFT is currently unused, we're taking this
    opportunity to remove it.
    
    Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
    Acked-by: Jan Beulich <jbeulich@xxxxxxxx>

commit d46b1f5c29400a25bfc2492a649225a7915b04b2
Author: Wei Chen <wei.chen@xxxxxxx>
Date:   Mon Dec 12 12:14:53 2022 +0100

    xen/x86: move NUMA process nodes nodes code from x86 to common
    
    x86 has implemented a set of codes to process NUMA nodes. These
    codes will parse NUMA memory and processor information from
    ACPI SRAT table. But except some ACPI specific codes, most
    of the process code like memory blocks validation, node memory
    range updates and some sanity check can be reused by other
    NUMA implementation.
    
    So in this patch, we move some variables and related functions
    for NUMA memory and processor to common as library. At the
    same time, numa_set_processor_nodes_parsed has been introduced
    for ACPI specific code to update processor parsing results.
    With this helper, we can reuse most of NUMA memory affinity init
    code from ACPI. As bad_srat and node_to_pxm functions have been
    used in common code to do architectural fallback and node to
    architectural node info translation. But it doesn't make sense
    to reuse the functions names in common code, we have rename them
    to neutral names as well.
    
    PXM is an ACPI specific item, we can't use it in common code
    directly. So we introduced an numa_fw_nid_name for each NUMA
    implementation to set their specific firmware NUMA node name.
    In this case, we do not need to retain a lot of per-arch code
    but still can print architectural log messages for different
    NUMA implementations. A default value "???" will be set to
    indicate an unset numa_fw_nid_name.
    
    mem_hotplug is accessed by common code if memory hotplug is
    activated. Even if this is only supported by x86, export the
    variable so that other architectures could support it in the future.
    
    As asm/acpi.h has been removed from common/numa.c, we have to
    move NR_NODE_MEMBLKS from asm/acpi.h to xen/numa.h in this patch
    as well.
    
    Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

commit cfee463c112b8ac261f6ca1d32e4c70e4821ba7a
Author: Wei Chen <wei.chen@xxxxxxx>
Date:   Mon Dec 12 12:14:13 2022 +0100

    xen/x86: use arch_get_ram_range to get information from E820 map
    
    The sanity check of nodes_cover_memory is also a requirement of
    other architectures that support NUMA. But now, the code of
    nodes_cover_memory is tied to the x86 E820. In this case, we
    introduce arch_get_ram_range to decouple architecture specific
    memory map from this function. This means, other architectures
    like Arm can also use it to check its node and memory coverage
    from bootmem info.
    
    Depends arch_get_ram_range, we make nodes_cover_memory become
    architecture independent. We also use neutral words to replace
    SRAT and E820 in the print message of this function. This will
    to make the massage seems more common.
    
    As arch_get_ram_range use unsigned int for index, we also adjust
    the index in nodes_cover_memory from int to unsigned int.
    
    Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
Author: Wei Chen <wei.chen@xxxxxxx>
Date:   Mon Dec 12 12:13:26 2022 +0100

    xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
    
    VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
    results in two lines of error-checking code in phys_to_nid
    that is not actually working and causing two compilation
    errors:
    1. error: "MAX_NUMNODES" undeclared (first use in this function).
       This is because in the common header file, "MAX_NUMNODES" is
       defined after the common header file includes the ARCH header
       file, where phys_to_nid has attempted to use "MAX_NUMNODES".
       This error was resolved after we moved the phys_to_nid from
       x86 ARCH header file to common header file.
    2. error: wrong type argument to unary exclamation mark.
       This is because, the error-checking code contains !node_data[nid].
       But node_data is a data structure variable, it's not a pointer.
    
    So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
    enable the two lines of error-checking code. And fix the left
    compilation errors by replacing !node_data[nid] to
    !node_data[nid].node_spanned_pages. Although NUMA allows one node
    can only have CPUs but without any memory. And node with 0 bytes
    of memory might have an entry in memnodemap[] theoretically. But
    that doesn't mean phys_to_nid can find any valid address from a
    node with 0 bytes memory.
    
    Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
    Tested-by: Jiamei Xie <jiamei.xie@xxxxxxx>
    Acked-by: Jan Beulich <jbeulich@xxxxxxxx>

commit eac84d9d579011f311d502317b74dc56e788463d
Author: Wei Chen <wei.chen@xxxxxxx>
Date:   Mon Dec 12 12:11:55 2022 +0100

    xen/x86: move generically usable NUMA code from x86 to common
    
    There are some codes in x86/numa.c can be shared by common
    architectures to implememnt NUMA support. Just like some
    variables and functions to check and store NUMA memory map.
    And some variables and functions to do NUMA initialization.
    
    In this patch, we move them to common/numa.c and xen/numa.h
    and use the CONFIG_NUMA to gate them for non-NUMA supported
    architectures. As the target header file is Xen-style, so
    we trim some spaces and replace tabs for the codes that has
    been moved to xen/numa.h at the same time.
    
    As acpi_scan_nodes has been used in a common function, it
    doesn't make sense to use acpi_xxx in common code, so we
    rename it to numa_process_nodes in this patch too. After that
    if we still use CONFIG_ACPI_NUMA in to gate numa_process_nodes
    in numa_initmem_init, that doesn't make sense. As CONFIG_NUMA
    will be selected by CONFIG_ACPI_NUMA for x86. So, we replace
    CONFIG_ACPI_NUMA by CONFIG_NUMA to gate numa_process_nodes.
    
    As arch_numa_disabled has been implememnted for ACPI NUMA,
    we can rename srat_disabled to numa_disabled and move it
    to common code as well.
    
    The macro node_to_first_cpu(node) hasn't been used anywhere,
    so we drop it in this patch too.
    
    Because some architectures allow to use all 64 physical address
    bits, but some architectures are not (like Arm64 allows 52, 48
    bits). In this case, we use min(PADDR_BITS, BITS_PER_LONG - 1)
    to calculate the shift when only one node is in the system in
    this patch too.
    
    Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

commit 9bbfd7b14c4ad3774d88fe6430ab8726720633ec
Author: Wei Chen <wei.chen@xxxxxxx>
Date:   Mon Dec 12 12:10:18 2022 +0100

    xen/x86: Provide helpers for common code to access acpi_numa
    
    acpi_numa is a specific NUMA switch for ACPI NUMA implementation.
    Other NUMA implementation may not need this switch. But this switch is
    not only used by ACPI code, it is also used directly in some general
    NUMA logic code. So far this hasn't caused any problem because Xen only
    has x86 implementing ACPI NUMA, but now Arm is implementing device tree
    based NUMA. Accesssing acpi_numa directly in some functions will be a
    block of reusing NUMA common code. It is also difficult for us to replace
    it with a new generic switch, because it is hard to prove that the new
    switch states can guarantee the original code will work correctly.
    
    So in this patch, we provide two helpers for common code to update and
    get states of acpi_numa. And other new NUMA implementations just need
    to provide the same helpers for common code. In this case, the generic
    NUMA logic code can be reused by all NUMA implementations.
    
    Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
(qemu changes not included)



 


Rackspace

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