[xen-4.13-testing test] 164518: regressions - FAIL
flight 164518 xen-4.13-testing real [real] http://logs.test-lab.xenproject.org/osstest/logs/164518/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-dom0pvh-xl-amd 8 xen-boot fail REGR. vs. 163761 test-amd64-amd64-dom0pvh-xl-intel 8 xen-bootfail REGR. vs. 163761 Tests which are failing intermittently (not blocking): test-amd64-amd64-xl-rtds 20 guest-localmigrate/x10 fail pass in 164496 Tests which did not succeed, but are not blocking: test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stopfail like 163761 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop fail like 163761 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop fail like 163761 test-armhf-armhf-libvirt 16 saverestore-support-checkfail like 163761 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163761 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop fail like 163761 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stopfail like 163761 test-armhf-armhf-libvirt-raw 15 saverestore-support-checkfail like 163761 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stopfail like 163761 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop fail like 163761 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stopfail like 163761 test-amd64-i386-xl-pvshim14 guest-start fail never pass test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass test-amd64-amd64-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-i386-libvirt 15 migrate-support-checkfail never pass test-arm64-arm64-xl-seattle 15 migrate-support-checkfail never pass test-arm64-arm64-xl-seattle 16 saverestore-support-checkfail never pass test-amd64-i386-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-arm64-arm64-xl-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm 16 saverestore-support-checkfail never pass test-arm64-arm64-xl 15 migrate-support-checkfail never pass test-arm64-arm64-xl 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit2 15 migrate-support-checkfail never pass test-arm64-arm64-xl-thunderx 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit2 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-thunderx 16 saverestore-support-checkfail never pass test-arm64-arm64-libvirt-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit1 15 migrate-support-checkfail never pass test-arm64-arm64-libvirt-xsm 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit1 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-arndale 15 migrate-support-checkfail never pass test-armhf-armhf-xl-arndale 16 saverestore-support-checkfail never pass test-amd64-amd64-libvirt-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-multivcpu 15 migrate-support-checkfail never pass test-armhf-armhf-xl-multivcpu 16 saverestore-support-checkfail never pass test-armhf-armhf-xl 15 migrate-support-checkfail never pass test-armhf-armhf-xl 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit2 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit2 16 saverestore-support-checkfail never pass test-armhf-armhf-libvirt 15 migrate-support-checkfail never pass test-armhf-armhf-xl-rtds 15 migrate-support-checkfail never pass test-armhf-armhf-xl-rtds 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit1 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit1 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-cubietruck 15 migrate-support-checkfail never pass test-armhf-armhf-xl-cubietruck 16 saverestore-support-checkfail never pass test-armhf-armhf-libvirt-raw 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 15 saverestore-support-checkfail never pass version targeted for testing: xen dd29f4f4961d5c99660874c7ff090bd3c2ef6e5b baseline version: xen 32d580902b959000d79d51dff03a3560653c4fcb Last test of basis 163761 2021-07-17 07:57:22 Z 42 days Failing since164260 2021-08-19 17:07:29 Z9 days6 attempts Testing same since 164496
[xen-4.15-testing test] 164511: regressions - FAIL
flight 164511 xen-4.15-testing real [real] http://logs.test-lab.xenproject.org/osstest/logs/164511/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-dom0pvh-xl-amd 8 xen-boot fail REGR. vs. 163759 test-amd64-amd64-dom0pvh-xl-intel 8 xen-bootfail REGR. vs. 163759 Tests which are failing intermittently (not blocking): test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164495 pass in 164511 test-arm64-arm64-xl-seattle 8 xen-boot fail pass in 164495 test-amd64-i386-xl-xsm 20 guest-localmigrate/x10 fail pass in 164495 Tests which did not succeed, but are not blocking: test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 164495 never pass test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 164495 never pass test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stopfail like 163759 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stopfail like 163759 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163759 test-armhf-armhf-libvirt 16 saverestore-support-checkfail like 163759 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stopfail like 163759 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stopfail like 163759 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop fail like 163759 test-armhf-armhf-libvirt-raw 15 saverestore-support-checkfail like 163759 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop fail like 163759 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop fail like 163759 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop fail like 163759 test-amd64-amd64-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass test-arm64-arm64-xl 15 migrate-support-checkfail never pass test-arm64-arm64-xl 16 saverestore-support-checkfail never pass test-amd64-i386-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-i386-xl-pvshim14 guest-start fail never pass test-amd64-i386-libvirt 15 migrate-support-checkfail never pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-arm64-arm64-xl-thunderx 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-xl-thunderx 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-xsm 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit2 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit2 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit1 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit1 16 saverestore-support-checkfail never pass test-arm64-arm64-libvirt-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-libvirt-xsm 16 saverestore-support-checkfail never pass test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-armhf-armhf-xl-multivcpu 15 migrate-support-checkfail never pass test-armhf-armhf-xl-multivcpu 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-arndale 15 migrate-support-checkfail never pass test-armhf-armhf-xl-arndale 16 saverestore-support-checkfail never pass test-amd64-amd64-libvirt-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-rtds 15 migrate-support-checkfail never pass test-armhf-armhf-xl-rtds 16 saverestore-support-checkfail never pass test-armhf-armhf-xl 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit2 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit1 15 migrate-support-checkfail never pass test-armhf-armhf-xl 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit2 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit1 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-cubietruck 15 migrate-support-checkfail never pass test-armhf-armhf-xl-cubietruck 16 saverestore-support-checkfail never pass test-armhf-armhf-libvirt 15 migrate-support-checkfail never pass test-armhf-armhf-libvirt-raw 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 15 saverestore-support-checkfail never pass version targeted for testing: xen 91bb9e9b0c0e2af926ab08958f3d65f07a105cb6 baseline version: xen
Re: [PATCH v2 00/13] perf: KVM: Fix, optimize, and clean up callbacks
On Fri, Aug 27, 2021 at 05:35:45PM -0700, Sean Christopherson wrote: > Like Xu (2): > perf/core: Rework guest callbacks to prepare for static_call support > perf/core: Use static_call to optimize perf_guest_info_callbacks > > Sean Christopherson (11): > perf: Ensure perf_guest_cbs aren't reloaded between !NULL check and > deref > KVM: x86: Register perf callbacks after calling vendor's > hardware_setup() > KVM: x86: Register Processor Trace interrupt hook iff PT enabled in > guest > perf: Stop pretending that perf can handle multiple guest callbacks > perf: Force architectures to opt-in to guest callbacks > KVM: x86: Drop current_vcpu for kvm_running_vcpu + kvm_arch_vcpu > variable > KVM: x86: More precisely identify NMI from guest when handling PMI > KVM: Move x86's perf guest info callbacks to generic KVM > KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c > KVM: arm64: Convert to the generic perf callbacks > KVM: arm64: Drop perf.c and fold its tiny bits of code into arm.c / > pmu.c Lets keep the whole intel_pt crud inside x86... --- Index: linux-2.6/arch/x86/events/core.c === --- linux-2.6.orig/arch/x86/events/core.c +++ linux-2.6/arch/x86/events/core.c @@ -92,7 +92,7 @@ DEFINE_STATIC_CALL_RET0(x86_pmu_guest_ge DEFINE_STATIC_CALL_RET0(x86_guest_state, *(perf_guest_cbs->state)); DEFINE_STATIC_CALL_RET0(x86_guest_get_ip, *(perf_guest_cbs->get_ip)); -DEFINE_STATIC_CALL_RET0(x86_guest_handle_intel_pt_intr, *(perf_guest_cbs->handle_intel_pt_intr)); +DEFINE_STATIC_CALL_RET0(x86_guest_handle_intel_pt_intr, unsigned int (*)(void)); void arch_perf_update_guest_cbs(struct perf_guest_info_callbacks *guest_cbs) { @@ -103,14 +103,6 @@ void arch_perf_update_guest_cbs(struct p static_call_update(x86_guest_state, (void *)&__static_call_return0); static_call_update(x86_guest_get_ip, (void *)&__static_call_return0); } - - /* Implementing ->handle_intel_pt_intr is optional. */ - if (guest_cbs && guest_cbs->handle_intel_pt_intr) - static_call_update(x86_guest_handle_intel_pt_intr, - guest_cbs->handle_intel_pt_intr); - else - static_call_update(x86_guest_handle_intel_pt_intr, - (void *)&__static_call_return0); } u64 __read_mostly hw_cache_event_ids Index: linux-2.6/arch/x86/events/intel/core.c === --- linux-2.6.orig/arch/x86/events/intel/core.c +++ linux-2.6/arch/x86/events/intel/core.c @@ -2782,7 +2782,7 @@ static void intel_pmu_reset(void) local_irq_restore(flags); } -DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr, *(perf_guest_cbs->handle_intel_pt_intr)); +DECLARE_STATIC_CALL(x86_guest_handle_intel_pt_intr, unsigned int (*)(void)); static int handle_pmi_common(struct pt_regs *regs, u64 status) { Index: linux-2.6/arch/x86/kvm/x86.c === --- linux-2.6.orig/arch/x86/kvm/x86.c +++ linux-2.6/arch/x86/kvm/x86.c @@ -10960,7 +10960,14 @@ int kvm_arch_hardware_setup(void *opaque memcpy(_x86_ops, ops->runtime_ops, sizeof(kvm_x86_ops)); kvm_ops_static_call_update(); - kvm_register_perf_callbacks(ops->handle_intel_pt_intr); + kvm_register_perf_callbacks(); + if (ops->handle_intel_pt_intr) { + static_call_update(x86_guest_handle_intel_pt_intr, + ops->handle_intel_pt_intr); + } else { + static_call_update(x86_guest_handle_intel_pt_intr, + (void *)&__static_call_return0); + } if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES)) supported_xss = 0; Index: linux-2.6/include/linux/perf_event.h === --- linux-2.6.orig/include/linux/perf_event.h +++ linux-2.6/include/linux/perf_event.h @@ -32,7 +32,6 @@ struct perf_guest_info_callbacks { unsigned int(*state)(void); unsigned long (*get_ip)(void); - unsigned int(*handle_intel_pt_intr)(void); }; #ifdef CONFIG_HAVE_HW_BREAKPOINT Index: linux-2.6/virt/kvm/kvm_main.c === --- linux-2.6.orig/virt/kvm/kvm_main.c +++ linux-2.6/virt/kvm/kvm_main.c @@ -5374,12 +5374,10 @@ static unsigned long kvm_guest_get_ip(vo static struct perf_guest_info_callbacks kvm_guest_cbs = { .state = kvm_guest_state, .get_ip = kvm_guest_get_ip, - .handle_intel_pt_intr = NULL, }; -void kvm_register_perf_callbacks(unsigned int (*pt_intr_handler)(void)) +void kvm_register_perf_callbacks(void) { - kvm_guest_cbs.handle_intel_pt_intr = pt_intr_handler;
Re: [PATCH v2 05/13] perf: Force architectures to opt-in to guest callbacks
On Fri, Aug 27, 2021 at 05:35:50PM -0700, Sean Christopherson wrote: > diff --git a/init/Kconfig b/init/Kconfig > index 55f9f7738ebb..9ef51ae53977 100644 > --- a/init/Kconfig > +++ b/init/Kconfig > @@ -1776,6 +1776,9 @@ config HAVE_PERF_EVENTS > help > See tools/perf/design.txt for details. > > +config HAVE_GUEST_PERF_EVENTS > + bool depends on HAVE_KVM ? > + > config PERF_USE_VMALLOC > bool > help
Re: [PATCH v2 01/13] perf: Ensure perf_guest_cbs aren't reloaded between !NULL check and deref
On Fri, Aug 27, 2021 at 05:35:46PM -0700, Sean Christopherson wrote: > diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h > index 2d510ad750ed..6b0405e578c1 100644 > --- a/include/linux/perf_event.h > +++ b/include/linux/perf_event.h > @@ -1237,6 +1237,14 @@ extern void perf_event_bpf_event(struct bpf_prog *prog, >u16 flags); > > extern struct perf_guest_info_callbacks *perf_guest_cbs; > +static inline struct perf_guest_info_callbacks *perf_get_guest_cbs(void) > +{ > + /* Reg/unreg perf_guest_cbs waits for readers via synchronize_rcu(). */ > + lockdep_assert_preemption_disabled(); > + > + /* Prevent reloading between a !NULL check and dereferences. */ > + return READ_ONCE(perf_guest_cbs); > +} Nice.. > extern int perf_register_guest_info_callbacks(struct > perf_guest_info_callbacks *callbacks); > extern int perf_unregister_guest_info_callbacks(struct > perf_guest_info_callbacks *callbacks); > > diff --git a/kernel/events/core.c b/kernel/events/core.c > index 464917096e73..2126f6327321 100644 > --- a/kernel/events/core.c > +++ b/kernel/events/core.c > @@ -6491,14 +6491,19 @@ struct perf_guest_info_callbacks *perf_guest_cbs; > > int perf_register_guest_info_callbacks(struct perf_guest_info_callbacks *cbs) > { > - perf_guest_cbs = cbs; > + if (WARN_ON_ONCE(perf_guest_cbs)) > + return -EBUSY; > + > + WRITE_ONCE(perf_guest_cbs, cbs); > + synchronize_rcu(); You're waiting for all NULL users to go away? :-) IOW, we can do without this synchronize_rcu() call. > return 0; > } > EXPORT_SYMBOL_GPL(perf_register_guest_info_callbacks); > > int perf_unregister_guest_info_callbacks(struct perf_guest_info_callbacks > *cbs) > { > - perf_guest_cbs = NULL; if (WARN_ON_ONCE(perf_guest_cbs != cbs)) return -EBUSY; ? > + WRITE_ONCE(perf_guest_cbs, NULL); > + synchronize_rcu(); > return 0; > } > EXPORT_SYMBOL_GPL(perf_unregister_guest_info_callbacks); Yes, this ought to work fine.
[ovmf test] 164513: all pass - PUSHED
flight 164513 ovmf real [real] http://logs.test-lab.xenproject.org/osstest/logs/164513/ Perfect :-) All tests in this flight passed as required version targeted for testing: ovmf 82f7e315d612399f65a3bedd3b2c0364b43b6929 baseline version: ovmf 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5 Last test of basis 164461 2021-08-24 22:15:18 Z3 days Testing same since 164513 2021-08-27 08:41:23 Z1 days1 attempts People who touched revisions under test: Michael Kubacki jobs: build-amd64-xsm pass build-i386-xsm pass build-amd64 pass build-i386 pass build-amd64-libvirt pass build-i386-libvirt pass build-amd64-pvopspass build-i386-pvops pass test-amd64-amd64-xl-qemuu-ovmf-amd64 pass test-amd64-i386-xl-qemuu-ovmf-amd64 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 Pushing revision : To xenbits.xen.org:/home/xen/git/osstest/ovmf.git 7b4a99be8a..82f7e315d6 82f7e315d612399f65a3bedd3b2c0364b43b6929 -> xen-tested-master
[xen-4.14-testing test] 164507: regressions - FAIL
flight 164507 xen-4.14-testing real [real] flight 164544 xen-4.14-testing real-retest [real] http://logs.test-lab.xenproject.org/osstest/logs/164507/ http://logs.test-lab.xenproject.org/osstest/logs/164544/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-dom0pvh-xl-amd 8 xen-boot fail REGR. vs. 163750 test-amd64-amd64-dom0pvh-xl-intel 8 xen-bootfail REGR. vs. 163750 Tests which are failing intermittently (not blocking): test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 164544-retest Tests which did not succeed, but are not blocking: test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop fail like 163750 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stopfail like 163750 test-armhf-armhf-libvirt 16 saverestore-support-checkfail like 163750 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 163750 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stopfail like 163750 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stopfail like 163750 test-armhf-armhf-libvirt-raw 15 saverestore-support-checkfail like 163750 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop fail like 163750 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop fail like 163750 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop fail like 163750 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stopfail like 163750 test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass test-amd64-i386-xl-pvshim14 guest-start fail never pass test-arm64-arm64-xl-seattle 15 migrate-support-checkfail never pass test-arm64-arm64-xl-seattle 16 saverestore-support-checkfail never pass test-amd64-amd64-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-i386-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-i386-libvirt 15 migrate-support-checkfail never pass test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-arm64-arm64-xl-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit1 15 migrate-support-checkfail never pass test-arm64-arm64-xl-thunderx 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit1 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-thunderx 16 saverestore-support-checkfail never pass test-arm64-arm64-xl 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit2 15 migrate-support-checkfail never pass test-arm64-arm64-xl 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit2 16 saverestore-support-checkfail never pass test-arm64-arm64-libvirt-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-libvirt-xsm 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-arndale 15 migrate-support-checkfail never pass test-armhf-armhf-xl-arndale 16 saverestore-support-checkfail never pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-amd64-amd64-libvirt-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-multivcpu 15 migrate-support-checkfail never pass test-armhf-armhf-xl-multivcpu 16 saverestore-support-checkfail never pass test-armhf-armhf-libvirt 15 migrate-support-checkfail never pass test-armhf-armhf-xl 15 migrate-support-checkfail never pass test-armhf-armhf-xl 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit1 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit1 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-cubietruck 15 migrate-support-checkfail never pass test-armhf-armhf-xl-cubietruck 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-rtds 15 migrate-support-checkfail never pass test-armhf-armhf-xl-rtds 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit2 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit2 16 saverestore-support-checkfail never pass test-armhf-armhf-libvirt-raw 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 15 saverestore-support-checkfail never pass version targeted for testing: xen 74e93071826fe3aaab32e469280a3253a39147f6 baseline version: xen 49299c4813b7847d29df07bf790f5489060f2a9c Last test of basis 163750 2021-07-16
RE: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in system init
Hi Julien, > -Original Message- > From: Julien Grall > Sent: 2021年8月28日 18:45 > To: Wei Chen ; xen-devel@lists.xenproject.org; > sstabell...@kernel.org > Cc: Bertrand Marquis > Subject: Re: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA > in system init > > > > On 28/08/2021 04:17, Wei Chen wrote: > > Hi Julien, > > Hi Wei, > > > > >> -Original Message- > >> From: Julien Grall > >> Sent: 2021年8月27日 22:33 > >> To: Wei Chen ; xen-devel@lists.xenproject.org; > >> sstabell...@kernel.org; jbeul...@suse.com > >> Cc: Bertrand Marquis > >> Subject: Re: [XEN RFC PATCH 38/40] xen/arm: enable device tree based > NUMA > >> in system init > >> > >> Hi Wei, > >> > >> On 11/08/2021 11:24, Wei Chen wrote: > >>> Everything is ready, we can remove the fake NUMA node and > >>> depends on device tree to create NUMA system. > >> > >> So you just added code a few patches before that are now completely > >> rewritten. Can you please re-order this series so it doesn't happen? > >> > >> This may mean that CONFIG_NUMA is only selected until late in this > series. > >> > > > > Why I did like this is because my original concerns are: > > 1. When I introduced the CONFIG_NUMA. Users will be using a code base on > > this commit by accident. > > 2. If users select CONFIG_NUMA, but not all NUMA data are not > initialized > > properly. The system may not work properly. > > We have to make sure we don't break any existing use case when writing a > new feature. However, a user should not expect a new feature to work it > is using a random commit in the middle of the series. > > This is also why I suggested that maybe CONFIG_NUMA is only selected for > Arm towards the end of the series. So you reduce the risk of someone > selecting it. > Thanks for this clarification. > > 3. So I created the fake node to initialize the NUMA data, before we > parser > > real data from DTB. > > 4. In this case, user can work well with CONFIG_NUMA is enabled, without > > this series is completed. > > The flip side is you are adding more load on the reviewers because there > are extra code. The series is already quite big (40 patches), any way to > ease the review will definitely be appreciated. > > Another possible way to ease the review is to move the patch that > rework/move code at the beginning of the series and leave the Arm part > for the second part of the series. This way, we can start to merge the > series without waiting for the Arm bits to be completed. > Yes, I will try to re-order the patches in this way in next version. > Cheers, > > -- > Julien Grall
RE: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device tree memory node
Hi Julien, > -Original Message- > From: Julien Grall > Sent: 2021年8月28日 18:34 > To: Wei Chen ; Stefano Stabellini > > Cc: xen-devel@lists.xenproject.org; Bertrand Marquis > ; Jan Beulich > Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse > device tree memory node > > Hi Wei, > > On 28/08/2021 04:56, Wei Chen wrote: > >> -Original Message- > >> From: Stefano Stabellini > >> Sent: 2021��8��28�� 9:06 > >> To: Wei Chen > >> Cc: xen-devel@lists.xenproject.org; sstabell...@kernel.org; > jul...@xen.org; > >> jbeul...@suse.com; Bertrand Marquis > >> Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse > >> device tree memory node > >> > >> On Wed, 11 Aug 2021, Wei Chen wrote: > >>> Memory blocks' NUMA ID information is stored in device tree's > >>> memory nodes as "numa-node-id". We need a new helper to parse > >>> and verify this ID from memory nodes. > >>> > >>> In order to support memory affinity in later use, the valid > >>> memory ranges and NUMA ID will be saved to tables. > >>> > >>> Signed-off-by: Wei Chen > >>> --- > >>> xen/arch/arm/numa_device_tree.c | 130 > > >>> 1 file changed, 130 insertions(+) > >>> > >>> diff --git a/xen/arch/arm/numa_device_tree.c > >> b/xen/arch/arm/numa_device_tree.c > >>> index 37cc56acf3..bbe081dcd1 100644 > >>> --- a/xen/arch/arm/numa_device_tree.c > >>> +++ b/xen/arch/arm/numa_device_tree.c > >>> @@ -20,11 +20,13 @@ > >>> #include > >>> #include > >>> #include > >>> +#include > >>> #include > >>> #include > >>> > >>> s8 device_tree_numa = 0; > >>> static nodemask_t processor_nodes_parsed __initdata; > >>> +static nodemask_t memory_nodes_parsed __initdata; > >>> > >>> static int srat_disabled(void) > >>> { > >>> @@ -55,6 +57,79 @@ static int __init > >> dtb_numa_processor_affinity_init(nodeid_t node) > >>> return 0; > >>> } > >>> > >>> +/* Callback for parsing of the memory regions affinity */ > >>> +static int __init dtb_numa_memory_affinity_init(nodeid_t node, > >>> +paddr_t start, paddr_t size) > >>> +{ > >>> +struct node *nd; > >>> +paddr_t end; > >>> +int i; > >>> + > >>> +if ( srat_disabled() ) > >>> +return -EINVAL; > >>> + > >>> +end = start + size; > >>> +if ( num_node_memblks >= NR_NODE_MEMBLKS ) > >>> +{ > >>> +dprintk(XENLOG_WARNING, > >>> +"Too many numa entry, try bigger NR_NODE_MEMBLKS \n"); > >>> +bad_srat(); > >>> +return -EINVAL; > >>> +} > >>> + > >>> +/* It is fine to add this area to the nodes data it will be used > >> later */ > >>> +i = conflicting_memblks(start, end); > >>> +/* No conflicting memory block, we can save it for later usage */; > >>> +if ( i < 0 ) > >>> +goto save_memblk; > >>> + > >>> +if ( memblk_nodeid[i] == node ) { > >>> +/* > >>> + * Overlaps with other memblk in the same node, warning here. > >>> + * This memblk will be merged with conflicted memblk later. > >>> + */ > >>> +printk(XENLOG_WARNING > >>> + "DT: NUMA NODE %u (%"PRIx64 > >>> + "-%"PRIx64") overlaps with itself (%"PRIx64"- > >> %"PRIx64")\n", > >>> + node, start, end, > >>> + node_memblk_range[i].start, node_memblk_range[i].end); > >>> +} else { > >>> +/* > >>> + * Conflict with memblk in other node, this is an error. > >>> + * The NUMA information is invalid, NUMA will be turn off. > >>> + */ > >>> +printk(XENLOG_ERR > >>> + "DT: NUMA NODE %u (%"PRIx64"-%" > >>> + PRIx64") overlaps with NODE %u (%"PRIx64"- > %"PRIx64")\n", > >>> + node, start, end, memblk_nodeid[i], > >>> + node_memblk_range[i].start, node_memblk_range[i].end); > >>> +bad_srat(); > >>> +return -EINVAL; > >>> +} > >>> + > >>> +save_memblk: > >>> +nd = [node]; > >>> +if ( !node_test_and_set(node, memory_nodes_parsed) ) { > >>> +nd->start = start; > >>> +nd->end = end; > >>> +} else { > >>> +if ( start < nd->start ) > >>> +nd->start = start; > >>> +if ( nd->end < end ) > >>> +nd->end = end; > >>> +} > >>> + > >>> +printk(XENLOG_INFO "DT: NUMA node %u %"PRIx64"-%"PRIx64"\n", > >>> + node, start, end); > >>> + > >>> +node_memblk_range[num_node_memblks].start = start; > >>> +node_memblk_range[num_node_memblks].end = end; > >>> +memblk_nodeid[num_node_memblks] = node; > >>> +num_node_memblks++; > >> > >> > >> Is it possible to have non-contigous ranges of memory for a single NUMA > >> node? > >> > >> Looking at the DT bindings and Linux implementation, it seems possible. > >> Here, it seems that node_memblk_range/memblk_nodeid could handle it, > >> but nodes couldn't. > > > > Yes, you're right. I copied this code for x86 ACPI
[libvirt test] 164514: regressions - FAIL
flight 164514 libvirt real [real] http://logs.test-lab.xenproject.org/osstest/logs/164514/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: build-armhf-libvirt 6 libvirt-buildfail REGR. vs. 151777 build-amd64-libvirt 6 libvirt-buildfail REGR. vs. 151777 build-i386-libvirt6 libvirt-buildfail REGR. vs. 151777 build-arm64-libvirt 6 libvirt-buildfail REGR. vs. 151777 Tests which did not succeed, but are not blocking: test-amd64-amd64-libvirt 1 build-check(1) blocked n/a test-amd64-amd64-libvirt-pair 1 build-check(1) blocked n/a test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a test-amd64-amd64-libvirt-vhd 1 build-check(1) blocked n/a test-amd64-amd64-libvirt-xsm 1 build-check(1) blocked n/a test-amd64-i386-libvirt 1 build-check(1) blocked n/a test-amd64-i386-libvirt-pair 1 build-check(1) blocked n/a test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a test-amd64-i386-libvirt-xsm 1 build-check(1) blocked n/a test-arm64-arm64-libvirt 1 build-check(1) blocked n/a test-arm64-arm64-libvirt-qcow2 1 build-check(1) blocked n/a test-arm64-arm64-libvirt-xsm 1 build-check(1) blocked n/a test-armhf-armhf-libvirt 1 build-check(1) blocked n/a test-armhf-armhf-libvirt-raw 1 build-check(1) blocked n/a version targeted for testing: libvirt 2e8ebfe3fa17bb785d6bc26a17391dc4f34ad8b3 baseline version: libvirt 2c846fa6bcc11929c9fb857a22430fb9945654ad Last test of basis 151777 2020-07-10 04:19:19 Z 414 days Failing since151818 2020-07-11 04:18:52 Z 413 days 403 attempts Testing same since 164514 2021-08-27 08:54:05 Z1 days1 attempts People who touched revisions under test: Adolfo Jayme Barrientos Aleksandr Alekseev Aleksei Zakharov Andika Triwidada Andrea Bolognani Balázs Meskó Barrett Schonefeld Bastian Germann Bastien Orivel BiaoXiang Ye Bihong Yu Binfeng Wu Bjoern Walk Boris Fiuczynski Brian Turek Bruno Haible Chris Mayo Christian Ehrhardt Christian Kirbach Christian Schoenebeck Cole Robinson Collin Walling Cornelia Huck Cédric Bosdonnat Côme Borsoi Daniel Henrique Barboza Daniel Letai Daniel P. Berrange Daniel P. Berrangé Didik Supriadi Dmytro Linkin Eiichi Tsukata Eric Farman Erik Skultety Fabian Affolter Fabian Freyer Fabiano Fidêncio Fangge Jin Farhan Ali Fedora Weblate Translation gongwei Guoyi Tu Göran Uddeborg Halil Pasic Han Han Hao Wang Hela Basa Helmut Grohne Ian Wienand Jakob Meng Jamie Strandboge Jamie Strandboge Jan Kuparinen Jean-Baptiste Holcroft Jia Zhou Jianan Gao Jim Fehlig Jin Yan Jinsheng Zhang Jiri Denemark John Ferlan Jonathan Watt Jonathon Jongsma Julio Faracco Justin Gatzen Ján Tomko Kashyap Chamarthy Kevin Locke Kristina Hanicova Laine Stump Laszlo Ersek Lee Yarwood Liao Pingfang Lin Ma Lin Ma Lin Ma Liu Yiding Luke Yue Luyao Zhong Marc Hartmayer Marc-André Lureau Marek Marczykowski-Górecki Markus Schade Martin Kletzander Masayoshi Mizuma Matej Cepl Matt Coleman Matt Coleman Mauro Matteo Cascella Meina Li Michal Privoznik Michał Smyk Milo Casagrande Moshe Levi Muha Aliss Nathan Neal Gompa Nick Shyrokovskiy Nickys Music Group Nico Pache Nikolay Shirokovskiy Olaf Hering Olesya Gerasimenko Orion Poplawski Pany Patrick Magauran Paulo de Rezende Pinatti Pavel Hrdina Peng Liang Peter Krempa Pino Toscano Pino Toscano Piotr Drąg Prathamesh Chavan Richard W.M. Jones Ricky Tigg Roman Bogorodskiy Roman Bolshakov Ryan Gahagan Ryan Schmidt Sam Hartman Scott Shambarger Sebastian Mitterle SeongHyun Jo Shalini Chellathurai Saroja Shaojun Yang Shi Lei simmon Simon Chopin Simon Gaiser Simon Rowe Stefan Bader Stefan Berger Stefan Berger Stefan Hajnoczi Szymon Scholz Thomas Huth Tim Wiederhake Tomáš Golembiovský Tomáš Janoušek Tuguoyi Ville Skyttä Vinayak Kale Wang Xin WangJian Weblate Wei Liu Wei Liu William Douglas Yalei Li <274268...@qq.com> Yalei Li Yang Fei Yang Hang Yanqiu Zhang Yaroslav Kargin Yi Li Yi Wang Yuri Chornoivan Zbigniew Jędrzejewski-Szmek zhangjl02 Zheng Chuan zhenwei pi Zhenyu Ye Zhenyu Zheng Zhenzhong Duan jobs: build-amd64-xsm pass
Re: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in system init
On 28/08/2021 04:17, Wei Chen wrote: Hi Julien, Hi Wei, -Original Message- From: Julien Grall Sent: 2021年8月27日 22:33 To: Wei Chen ; xen-devel@lists.xenproject.org; sstabell...@kernel.org; jbeul...@suse.com Cc: Bertrand Marquis Subject: Re: [XEN RFC PATCH 38/40] xen/arm: enable device tree based NUMA in system init Hi Wei, On 11/08/2021 11:24, Wei Chen wrote: Everything is ready, we can remove the fake NUMA node and depends on device tree to create NUMA system. So you just added code a few patches before that are now completely rewritten. Can you please re-order this series so it doesn't happen? This may mean that CONFIG_NUMA is only selected until late in this series. Why I did like this is because my original concerns are: 1. When I introduced the CONFIG_NUMA. Users will be using a code base on this commit by accident. 2. If users select CONFIG_NUMA, but not all NUMA data are not initialized properly. The system may not work properly. We have to make sure we don't break any existing use case when writing a new feature. However, a user should not expect a new feature to work it is using a random commit in the middle of the series. This is also why I suggested that maybe CONFIG_NUMA is only selected for Arm towards the end of the series. So you reduce the risk of someone selecting it. 3. So I created the fake node to initialize the NUMA data, before we parser real data from DTB. 4. In this case, user can work well with CONFIG_NUMA is enabled, without this series is completed. The flip side is you are adding more load on the reviewers because there are extra code. The series is already quite big (40 patches), any way to ease the review will definitely be appreciated. Another possible way to ease the review is to move the patch that rework/move code at the beginning of the series and leave the Arm part for the second part of the series. This way, we can start to merge the series without waiting for the Arm bits to be completed. Cheers, -- Julien Grall
Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device tree memory node
Hi Wei, On 28/08/2021 04:56, Wei Chen wrote: -Original Message- From: Stefano Stabellini Sent: 2021年8月28日 9:06 To: Wei Chen Cc: xen-devel@lists.xenproject.org; sstabell...@kernel.org; jul...@xen.org; jbeul...@suse.com; Bertrand Marquis Subject: Re: [XEN RFC PATCH 23/40] xen/arm: introduce a helper to parse device tree memory node On Wed, 11 Aug 2021, Wei Chen wrote: Memory blocks' NUMA ID information is stored in device tree's memory nodes as "numa-node-id". We need a new helper to parse and verify this ID from memory nodes. In order to support memory affinity in later use, the valid memory ranges and NUMA ID will be saved to tables. Signed-off-by: Wei Chen --- xen/arch/arm/numa_device_tree.c | 130 1 file changed, 130 insertions(+) diff --git a/xen/arch/arm/numa_device_tree.c b/xen/arch/arm/numa_device_tree.c index 37cc56acf3..bbe081dcd1 100644 --- a/xen/arch/arm/numa_device_tree.c +++ b/xen/arch/arm/numa_device_tree.c @@ -20,11 +20,13 @@ #include #include #include +#include #include #include s8 device_tree_numa = 0; static nodemask_t processor_nodes_parsed __initdata; +static nodemask_t memory_nodes_parsed __initdata; static int srat_disabled(void) { @@ -55,6 +57,79 @@ static int __init dtb_numa_processor_affinity_init(nodeid_t node) return 0; } +/* Callback for parsing of the memory regions affinity */ +static int __init dtb_numa_memory_affinity_init(nodeid_t node, +paddr_t start, paddr_t size) +{ +struct node *nd; +paddr_t end; +int i; + +if ( srat_disabled() ) +return -EINVAL; + +end = start + size; +if ( num_node_memblks >= NR_NODE_MEMBLKS ) +{ +dprintk(XENLOG_WARNING, +"Too many numa entry, try bigger NR_NODE_MEMBLKS \n"); +bad_srat(); +return -EINVAL; +} + +/* It is fine to add this area to the nodes data it will be used later */ +i = conflicting_memblks(start, end); +/* No conflicting memory block, we can save it for later usage */; +if ( i < 0 ) +goto save_memblk; + +if ( memblk_nodeid[i] == node ) { +/* + * Overlaps with other memblk in the same node, warning here. + * This memblk will be merged with conflicted memblk later. + */ +printk(XENLOG_WARNING + "DT: NUMA NODE %u (%"PRIx64 + "-%"PRIx64") overlaps with itself (%"PRIx64"- %"PRIx64")\n", + node, start, end, + node_memblk_range[i].start, node_memblk_range[i].end); +} else { +/* + * Conflict with memblk in other node, this is an error. + * The NUMA information is invalid, NUMA will be turn off. + */ +printk(XENLOG_ERR + "DT: NUMA NODE %u (%"PRIx64"-%" + PRIx64") overlaps with NODE %u (%"PRIx64"-%"PRIx64")\n", + node, start, end, memblk_nodeid[i], + node_memblk_range[i].start, node_memblk_range[i].end); +bad_srat(); +return -EINVAL; +} + +save_memblk: +nd = [node]; +if ( !node_test_and_set(node, memory_nodes_parsed) ) { +nd->start = start; +nd->end = end; +} else { +if ( start < nd->start ) +nd->start = start; +if ( nd->end < end ) +nd->end = end; +} + +printk(XENLOG_INFO "DT: NUMA node %u %"PRIx64"-%"PRIx64"\n", + node, start, end); + +node_memblk_range[num_node_memblks].start = start; +node_memblk_range[num_node_memblks].end = end; +memblk_nodeid[num_node_memblks] = node; +num_node_memblks++; Is it possible to have non-contigous ranges of memory for a single NUMA node? Looking at the DT bindings and Linux implementation, it seems possible. Here, it seems that node_memblk_range/memblk_nodeid could handle it, but nodes couldn't. Yes, you're right. I copied this code for x86 ACPI NUMA. Does ACPI allow non-contiguous ranges of memory for a single NUMA node too? I couldn't find any restriction for ACPI. Although, I only briefly looked at the spec. If yes, I think this will affect x86 ACPI NUMA too. In next version, we plan to merge dtb_numa_memory_affinity_init and acpi_numa_memory_affinity_init into a neutral function. So we can fix them at the same time. If not, maybe we have to keep the diversity for dtb and ACPI here. I am not entirely sure what you mean. Are you saying if ACPI doesn't allow non-contiguous ranges of memory, then we should keep the implementation separated? If so, then I disagree with that. It is fine to have code that supports more than what a firmware table supports. The main benefit is less code and therefore less long term maintenance (with the current solution we would need to check both the ACPI and DT implementation if there is a bug in one). Cheers, -- Julien Grall
[xen-4.11-testing test] 164503: regressions - FAIL
flight 164503 xen-4.11-testing real [real] http://logs.test-lab.xenproject.org/osstest/logs/164503/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 162548 Tests which are failing intermittently (not blocking): test-arm64-arm64-xl-seattle 8 xen-boot fail in 164486 pass in 164503 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 164486 pass in 164503 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail pass in 164486 Tests which did not succeed, but are not blocking: test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail like 162548 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop fail like 162548 test-armhf-armhf-libvirt 16 saverestore-support-checkfail like 162548 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 162548 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stopfail like 162548 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stopfail like 162548 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stopfail like 162548 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop fail like 162548 test-armhf-armhf-libvirt-raw 15 saverestore-support-checkfail like 162548 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop fail like 162548 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stopfail like 162548 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop fail like 162548 test-amd64-i386-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-amd64-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass test-amd64-i386-xl-pvshim14 guest-start fail never pass test-amd64-i386-libvirt 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit2 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit2 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-seattle 15 migrate-support-checkfail never pass test-arm64-arm64-xl-seattle 16 saverestore-support-checkfail never pass test-amd64-amd64-libvirt-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-arndale 15 migrate-support-checkfail never pass test-armhf-armhf-xl-arndale 16 saverestore-support-checkfail never pass test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-arm64-arm64-xl-thunderx 15 migrate-support-checkfail never pass test-arm64-arm64-xl-thunderx 16 saverestore-support-checkfail never pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-arm64-arm64-xl-credit1 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit1 16 saverestore-support-checkfail never pass test-arm64-arm64-xl 15 migrate-support-checkfail never pass test-arm64-arm64-xl 16 saverestore-support-checkfail never pass test-arm64-arm64-libvirt-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-libvirt-xsm 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit1 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit1 16 saverestore-support-checkfail never pass test-armhf-armhf-xl 15 migrate-support-checkfail never pass test-armhf-armhf-xl 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-cubietruck 15 migrate-support-checkfail never pass test-armhf-armhf-xl-cubietruck 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit2 15 migrate-support-checkfail never pass test-armhf-armhf-xl-rtds 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit2 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-rtds 16 saverestore-support-checkfail never pass test-armhf-armhf-libvirt 15 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 15 saverestore-support-checkfail never pass test-armhf-armhf-libvirt-raw 14 migrate-support-checkfail never pass test-armhf-armhf-xl-multivcpu 15 migrate-support-checkfail never pass test-armhf-armhf-xl-multivcpu 16
[PATCH] libs/light: fix tv_sec fprintf format
Don't assume tv_sec is a unsigned long, it is 64 bits on NetBSD 32 bits. Use %jd and cast to (intmax_t) instead Signed-off-by: Fabrice Fontaine --- tools/libs/light/libxl_domain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c index c00c36c928..51a6127552 100644 --- a/tools/libs/light/libxl_domain.c +++ b/tools/libs/light/libxl_domain.c @@ -1444,7 +1444,7 @@ static int libxl__mark_domid_recent(libxl__gc *gc, uint32_t domid) } } -r = fprintf(nf, "%lu %u\n", ctxt.ts.tv_sec, domid); +r = fprintf(nf, "%jd %u\n", (intmax_t)ctxt.ts.tv_sec, domid); if (r < 0) { LOGED(ERROR, domid, "failed to write to '%s'", new); goto out; -- 2.32.0
[linux-5.4 test] 164501: tolerable FAIL - PUSHED
flight 164501 linux-5.4 real [real] http://logs.test-lab.xenproject.org/osstest/logs/164501/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stopfail like 164312 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop fail like 164312 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stopfail like 164312 test-armhf-armhf-libvirt 16 saverestore-support-checkfail like 164312 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 164312 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stopfail like 164312 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stopfail like 164312 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop fail like 164312 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop fail like 164312 test-armhf-armhf-libvirt-raw 15 saverestore-support-checkfail like 164312 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop fail like 164312 test-amd64-i386-xl-pvshim14 guest-start fail never pass test-arm64-arm64-xl-seattle 15 migrate-support-checkfail never pass test-arm64-arm64-xl-seattle 16 saverestore-support-checkfail never pass test-amd64-i386-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-amd64-libvirt-xsm 15 migrate-support-checkfail never pass test-amd64-amd64-libvirt 15 migrate-support-checkfail never pass test-amd64-i386-libvirt 15 migrate-support-checkfail never pass test-arm64-arm64-libvirt-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-libvirt-xsm 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit1 15 migrate-support-checkfail never pass test-arm64-arm64-xl 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit1 16 saverestore-support-checkfail never pass test-arm64-arm64-xl 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-xsm 15 migrate-support-checkfail never pass test-arm64-arm64-xl-xsm 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-credit2 15 migrate-support-checkfail never pass test-arm64-arm64-xl-credit2 16 saverestore-support-checkfail never pass test-arm64-arm64-xl-thunderx 15 migrate-support-checkfail never pass test-arm64-arm64-xl-thunderx 16 saverestore-support-checkfail 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-checkfail never pass test-armhf-armhf-xl-arndale 16 saverestore-support-checkfail never pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass test-amd64-amd64-libvirt-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-credit2 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit2 16 saverestore-support-checkfail never pass test-armhf-armhf-xl 15 migrate-support-checkfail never pass test-armhf-armhf-xl 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-credit1 15 migrate-support-checkfail never pass test-armhf-armhf-xl-credit1 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-rtds 15 migrate-support-checkfail never pass test-armhf-armhf-xl-rtds 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-multivcpu 15 migrate-support-checkfail never pass test-armhf-armhf-xl-multivcpu 16 saverestore-support-checkfail never pass test-armhf-armhf-xl-cubietruck 15 migrate-support-checkfail never pass test-armhf-armhf-xl-cubietruck 16 saverestore-support-checkfail never pass test-armhf-armhf-libvirt 15 migrate-support-checkfail never pass test-armhf-armhf-libvirt-raw 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 14 migrate-support-checkfail never pass test-armhf-armhf-xl-vhd 15 saverestore-support-checkfail never pass version targeted for testing: linuxfd80923202c6bfd723742fc32426a7aa3632abaa baseline version: linuxc15b830f7c1cafd34035a46485716933f66ab753 Last test of basis 164312 2021-08-21 17:24:53 Z6 days Testing same since 164501 2021-08-26 13:42:10 Z1 days1 attempts People who touched revisions under test: Adrian Larumbe Alan Stern Alex Deucher Andreas Persson Andrew Morton Andy Shevchenko Arkadiusz Kubalewski Arnd Bergmann Aurabindo Pillai Bing Guo Bjorn Helgaas Borislav Petkov Chris Down Christoph Hellwig Dan Carpenter Daniel Borkmann Dave Gerlach