[PULL 0/5] i386 patches for QEMU 4.2-rc

Paolo Bonzini posted 5 patches 4 years, 5 months ago
Test asan passed
Test checkpatch passed
Test FreeBSD passed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191126085936.1689-1-pbonzini@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <rth@twiddle.net>, Eduardo Habkost <ehabkost@redhat.com>
target/i386/cpu.c            |  6 +++--
target/i386/hvf/hvf.c        | 61 +++++++++++++++++++++++++++++------------
target/i386/hvf/vmx.h        | 18 +++++++------
target/i386/hvf/x86_decode.c | 64 +++++++++++++++++++++++++-------------------
target/i386/hvf/x86_decode.h | 20 +++++++-------
target/i386/hvf/x86_emu.c    |  3 ---
target/i386/hvf/x86hvf.c     |  4 ---
7 files changed, 104 insertions(+), 72 deletions(-)
[PULL 0/5] i386 patches for QEMU 4.2-rc
Posted by Paolo Bonzini 4 years, 5 months ago
The following changes since commit 65e05c82bdc6d348155e301c9d87dba7a08a5701:

  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2019-11-25 15:47:44 +0000)

are available in the Git repository at:

  git://github.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to e37aa8b0e410e83b4e150e38e83e385169ba09a7:

  hvf: more accurately match SDM when setting CR0 and PDPTE registers (2019-11-26 09:58:37 +0100)

----------------------------------------------------------------
* VMX feature fix (myself)
* HVF fixes (Cameron)

----------------------------------------------------------------
Cameron Esfahani (4):
      hvf: non-RAM, non-ROMD memory ranges are now correctly mapped in
      hvf: remove TSC synchronization code because it isn't fully complete
      hvf: correctly handle REX prefix in relation to legacy prefixes
      hvf: more accurately match SDM when setting CR0 and PDPTE registers

Paolo Bonzini (1):
      target/i386: add two missing VMX features for Skylake and CascadeLake Server

 target/i386/cpu.c            |  6 +++--
 target/i386/hvf/hvf.c        | 61 +++++++++++++++++++++++++++++------------
 target/i386/hvf/vmx.h        | 18 +++++++------
 target/i386/hvf/x86_decode.c | 64 +++++++++++++++++++++++++-------------------
 target/i386/hvf/x86_decode.h | 20 +++++++-------
 target/i386/hvf/x86_emu.c    |  3 ---
 target/i386/hvf/x86hvf.c     |  4 ---
 7 files changed, 104 insertions(+), 72 deletions(-)
-- 
2.21.0


Re: [PULL 0/5] i386 patches for QEMU 4.2-rc
Posted by no-reply@patchew.org 4 years, 5 months ago
Patchew URL: https://patchew.org/QEMU/20191126085936.1689-1-pbonzini@redhat.com/



Hi,

This series failed the docker-quick@centos7 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-centos7 V=1 NETWORK=1
time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
=== TEST SCRIPT END ===

  TEST    check-unit: tests/test-thread-pool
wait_for_migration_fail: unexpected status status=wait-unplug allow_active=1
**
ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
make: *** [check-qtest-aarch64] Error 1
make: *** Waiting for unfinished jobs....
  TEST    check-unit: tests/test-hbitmap
  TEST    check-unit: tests/test-bdrv-drain
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=3d15e8368b3a42f39b429a8b4ae26f29', '-u', '1001', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-dduxk3b8/src/docker-src.2019-11-26-04.09.38.2015:/var/tmp/qemu:z,ro', 'qemu:centos7', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=3d15e8368b3a42f39b429a8b4ae26f29
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-dduxk3b8/src'
make: *** [docker-run-test-quick@centos7] Error 2

real    9m26.610s
user    0m8.328s


