[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen-unstable-smoke bisection] complete build-arm64-xsm
branch xen-unstable-smoke xenbranch xen-unstable-smoke job build-arm64-xsm testid xen-build Tree: qemuu git://xenbits.xen.org/qemu-xen.git Tree: xen git://xenbits.xen.org/xen.git *** Found and reproduced problem changeset *** Bug is in tree: xen git://xenbits.xen.org/xen.git Bug introduced: c4e5cc2ccc5b8274d02f7855c4769839989bb349 Bug not present: 9982fe275ba4ee1a749b6dde5602a5a79e42b543 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/173377/ commit c4e5cc2ccc5b8274d02f7855c4769839989bb349 Author: Roger Pau Monné <roger.pau@xxxxxxxxxx> Date: Thu Sep 29 14:44:10 2022 +0200 x86/ept: limit calls to memory_type_changed() memory_type_changed() is currently only implemented for Intel EPT, and results in the invalidation of EMT attributes on all the entries in the EPT page tables. Such invalidation causes EPT_MISCONFIG vmexits when the guest tries to access any gfns for the first time, which results in the recalculation of the EMT for the accessed page. The vmexit and the recalculations are expensive, and as such should be avoided when possible. Remove the call to memory_type_changed() from XEN_DOMCTL_memory_mapping: there are no modifications of the iomem_caps ranges anymore that could alter the return of cache_flush_permitted() from that domctl. Encapsulate calls to memory_type_changed() resulting from changes to the domain iomem_caps or ioport_caps ranges in the helpers themselves (io{ports,mem}_{permit,deny}_access()), and add a note in epte_get_entry_emt() to remind that changes to the logic there likely need to be propagaed to the IO capabilities helpers. Note changes to the IO ports or memory ranges are not very common during guest runtime, but Citrix Hypervisor has an use case for them related to device passthrough. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable-smoke/build-arm64-xsm.xen-build.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable-smoke/build-arm64-xsm.xen-build --summary-out=tmp/173377.bisection-summary --basis-template=173347 --blessings=real,real-bisect,real-retry xen-unstable-smoke build-arm64-xsm xen-build Searching for failure / basis pass: 173370 fail [host=rochester0] / 173347 [host=rochester1] 173342 [host=rochester1] 173333 ok. Failure / basis pass flights: 173370 / 173333 Tree: qemuu git://xenbits.xen.org/qemu-xen.git Tree: xen git://xenbits.xen.org/xen.git Latest b746458e1ce1bec85e58b458386f8b7a0bedfaa6 fb7485788fd7db3b95f4e7fc9bfdfe9ef38e383f Basis pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 5e936d11b171793c174686268c9c1df8a4fa974c Generating revisions with ./adhoc-revtuple-generator git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#5e936d11b171793c174686268c9c1df8a4fa974c-fb7485788fd7db3b95f4e7fc9bfdfe9ef38e383f Loaded 5001 nodes in revision graph Searching for test results: 173373 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 9982fe275ba4ee1a749b6dde5602a5a79e42b543 173362 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 b726541d94bd0a80b5864d17a2cd2e6d73a3fe0a 173365 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 5e936d11b171793c174686268c9c1df8a4fa974c 173366 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 b726541d94bd0a80b5864d17a2cd2e6d73a3fe0a 173368 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e1de23b7c1bfa02447a79733e64184b3635e0587 173367 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 fb7485788fd7db3b95f4e7fc9bfdfe9ef38e383f 173369 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 9982fe275ba4ee1a749b6dde5602a5a79e42b543 173372 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 c4e5cc2ccc5b8274d02f7855c4769839989bb349 173370 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 fb7485788fd7db3b95f4e7fc9bfdfe9ef38e383f 173374 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 c4e5cc2ccc5b8274d02f7855c4769839989bb349 173376 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 9982fe275ba4ee1a749b6dde5602a5a79e42b543 173377 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 c4e5cc2ccc5b8274d02f7855c4769839989bb349 173333 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 5e936d11b171793c174686268c9c1df8a4fa974c 173342 [host=rochester1] 173347 [host=rochester1] Searching for interesting versions Result found: flight 173333 (pass), for basis pass For basis failure, parent search stopping at b746458e1ce1bec85e58b458386f8b7a0bedfaa6 9982fe275ba4ee1a749b6dde5602a5a79e42b543, results HASH(0x55d736404278) HASH(0x55d736414c98) HASH(0x55d7364189a8) For basis failure, parent search stopping at b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e1de23b7c1bfa02447a79733e64184b3635e0587, results HASH(0x55d73640b428) For basis failure, parent search stopping at b746458e1ce1bec85e58b458386f8b7a0bedfaa6 5e936d11b171793c174686268c9c1df8a4fa974c, results HASH(0x\ 55d73640c950) HASH(0x55d736421170) Result found: flight 173362 (fail), for basis failure (at ancestor ~575) Repro found: flight 173365 (pass), for basis pass Repro found: flight 173367 (fail), for basis failure 0 revisions at b746458e1ce1bec85e58b458386f8b7a0bedfaa6 9982fe275ba4ee1a749b6dde5602a5a79e42b543 No revisions left to test, checking graph state. Result found: flight 173369 (pass), for last pass Result found: flight 173372 (fail), for first failure Repro found: flight 173373 (pass), for last pass Repro found: flight 173374 (fail), for first failure Repro found: flight 173376 (pass), for last pass Repro found: flight 173377 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: xen git://xenbits.xen.org/xen.git Bug introduced: c4e5cc2ccc5b8274d02f7855c4769839989bb349 Bug not present: 9982fe275ba4ee1a749b6dde5602a5a79e42b543 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/173377/ commit c4e5cc2ccc5b8274d02f7855c4769839989bb349 Author: Roger Pau Monné <roger.pau@xxxxxxxxxx> Date: Thu Sep 29 14:44:10 2022 +0200 x86/ept: limit calls to memory_type_changed() memory_type_changed() is currently only implemented for Intel EPT, and results in the invalidation of EMT attributes on all the entries in the EPT page tables. Such invalidation causes EPT_MISCONFIG vmexits when the guest tries to access any gfns for the first time, which results in the recalculation of the EMT for the accessed page. The vmexit and the recalculations are expensive, and as such should be avoided when possible. Remove the call to memory_type_changed() from XEN_DOMCTL_memory_mapping: there are no modifications of the iomem_caps ranges anymore that could alter the return of cache_flush_permitted() from that domctl. Encapsulate calls to memory_type_changed() resulting from changes to the domain iomem_caps or ioport_caps ranges in the helpers themselves (io{ports,mem}_{permit,deny}_access()), and add a note in epte_get_entry_emt() to remind that changes to the logic there likely need to be propagaed to the IO capabilities helpers. Note changes to the IO ports or memory ranges are not very common during guest runtime, but Citrix Hypervisor has an use case for them related to device passthrough. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Revision graph left in /home/logs/results/bisect/xen-unstable-smoke/build-arm64-xsm.xen-build.{dot,ps,png,html,svg}. ---------------------------------------- 173377: tolerable ALL FAIL flight 173377 xen-unstable-smoke real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/173377/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: build-arm64-xsm 6 xen-build fail baseline untested jobs: build-arm64-xsm fail ------------------------------------------------------------ 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |