[Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg

Michael S. Tsirkin posted 1 patch 6 years, 8 months ago
Failed in applying to current master (apply log)
tests/boot-serial-test.c | 2 +-
tests/pnv-xscom-test.c   | 4 ++--
tests/prom-env-test.c    | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
[Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Michael S. Tsirkin 6 years, 8 months ago
Speed up tests on host systems with kvm support.
In particular, this fixes tests with --disable-tcg.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Laurent Vivier <lvivier@redhat.com>
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---

Tested on x86 only.

 tests/boot-serial-test.c | 2 +-
 tests/pnv-xscom-test.c   | 4 ++--
 tests/prom-env-test.c    | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
index 11f48b0..c3b2e4e 100644
--- a/tests/boot-serial-test.c
+++ b/tests/boot-serial-test.c
@@ -78,7 +78,7 @@ static void test_machine(const void *data)
     fd = mkstemp(tmpname);
     g_assert(fd != -1);
 
-    args = g_strdup_printf("-M %s,accel=tcg -chardev file,id=serial0,path=%s"
+    args = g_strdup_printf("-M %s,accel=kvm:tcg -chardev file,id=serial0,path=%s"
                            " -no-shutdown -serial chardev:serial0 %s",
                            test->machine, tmpname, test->extra);
 
diff --git a/tests/pnv-xscom-test.c b/tests/pnv-xscom-test.c
index 5adc3fd..7be396f 100644
--- a/tests/pnv-xscom-test.c
+++ b/tests/pnv-xscom-test.c
@@ -84,7 +84,7 @@ static void test_cfam_id(const void *data)
     char *args;
     const PnvChip *chip = data;
 
-    args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
+    args = g_strdup_printf("-M powernv,accel=kvm:tcg -cpu %s", chip->cpu_model);
 
     qtest_start(args);
     test_xscom_cfam_id(chip);
@@ -112,7 +112,7 @@ static void test_core(const void *data)
     char *args;
     const PnvChip *chip = data;
 
-    args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
+    args = g_strdup_printf("-M powernv,accel=kvm:tcg -cpu %s", chip->cpu_model);
 
     qtest_start(args);
     test_xscom_core(chip);
diff --git a/tests/prom-env-test.c b/tests/prom-env-test.c
index eac207b..0a10f06 100644
--- a/tests/prom-env-test.c
+++ b/tests/prom-env-test.c
@@ -50,7 +50,7 @@ static void test_machine(const void *machine)
     /* The pseries firmware boots much faster without the default devices */
     extra_args = strcmp(machine, "pseries") == 0 ? "-nodefaults" : "";
 
-    args = g_strdup_printf("-M %s,accel=tcg %s -prom-env 'use-nvramrc?=true' "
+    args = g_strdup_printf("-M %s,accel=kvm:tcg %s -prom-env 'use-nvramrc?=true' "
                            "-prom-env 'nvramrc=%x %x l!' ",
                            (const char *)machine, extra_args, MAGIC, ADDRESS);
 
-- 
MST

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Cornelia Huck 6 years, 8 months ago
On Mon, 14 Aug 2017 17:34:15 +0300
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> Speed up tests on host systems with kvm support.
> In particular, this fixes tests with --disable-tcg.
> 
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Thomas Huth <thuth@redhat.com>
> Cc: Laurent Vivier <lvivier@redhat.com>
> Suggested-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> 
> Tested on x86 only.
> 
>  tests/boot-serial-test.c | 2 +-
>  tests/pnv-xscom-test.c   | 4 ++--
>  tests/prom-env-test.c    | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
> index 11f48b0..c3b2e4e 100644
> --- a/tests/boot-serial-test.c
> +++ b/tests/boot-serial-test.c
> @@ -78,7 +78,7 @@ static void test_machine(const void *data)
>      fd = mkstemp(tmpname);
>      g_assert(fd != -1);
>  
> -    args = g_strdup_printf("-M %s,accel=tcg -chardev file,id=serial0,path=%s"
> +    args = g_strdup_printf("-M %s,accel=kvm:tcg -chardev file,id=serial0,path=%s"
>                             " -no-shutdown -serial chardev:serial0 %s",
>                             test->machine, tmpname, test->extra);

This has already been changed upstream.

>  
> diff --git a/tests/pnv-xscom-test.c b/tests/pnv-xscom-test.c
> index 5adc3fd..7be396f 100644
> --- a/tests/pnv-xscom-test.c
> +++ b/tests/pnv-xscom-test.c
> @@ -84,7 +84,7 @@ static void test_cfam_id(const void *data)
>      char *args;
>      const PnvChip *chip = data;
>  
> -    args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
> +    args = g_strdup_printf("-M powernv,accel=kvm:tcg -cpu %s", chip->cpu_model);
>  
>      qtest_start(args);
>      test_xscom_cfam_id(chip);
> @@ -112,7 +112,7 @@ static void test_core(const void *data)
>      char *args;
>      const PnvChip *chip = data;
>  
> -    args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
> +    args = g_strdup_printf("-M powernv,accel=kvm:tcg -cpu %s", chip->cpu_model);
>  
>      qtest_start(args);
>      test_xscom_core(chip);

These seem to test a specified cpu model explicitly, so I'm not sure
how well this will work with kvm.

> diff --git a/tests/prom-env-test.c b/tests/prom-env-test.c
> index eac207b..0a10f06 100644
> --- a/tests/prom-env-test.c
> +++ b/tests/prom-env-test.c
> @@ -50,7 +50,7 @@ static void test_machine(const void *machine)
>      /* The pseries firmware boots much faster without the default devices */
>      extra_args = strcmp(machine, "pseries") == 0 ? "-nodefaults" : "";
>  
> -    args = g_strdup_printf("-M %s,accel=tcg %s -prom-env 'use-nvramrc?=true' "
> +    args = g_strdup_printf("-M %s,accel=kvm:tcg %s -prom-env 'use-nvramrc?=true' "
>                             "-prom-env 'nvramrc=%x %x l!' ",
>                             (const char *)machine, extra_args, MAGIC, ADDRESS);
>  

The header explicitly states that this is supposed to test tcg mode.

Thomas?

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Thomas Huth 6 years, 8 months ago
On 14.08.2017 17:33, Cornelia Huck wrote:
> On Mon, 14 Aug 2017 17:34:15 +0300
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
>> Speed up tests on host systems with kvm support.
>> In particular, this fixes tests with --disable-tcg.
[...]
>> diff --git a/tests/pnv-xscom-test.c b/tests/pnv-xscom-test.c
>> index 5adc3fd..7be396f 100644
>> --- a/tests/pnv-xscom-test.c
>> +++ b/tests/pnv-xscom-test.c
>> @@ -84,7 +84,7 @@ static void test_cfam_id(const void *data)
>>      char *args;
>>      const PnvChip *chip = data;
>>  
>> -    args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
>> +    args = g_strdup_printf("-M powernv,accel=kvm:tcg -cpu %s", chip->cpu_model);
>>  
>>      qtest_start(args);
>>      test_xscom_cfam_id(chip);
>> @@ -112,7 +112,7 @@ static void test_core(const void *data)
>>      char *args;
>>      const PnvChip *chip = data;
>>  
>> -    args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
>> +    args = g_strdup_printf("-M powernv,accel=kvm:tcg -cpu %s", chip->cpu_model);
>>  
>>      qtest_start(args);
>>      test_xscom_core(chip);
> 
> These seem to test a specified cpu model explicitly, so I'm not sure
> how well this will work with kvm.

AFAIK the powernv machine does not work with KVM yet (Cédric, can you
confirm?), so you better drop the changes to this file.

>> diff --git a/tests/prom-env-test.c b/tests/prom-env-test.c
>> index eac207b..0a10f06 100644
>> --- a/tests/prom-env-test.c
>> +++ b/tests/prom-env-test.c
>> @@ -50,7 +50,7 @@ static void test_machine(const void *machine)
>>      /* The pseries firmware boots much faster without the default devices */
>>      extra_args = strcmp(machine, "pseries") == 0 ? "-nodefaults" : "";
>>  
>> -    args = g_strdup_printf("-M %s,accel=tcg %s -prom-env 'use-nvramrc?=true' "
>> +    args = g_strdup_printf("-M %s,accel=kvm:tcg %s -prom-env 'use-nvramrc?=true' "
>>                             "-prom-env 'nvramrc=%x %x l!' ",
>>                             (const char *)machine, extra_args, MAGIC, ADDRESS);
> 
> The header explicitly states that this is supposed to test tcg mode.

This change should be OK here. But it is currently not necessary yet:
The test only runs on SPARC and PPC machines, and both do not support
the --disable-tcg switch yet.

 Thomas

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Cédric Le Goater 6 years, 8 months ago
On 08/14/2017 05:47 PM, Thomas Huth wrote:
> On 14.08.2017 17:33, Cornelia Huck wrote:
>> On Mon, 14 Aug 2017 17:34:15 +0300
>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>
>>> Speed up tests on host systems with kvm support.
>>> In particular, this fixes tests with --disable-tcg.
> [...]
>>> diff --git a/tests/pnv-xscom-test.c b/tests/pnv-xscom-test.c
>>> index 5adc3fd..7be396f 100644
>>> --- a/tests/pnv-xscom-test.c
>>> +++ b/tests/pnv-xscom-test.c
>>> @@ -84,7 +84,7 @@ static void test_cfam_id(const void *data)
>>>      char *args;
>>>      const PnvChip *chip = data;
>>>  
>>> -    args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
>>> +    args = g_strdup_printf("-M powernv,accel=kvm:tcg -cpu %s", chip->cpu_model);
>>>  
>>>      qtest_start(args);
>>>      test_xscom_cfam_id(chip);
>>> @@ -112,7 +112,7 @@ static void test_core(const void *data)
>>>      char *args;
>>>      const PnvChip *chip = data;
>>>  
>>> -    args = g_strdup_printf("-M powernv,accel=tcg -cpu %s", chip->cpu_model);
>>> +    args = g_strdup_printf("-M powernv,accel=kvm:tcg -cpu %s", chip->cpu_model);
>>>  
>>>      qtest_start(args);
>>>      test_xscom_core(chip);
>>
>> These seem to test a specified cpu model explicitly, so I'm not sure
>> how well this will work with kvm.
> 
> AFAIK the powernv machine does not work with KVM yet (Cédric, can you
> confirm?), so you better drop the changes to this file.

No. the powernv machine does not work with KVM.

C.

>>> diff --git a/tests/prom-env-test.c b/tests/prom-env-test.c
>>> index eac207b..0a10f06 100644
>>> --- a/tests/prom-env-test.c
>>> +++ b/tests/prom-env-test.c
>>> @@ -50,7 +50,7 @@ static void test_machine(const void *machine)
>>>      /* The pseries firmware boots much faster without the default devices */
>>>      extra_args = strcmp(machine, "pseries") == 0 ? "-nodefaults" : "";
>>>  
>>> -    args = g_strdup_printf("-M %s,accel=tcg %s -prom-env 'use-nvramrc?=true' "
>>> +    args = g_strdup_printf("-M %s,accel=kvm:tcg %s -prom-env 'use-nvramrc?=true' "
>>>                             "-prom-env 'nvramrc=%x %x l!' ",
>>>                             (const char *)machine, extra_args, MAGIC, ADDRESS);
>>
>> The header explicitly states that this is supposed to test tcg mode.
> 
> This change should be OK here. But it is currently not necessary yet:
> The test only runs on SPARC and PPC machines, and both do not support
> the --disable-tcg switch yet.
> 
>  Thomas
> 


Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Richard Henderson 6 years, 8 months ago
On 08/14/2017 08:33 AM, Cornelia Huck wrote:
> On Mon, 14 Aug 2017 17:34:15 +0300
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
>> Speed up tests on host systems with kvm support.
>> In particular, this fixes tests with --disable-tcg.
>>
>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>> Cc: Thomas Huth <thuth@redhat.com>
>> Cc: Laurent Vivier <lvivier@redhat.com>
>> Suggested-by: Cornelia Huck <cohuck@redhat.com>
>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>> ---
>>
>> Tested on x86 only.
>>
>>  tests/boot-serial-test.c | 2 +-
>>  tests/pnv-xscom-test.c   | 4 ++--
>>  tests/prom-env-test.c    | 2 +-
>>  3 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
>> index 11f48b0..c3b2e4e 100644
>> --- a/tests/boot-serial-test.c
>> +++ b/tests/boot-serial-test.c
>> @@ -78,7 +78,7 @@ static void test_machine(const void *data)
>>      fd = mkstemp(tmpname);
>>      g_assert(fd != -1);
>>  
>> -    args = g_strdup_printf("-M %s,accel=tcg -chardev file,id=serial0,path=%s"
>> +    args = g_strdup_printf("-M %s,accel=kvm:tcg -chardev file,id=serial0,path=%s"
>>                             " -no-shutdown -serial chardev:serial0 %s",
>>                             test->machine, tmpname, test->extra);
> 
> This has already been changed upstream.

Ouch.  This is the only real smoke test we have for the tcg backend for the
host.  While it is still going to test tcg for whatever machines do not run
natively on the host, I can't help think we've lost testing.

Can we use accel=tcg:kvm instead?


r~

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Michael S. Tsirkin 6 years, 8 months ago
On Tue, Aug 15, 2017 at 08:47:35AM -0700, Richard Henderson wrote:
> On 08/14/2017 08:33 AM, Cornelia Huck wrote:
> > On Mon, 14 Aug 2017 17:34:15 +0300
> > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > 
> >> Speed up tests on host systems with kvm support.
> >> In particular, this fixes tests with --disable-tcg.
> >>
> >> Cc: Paolo Bonzini <pbonzini@redhat.com>
> >> Cc: Thomas Huth <thuth@redhat.com>
> >> Cc: Laurent Vivier <lvivier@redhat.com>
> >> Suggested-by: Cornelia Huck <cohuck@redhat.com>
> >> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >> ---
> >>
> >> Tested on x86 only.
> >>
> >>  tests/boot-serial-test.c | 2 +-
> >>  tests/pnv-xscom-test.c   | 4 ++--
> >>  tests/prom-env-test.c    | 2 +-
> >>  3 files changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
> >> index 11f48b0..c3b2e4e 100644
> >> --- a/tests/boot-serial-test.c
> >> +++ b/tests/boot-serial-test.c
> >> @@ -78,7 +78,7 @@ static void test_machine(const void *data)
> >>      fd = mkstemp(tmpname);
> >>      g_assert(fd != -1);
> >>  
> >> -    args = g_strdup_printf("-M %s,accel=tcg -chardev file,id=serial0,path=%s"
> >> +    args = g_strdup_printf("-M %s,accel=kvm:tcg -chardev file,id=serial0,path=%s"
> >>                             " -no-shutdown -serial chardev:serial0 %s",
> >>                             test->machine, tmpname, test->extra);
> > 
> > This has already been changed upstream.
> 
> Ouch.  This is the only real smoke test we have for the tcg backend for the
> host.  While it is still going to test tcg for whatever machines do not run
> natively on the host, I can't help think we've lost testing.
> 
> Can we use accel=tcg:kvm instead?
> 
> 
> r~

We can add an environment to disable kvm on qemu side,
for e.g. CI systems who have spare time.

-- 
MST

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Richard Henderson 6 years, 8 months ago
On 08/15/2017 12:28 PM, Michael S. Tsirkin wrote:
>> Ouch.  This is the only real smoke test we have for the tcg backend for the
>> host.  While it is still going to test tcg for whatever machines do not run
>> natively on the host, I can't help think we've lost testing.
>>
>> Can we use accel=tcg:kvm instead?
>>
>>
>> r~
> 
> We can add an environment to disable kvm on qemu side,
> for e.g. CI systems who have spare time.

Hum.  I'm not especially keen on an environment variable that wouldn't be
useful for anything else.  I'd much rather adjust the test case so that plain
"make check" tests all that we need to test.


r~

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Thomas Huth 6 years, 8 months ago
On 15.08.2017 17:47, Richard Henderson wrote:
> On 08/14/2017 08:33 AM, Cornelia Huck wrote:
>> On Mon, 14 Aug 2017 17:34:15 +0300
>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>
>>> Speed up tests on host systems with kvm support.
>>> In particular, this fixes tests with --disable-tcg.
>>>
>>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>>> Cc: Thomas Huth <thuth@redhat.com>
>>> Cc: Laurent Vivier <lvivier@redhat.com>
>>> Suggested-by: Cornelia Huck <cohuck@redhat.com>
>>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>>> ---
>>>
>>> Tested on x86 only.
>>>
>>>  tests/boot-serial-test.c | 2 +-
>>>  tests/pnv-xscom-test.c   | 4 ++--
>>>  tests/prom-env-test.c    | 2 +-
>>>  3 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
>>> index 11f48b0..c3b2e4e 100644
>>> --- a/tests/boot-serial-test.c
>>> +++ b/tests/boot-serial-test.c
>>> @@ -78,7 +78,7 @@ static void test_machine(const void *data)
>>>      fd = mkstemp(tmpname);
>>>      g_assert(fd != -1);
>>>  
>>> -    args = g_strdup_printf("-M %s,accel=tcg -chardev file,id=serial0,path=%s"
>>> +    args = g_strdup_printf("-M %s,accel=kvm:tcg -chardev file,id=serial0,path=%s"
>>>                             " -no-shutdown -serial chardev:serial0 %s",
>>>                             test->machine, tmpname, test->extra);
>>
>> This has already been changed upstream.
> 
> Ouch.  This is the only real smoke test we have for the tcg backend for the
> host.  While it is still going to test tcg for whatever machines do not run
> natively on the host, I can't help think we've lost testing.

Ah, well, I didn't think of that when I suggested to use "kvm:tcg"
here... I rather thought that kvm would be preferable to speed up the
test. But since the test is already quite fast anyway, it's likely also
OK to use "tcg:kvm" here. (But we should keep "kvm:tcg" in the pxe-test
since that is quite slow with TCG, at least on ppc64).

 Thomas

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Cornelia Huck 6 years, 8 months ago
On Tue, 15 Aug 2017 21:49:16 +0200
Thomas Huth <thuth@redhat.com> wrote:

> On 15.08.2017 17:47, Richard Henderson wrote:
> > On 08/14/2017 08:33 AM, Cornelia Huck wrote:  
> >> On Mon, 14 Aug 2017 17:34:15 +0300
> >> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >>  
> >>> Speed up tests on host systems with kvm support.
> >>> In particular, this fixes tests with --disable-tcg.
> >>>
> >>> Cc: Paolo Bonzini <pbonzini@redhat.com>
> >>> Cc: Thomas Huth <thuth@redhat.com>
> >>> Cc: Laurent Vivier <lvivier@redhat.com>
> >>> Suggested-by: Cornelia Huck <cohuck@redhat.com>
> >>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >>> ---
> >>>
> >>> Tested on x86 only.
> >>>
> >>>  tests/boot-serial-test.c | 2 +-
> >>>  tests/pnv-xscom-test.c   | 4 ++--
> >>>  tests/prom-env-test.c    | 2 +-
> >>>  3 files changed, 4 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
> >>> index 11f48b0..c3b2e4e 100644
> >>> --- a/tests/boot-serial-test.c
> >>> +++ b/tests/boot-serial-test.c
> >>> @@ -78,7 +78,7 @@ static void test_machine(const void *data)
> >>>      fd = mkstemp(tmpname);
> >>>      g_assert(fd != -1);
> >>>  
> >>> -    args = g_strdup_printf("-M %s,accel=tcg -chardev file,id=serial0,path=%s"
> >>> +    args = g_strdup_printf("-M %s,accel=kvm:tcg -chardev file,id=serial0,path=%s"
> >>>                             " -no-shutdown -serial chardev:serial0 %s",
> >>>                             test->machine, tmpname, test->extra);  
> >>
> >> This has already been changed upstream.  
> > 
> > Ouch.  This is the only real smoke test we have for the tcg backend for the
> > host.  While it is still going to test tcg for whatever machines do not run
> > natively on the host, I can't help think we've lost testing.  
> 
> Ah, well, I didn't think of that when I suggested to use "kvm:tcg"
> here... I rather thought that kvm would be preferable to speed up the
> test. But since the test is already quite fast anyway, it's likely also
> OK to use "tcg:kvm" here. (But we should keep "kvm:tcg" in the pxe-test
> since that is quite slow with TCG, at least on ppc64).

That all means to me that we need more documentation, at least some
comments.

Will there be a -rc4? I can send a patch that reverses the accelerators
and adds a comment today.

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Philippe Mathieu-Daudé 6 years, 8 months ago
On 08/15/2017 12:47 PM, Richard Henderson wrote:
> On 08/14/2017 08:33 AM, Cornelia Huck wrote:
>> On Mon, 14 Aug 2017 17:34:15 +0300
>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>
>>> Speed up tests on host systems with kvm support.
>>> In particular, this fixes tests with --disable-tcg.
>>>
>>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>>> Cc: Thomas Huth <thuth@redhat.com>
>>> Cc: Laurent Vivier <lvivier@redhat.com>
>>> Suggested-by: Cornelia Huck <cohuck@redhat.com>
>>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>>> ---
>>>
>>> Tested on x86 only.
>>>
>>>   tests/boot-serial-test.c | 2 +-
>>>   tests/pnv-xscom-test.c   | 4 ++--
>>>   tests/prom-env-test.c    | 2 +-
>>>   3 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
>>> index 11f48b0..c3b2e4e 100644
>>> --- a/tests/boot-serial-test.c
>>> +++ b/tests/boot-serial-test.c
>>> @@ -78,7 +78,7 @@ static void test_machine(const void *data)
>>>       fd = mkstemp(tmpname);
>>>       g_assert(fd != -1);
>>>   
>>> -    args = g_strdup_printf("-M %s,accel=tcg -chardev file,id=serial0,path=%s"
>>> +    args = g_strdup_printf("-M %s,accel=kvm:tcg -chardev file,id=serial0,path=%s"
>>>                              " -no-shutdown -serial chardev:serial0 %s",
>>>                              test->machine, tmpname, test->extra);
>>
>> This has already been changed upstream.
> 
> Ouch.  This is the only real smoke test we have for the tcg backend for the
> host.  While it is still going to test tcg for whatever machines do not run
> natively on the host, I can't help think we've lost testing.
> 
> Can we use accel=tcg:kvm instead?

can we use the following in this test main()?

/* This test is fast fast enough to use to test the host TCG backend,
  * so use "tcg" as default accel if available. */
#ifdef CONFIG_TCG
static const char *accel = "tcg";
#else
static const char *accel = "kvm";
#endif

> 
> 
> r~
> 

Re: [Qemu-devel] [PATCH] tests: switch tests to accel=kvm:tcg
Posted by Cornelia Huck 6 years, 8 months ago
On Tue, 15 Aug 2017 17:04:35 -0300
Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:

> On 08/15/2017 12:47 PM, Richard Henderson wrote:
> > On 08/14/2017 08:33 AM, Cornelia Huck wrote:  
> >> On Mon, 14 Aug 2017 17:34:15 +0300
> >> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >>  
> >>> Speed up tests on host systems with kvm support.
> >>> In particular, this fixes tests with --disable-tcg.
> >>>
> >>> Cc: Paolo Bonzini <pbonzini@redhat.com>
> >>> Cc: Thomas Huth <thuth@redhat.com>
> >>> Cc: Laurent Vivier <lvivier@redhat.com>
> >>> Suggested-by: Cornelia Huck <cohuck@redhat.com>
> >>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >>> ---
> >>>
> >>> Tested on x86 only.
> >>>
> >>>   tests/boot-serial-test.c | 2 +-
> >>>   tests/pnv-xscom-test.c   | 4 ++--
> >>>   tests/prom-env-test.c    | 2 +-
> >>>   3 files changed, 4 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c
> >>> index 11f48b0..c3b2e4e 100644
> >>> --- a/tests/boot-serial-test.c
> >>> +++ b/tests/boot-serial-test.c
> >>> @@ -78,7 +78,7 @@ static void test_machine(const void *data)
> >>>       fd = mkstemp(tmpname);
> >>>       g_assert(fd != -1);
> >>>   
> >>> -    args = g_strdup_printf("-M %s,accel=tcg -chardev file,id=serial0,path=%s"
> >>> +    args = g_strdup_printf("-M %s,accel=kvm:tcg -chardev file,id=serial0,path=%s"
> >>>                              " -no-shutdown -serial chardev:serial0 %s",
> >>>                              test->machine, tmpname, test->extra);  
> >>
> >> This has already been changed upstream.  
> > 
> > Ouch.  This is the only real smoke test we have for the tcg backend for the
> > host.  While it is still going to test tcg for whatever machines do not run
> > natively on the host, I can't help think we've lost testing.
> > 
> > Can we use accel=tcg:kvm instead?  
> 
> can we use the following in this test main()?
> 
> /* This test is fast fast enough to use to test the host TCG backend,
>   * so use "tcg" as default accel if available. */
> #ifdef CONFIG_TCG
> static const char *accel = "tcg";
> #else
> static const char *accel = "kvm";
> #endif

accel=tcg:kvm should already have the same effect, no?

(But adding a comment may be a good idea.)