The full log is available at
http://patchew.org/logs/20191126085936.1689-1-pbonzini@redhat.com/testing.docker-quick@centos7/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [PULL 0/5] i386 patches for QEMU 4.2-rc
Posted by Philippe Mathieu-Daudé 4 years, 5 months ago
On 11/26/19 10:19 AM, no-reply@patchew.org wrote:
> Patchew URL: https://patchew.org/QEMU/20191126085936.1689-1-pbonzini@redhat.com/
> 
> This series failed the docker-quick@centos7 build test. Please find the testing commands and
> their output below. If you have Docker installed, you can probably reproduce it
> locally.
> 
> === TEST SCRIPT BEGIN ===
> #!/bin/bash
> make docker-image-centos7 V=1 NETWORK=1
> time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
> === TEST SCRIPT END ===
> 
>    TEST    check-unit: tests/test-thread-pool
> wait_for_migration_fail: unexpected status status=wait-unplug allow_active=1
> **
> ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
> ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
> make: *** [check-qtest-aarch64] Error 1

Should we worry about this error?

[...]
> real    9m26.610s
> user    0m8.328s
> 
> 
> The full log is available at
> http://patchew.org/logs/20191126085936.1689-1-pbonzini@redhat.com/testing.docker-quick@centos7/?type=message.


Re: [PULL 0/5] i386 patches for QEMU 4.2-rc
Posted by Paolo Bonzini 4 years, 5 months ago
Il mar 26 nov 2019, 23:04 Philippe Mathieu-Daudé <philmd@redhat.com> ha
scritto:

> On 11/26/19 10:19 AM, no-reply@patchew.org wrote:
> > Patchew URL:
> https://patchew.org/QEMU/20191126085936.1689-1-pbonzini@redhat.com/
> >
> > This series failed the docker-quick@centos7 build test. Please find the
> testing commands and
> > their output below. If you have Docker installed, you can probably
> reproduce it
> > locally.
> >
> > === TEST SCRIPT BEGIN ===
> > #!/bin/bash
> > make docker-image-centos7 V=1 NETWORK=1
> > time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
> > === TEST SCRIPT END ===
> >
> >    TEST    check-unit: tests/test-thread-pool
> > wait_for_migration_fail: unexpected status status=wait-unplug
> allow_active=1
> > **
> >
> ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail:
> assertion failed: (result)
> > ERROR - Bail out!
> ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail:
> assertion failed: (result)
> > make: *** [check-qtest-aarch64] Error 1
>
> Should we worry about this error?
>

Possibly, but seeing as this series only affect x86 (and really only macOS
except for the tweak to VMX features) it is certainly pre-existing.

Paolo

>
> [...]
> > real    9m26.610s
> > user    0m8.328s
> >
> >
> > The full log is available at
> >
> http://patchew.org/logs/20191126085936.1689-1-pbonzini@redhat.com/testing.docker-quick@centos7/?type=message
> .
>
>
Re: [PULL 0/5] i386 patches for QEMU 4.2-rc
Posted by Dr. David Alan Gilbert 4 years, 5 months ago
* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
> On 11/26/19 10:19 AM, no-reply@patchew.org wrote:
> > Patchew URL: https://patchew.org/QEMU/20191126085936.1689-1-pbonzini@redhat.com/
> > 
> > This series failed the docker-quick@centos7 build test. Please find the testing commands and
> > their output below. If you have Docker installed, you can probably reproduce it
> > locally.
> > 
> > === TEST SCRIPT BEGIN ===
> > #!/bin/bash
> > make docker-image-centos7 V=1 NETWORK=1
> > time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
> > === TEST SCRIPT END ===
> > 
> >    TEST    check-unit: tests/test-thread-pool
> > wait_for_migration_fail: unexpected status status=wait-unplug allow_active=1
> > **
> > ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
> > ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
> > make: *** [check-qtest-aarch64] Error 1
> 
> Should we worry about this error?

Interesting; that should be fixed by Jens'
284f42a520cd9f5905abac2fa50397423890de8f - unless fix dev_unplug_pending
is still lying;  it's showing we're still landing in 'wait-unplug' on
aarch, because it's got a virtio-net by default; even though we've not
got a failover device setup.  CCing Jens.

Dave

> [...]
> > real    9m26.610s
> > user    0m8.328s
> > 
> > 
> > The full log is available at
> > http://patchew.org/logs/20191126085936.1689-1-pbonzini@redhat.com/testing.docker-quick@centos7/?type=message.
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK


