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

Re: [Xen-devel] [OSSTEST PATCH 2/2] RFC: enable CONFIG_LIVEPATCH in all relevant arm64 builds



Hi Ian,

On 05/06/2019 12:13, Ian Jackson wrote:
Right now there is a bug in, at least, Xen 4.11, where it does not
boot on some of our ARM64 machines but only if CONFIG_LIVEPATCH
is *dis*abled.

We think this is due to Xen not playing by the proper cache management
rules in the ARM ARM.  We think that CONFIG_LIVEPATCH is not really
relevant: it just causes slight changes in timing or memory accesses
or code layout: so, another roll of the dice.  Ie we think it is
random coincidence that it works with CONFIG_LIVEPATCH and fails
without it.

Right now the bug is masked in the osstest flights which test the Xen
branches because they all are all built with CONFIG_LIVEPATCH enabled.
The non-Xen branches until now have been built with CONFIG_LIVEPATCH
disabled.

The overall result is blockage of the CI for, currently,
qemu-xen-4.11-testing.  This blockage is not a true regression; the
code was always buggy.  It's just that something has changed and now
the bug bites.

Switching on CONFIG_LIVEPATCH for the affected tests will, hopefully,
make this problem "go away" again.  This is clearly a bodge.  But it
is better than simply force pushing: if we can get it to boot, we will
be able to run the other tests.

How about disabling the test on rochester?

Cheers,


I have used standalone-generate-dump-flight-runvars and the effect is
to turn on enable_livepatch in build-arm64 in precisely
qemu-upstream-xen-4.11-testing.

AIUI:

An alternative would be to backport 00c96d7742 "xen/arm: mm: Set-up
page permission for Xen mappings earlier on", to affected Xen stable
branches.  That would differently permute the cases where things fail.
In particular on some hardware, including (we think) all hardware we
actually have, the violation of the architecture cache rules would be
absolutely irrelevant because of microarchitectural details.  But it
might cause regressions on other hardware.

CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Anthony Perard <anthony.perard@xxxxxxxxxx
CC: Julien Grall <julien.grall@xxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
  mfi-common | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mfi-common b/mfi-common
index b86febda..52a38cb4 100644
--- a/mfi-common
+++ b/mfi-common
@@ -373,7 +373,8 @@ create_build_jobs () {
          fi
      fi
- if branch_wants_livepatch; then
+    if branch_wants_livepatch ||
+          [ $arch = arm64 -a "$xenbranch" = xen-4.11-testing ]; then
         livepatch_runvars='enable_livepatch=true'
      fi
      eval "


--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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