Re: [PULL 0/5] i386 patches for QEMU 4.2-rc
Posted by Jens Freimann 4 years, 5 months ago
On Wed, Nov 27, 2019 at 09:14:01AM +0000, Dr. David Alan Gilbert wrote:
>* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
>> On 11/26/19 10:19 AM, no-reply@patchew.org wrote:
>> > Patchew URL: https://patchew.org/QEMU/20191126085936.1689-1-pbonzini@redhat.com/
>> >
>> > This series failed the docker-quick@centos7 build test. Please find the testing commands and
>> > their output below. If you have Docker installed, you can probably reproduce it
>> > locally.
>> >
>> > === TEST SCRIPT BEGIN ===
>> > #!/bin/bash
>> > make docker-image-centos7 V=1 NETWORK=1
>> > time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
>> > === TEST SCRIPT END ===
>> >
>> >    TEST    check-unit: tests/test-thread-pool
>> > wait_for_migration_fail: unexpected status status=wait-unplug allow_active=1
>> > **
>> > ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
>> > ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
>> > make: *** [check-qtest-aarch64] Error 1
>>
>> Should we worry about this error?
>
>Interesting; that should be fixed by Jens'
>284f42a520cd9f5905abac2fa50397423890de8f - unless fix dev_unplug_pending
>is still lying;  it's showing we're still landing in 'wait-unplug' on
>aarch, because it's got a virtio-net by default; even though we've not
>got a failover device setup.  CCing Jens.

Hmm, I did test it. I'm looking into it.

regards
Jens


Re: [PULL 0/5] i386 patches for QEMU 4.2-rc
Posted by Jens Freimann 4 years, 5 months ago
On Wed, Nov 27, 2019 at 09:14:01AM +0000, Dr. David Alan Gilbert wrote:
>* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
>> On 11/26/19 10:19 AM, no-reply@patchew.org wrote:
>> > Patchew URL: https://patchew.org/QEMU/20191126085936.1689-1-pbonzini@redhat.com/
>> >
>> > This series failed the docker-quick@centos7 build test. Please find the testing commands and
>> > their output below. If you have Docker installed, you can probably reproduce it
>> > locally.
>> >
>> > === TEST SCRIPT BEGIN ===
>> > #!/bin/bash
>> > make docker-image-centos7 V=1 NETWORK=1
>> > time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
>> > === TEST SCRIPT END ===
>> >
>> >    TEST    check-unit: tests/test-thread-pool
>> > wait_for_migration_fail: unexpected status status=wait-unplug allow_active=1
>> > **
>> > ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
>> > ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/migration-test.c:908:wait_for_migration_fail: assertion failed: (result)
>> > make: *** [check-qtest-aarch64] Error 1
>>
>> Should we worry about this error?
>
>Interesting; that should be fixed by Jens'
>284f42a520cd9f5905abac2fa50397423890de8f - unless fix dev_unplug_pending
>is still lying;  it's showing we're still landing in 'wait-unplug' on
>aarch, because it's got a virtio-net by default; even though we've not
>got a failover device setup.  CCing Jens.

I've run this test  on aarch64 in a loop today for a few hours but could not
reproduce this error.

One bug I found is that in primary_unplug_device() I look at the
virtio guest feature bits instead of the negotiated bits. But I don't
think this could lead to the above problem because even if the check
for the feature bit fails, primary_unplug_pending would still return
false because no primary device was set and n->primary_dev is NULL. 

I'll keep the test running until I can reproduce it. 

regards
Jens


Re: [PULL 0/5] i386 patches for QEMU 4.2-rc
Posted by Peter Maydell 4 years, 5 months ago
On Tue, 26 Nov 2019 at 09:01, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 65e05c82bdc6d348155e301c9d87dba7a08a5701:
>
>   Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2019-11-25 15:47:44 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to e37aa8b0e410e83b4e150e38e83e385169ba09a7:
>
>   hvf: more accurately match SDM when setting CR0 and PDPTE registers (2019-11-26 09:58:37 +0100)
>
> ----------------------------------------------------------------
> * VMX feature fix (myself)
> * HVF fixes (Cameron)
>

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/4.2
for any user-visible changes.

-- PMM