diff mbox

scripts/device-crash-test: vmcoreinfo in error_whitelist for ppc64

Message ID 20171027181740.32165-1-danielhb@linux.vnet.ibm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Henrique Barboza Oct. 27, 2017, 6:17 p.m. UTC
The device vmcoreinfo depends on the fw_cfg device to work, a device
that isn't available in most ppc64 machines. This makes device-crash-test
spams the following error when running with qemu-system-ppc64:

"INFO: log: qemu-system-ppc64: -device vmcoreinfo: vmcoreinfo device
requires fw_cfg with DMA"

To fix it, this patch adds the following ppc64 machines into the
error_whitelist for the vmcoreinfo device:

- pseries.*
- 40p
- bamboo
- g3beige
- mac99
- mpc8544ds
- powernv
- ppce500
- prep
- virtex-ml507

After this patch, the only ppc64 machine that reports error on the
vmcoreinfo device is the 'none' type.

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
---
 scripts/device-crash-test | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Marc-André Lureau Nov. 3, 2017, 11:49 a.m. UTC | #1
Hi Daniel

On Fri, Oct 27, 2017 at 8:17 PM, Daniel Henrique Barboza
<danielhb@linux.vnet.ibm.com> wrote:
> The device vmcoreinfo depends on the fw_cfg device to work, a device
> that isn't available in most ppc64 machines. This makes device-crash-test
> spams the following error when running with qemu-system-ppc64:
>
> "INFO: log: qemu-system-ppc64: -device vmcoreinfo: vmcoreinfo device
> requires fw_cfg with DMA"
>
> To fix it, this patch adds the following ppc64 machines into the
> error_whitelist for the vmcoreinfo device:
>
> - pseries.*
> - 40p
> - bamboo
> - g3beige
> - mac99
> - mpc8544ds
> - powernv
> - ppce500
> - prep
> - virtex-ml507
>
> After this patch, the only ppc64 machine that reports error on the
> vmcoreinfo device is the 'none' type.
>
> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
> ---
>  scripts/device-crash-test | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/scripts/device-crash-test b/scripts/device-crash-test
> index 043b24a4aa..fb8a43d679 100755
> --- a/scripts/device-crash-test
> +++ b/scripts/device-crash-test
> @@ -163,6 +163,18 @@ ERROR_WHITELIST = [
>      # "spapr-cpu-core needs a pseries machine"
>      {'machine':'(?!pseries).*', 'device':'.*-spapr-cpu-core', 'expected':True},
>
> +    # vmcoreinfo requires a fw_cfg device and will fail in these ppc64 machines
> +    {'machine':'pseries.*', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'40p', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'bamboo', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'g3beige', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'mac99', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'mpc8544ds', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'powernv', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'ppce500', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'prep', 'device':'vmcoreinfo', 'expected':True},
> +    {'machine':'virtex-ml507', 'device':'vmcoreinfo', 'expected':True},

You could try to make it fit on one line with
r"(pseries.*|40p|bamboo|...)". Declaring a ppc64_machines before would
probably help too.

Any idea for an alternative vmcoreinfo device approach on ppc64?

> +
>      # KVM-specific devices shouldn't be tried without accel=kvm:
>      {'accel':'(?!kvm).*', 'device':'kvmclock', 'expected':True},
>      {'accel':'(?!kvm).*', 'device':'kvm-pci-assign', 'expected':True},
> --
> 2.13.6
>
>
Thomas Huth Nov. 3, 2017, 12:01 p.m. UTC | #2
On 03.11.2017 12:49, Marc-André Lureau wrote:
> Hi Daniel
> 
> On Fri, Oct 27, 2017 at 8:17 PM, Daniel Henrique Barboza
> <danielhb@linux.vnet.ibm.com> wrote:
>> The device vmcoreinfo depends on the fw_cfg device to work, a device
>> that isn't available in most ppc64 machines. This makes device-crash-test
>> spams the following error when running with qemu-system-ppc64:
>>
>> "INFO: log: qemu-system-ppc64: -device vmcoreinfo: vmcoreinfo device
>> requires fw_cfg with DMA"
>>
>> To fix it, this patch adds the following ppc64 machines into the
>> error_whitelist for the vmcoreinfo device:
>>
>> - pseries.*
>> - 40p
>> - bamboo
>> - g3beige
>> - mac99
>> - mpc8544ds
>> - powernv
>> - ppce500
>> - prep
>> - virtex-ml507
>>
>> After this patch, the only ppc64 machine that reports error on the
>> vmcoreinfo device is the 'none' type.
>>
>> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
>> ---
>>  scripts/device-crash-test | 12 ++++++++++++
>>  1 file changed, 12 insertions(+)
>>
>> diff --git a/scripts/device-crash-test b/scripts/device-crash-test
>> index 043b24a4aa..fb8a43d679 100755
>> --- a/scripts/device-crash-test
>> +++ b/scripts/device-crash-test
>> @@ -163,6 +163,18 @@ ERROR_WHITELIST = [
>>      # "spapr-cpu-core needs a pseries machine"
>>      {'machine':'(?!pseries).*', 'device':'.*-spapr-cpu-core', 'expected':True},
>>
>> +    # vmcoreinfo requires a fw_cfg device and will fail in these ppc64 machines
>> +    {'machine':'pseries.*', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'40p', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'bamboo', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'g3beige', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'mac99', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'mpc8544ds', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'powernv', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'ppce500', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'prep', 'device':'vmcoreinfo', 'expected':True},
>> +    {'machine':'virtex-ml507', 'device':'vmcoreinfo', 'expected':True},
> 
> You could try to make it fit on one line with
> r"(pseries.*|40p|bamboo|...)". Declaring a ppc64_machines before would
> probably help too.
> 
> Any idea for an alternative vmcoreinfo device approach on ppc64?

It's not only about ppc64 - this problem exists also on most other
targets, e.g.:

$ m68k-softmmu/qemu-system-m68k -M none -device vmcoreinfo
qemu-system-m68k: -device vmcoreinfo: vmcoreinfo device requires fw_cfg
with DMA

So for the device-crash-test script, I think it would make more sense to
add a generic, machine-independent entry for this.

Additionally, I think it's also a bad idea to blindly add this
vmcoreinfo device to all targets! We should only add it to the targets
that actually feature the fw_cfg device with DMA, so we need a proper
CONFIG_xxx switch for this. Marc-André or Daniel, do you have time to
work on such a patch? Otherwise, I can have a look at this, too.

 Thomas
Marc-André Lureau Nov. 3, 2017, 12:30 p.m. UTC | #3
Hi Thomas

On Fri, Nov 3, 2017 at 1:01 PM, Thomas Huth <thuth@redhat.com> wrote:
> On 03.11.2017 12:49, Marc-André Lureau wrote:
>> Hi Daniel
>>
>> On Fri, Oct 27, 2017 at 8:17 PM, Daniel Henrique Barboza
>> <danielhb@linux.vnet.ibm.com> wrote:
>>> The device vmcoreinfo depends on the fw_cfg device to work, a device
>>> that isn't available in most ppc64 machines. This makes device-crash-test
>>> spams the following error when running with qemu-system-ppc64:
>>>
>>> "INFO: log: qemu-system-ppc64: -device vmcoreinfo: vmcoreinfo device
>>> requires fw_cfg with DMA"
>>>
>>> To fix it, this patch adds the following ppc64 machines into the
>>> error_whitelist for the vmcoreinfo device:
>>>
>>> - pseries.*
>>> - 40p
>>> - bamboo
>>> - g3beige
>>> - mac99
>>> - mpc8544ds
>>> - powernv
>>> - ppce500
>>> - prep
>>> - virtex-ml507
>>>
>>> After this patch, the only ppc64 machine that reports error on the
>>> vmcoreinfo device is the 'none' type.
>>>
>>> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
>>> ---
>>>  scripts/device-crash-test | 12 ++++++++++++
>>>  1 file changed, 12 insertions(+)
>>>
>>> diff --git a/scripts/device-crash-test b/scripts/device-crash-test
>>> index 043b24a4aa..fb8a43d679 100755
>>> --- a/scripts/device-crash-test
>>> +++ b/scripts/device-crash-test
>>> @@ -163,6 +163,18 @@ ERROR_WHITELIST = [
>>>      # "spapr-cpu-core needs a pseries machine"
>>>      {'machine':'(?!pseries).*', 'device':'.*-spapr-cpu-core', 'expected':True},
>>>
>>> +    # vmcoreinfo requires a fw_cfg device and will fail in these ppc64 machines
>>> +    {'machine':'pseries.*', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'40p', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'bamboo', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'g3beige', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'mac99', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'mpc8544ds', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'powernv', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'ppce500', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'prep', 'device':'vmcoreinfo', 'expected':True},
>>> +    {'machine':'virtex-ml507', 'device':'vmcoreinfo', 'expected':True},
>>
>> You could try to make it fit on one line with
>> r"(pseries.*|40p|bamboo|...)". Declaring a ppc64_machines before would
>> probably help too.
>>
>> Any idea for an alternative vmcoreinfo device approach on ppc64?
>
> It's not only about ppc64 - this problem exists also on most other
> targets, e.g.:
>
> $ m68k-softmmu/qemu-system-m68k -M none -device vmcoreinfo
> qemu-system-m68k: -device vmcoreinfo: vmcoreinfo device requires fw_cfg
> with DMA
>
> So for the device-crash-test script, I think it would make more sense to
> add a generic, machine-independent entry for this.
>
> Additionally, I think it's also a bad idea to blindly add this
> vmcoreinfo device to all targets! We should only add it to the targets
> that actually feature the fw_cfg device with DMA, so we need a proper
> CONFIG_xxx switch for this. Marc-André or Daniel, do you have time to
> work on such a patch? Otherwise, I can have a look at this, too.

Ah the DMA interface is only available on x86 & arm virt apparently. I
thought it would be more widely available.

I can add a CONFIG_FW_CFG_DMA, set by x86)64-softmuu & arm-softmmu,
and make vmcoreinfo depend on it. Would that be good enough?
Thomas Huth Nov. 3, 2017, 12:52 p.m. UTC | #4
On 03.11.2017 13:30, Marc-André Lureau wrote:
> Hi Thomas
> 
> On Fri, Nov 3, 2017 at 1:01 PM, Thomas Huth <thuth@redhat.com> wrote:
>> On 03.11.2017 12:49, Marc-André Lureau wrote:
>>> Hi Daniel
>>>
>>> On Fri, Oct 27, 2017 at 8:17 PM, Daniel Henrique Barboza
>>> <danielhb@linux.vnet.ibm.com> wrote:
>>>> The device vmcoreinfo depends on the fw_cfg device to work, a device
>>>> that isn't available in most ppc64 machines. This makes device-crash-test
>>>> spams the following error when running with qemu-system-ppc64:
>>>>
>>>> "INFO: log: qemu-system-ppc64: -device vmcoreinfo: vmcoreinfo device
>>>> requires fw_cfg with DMA"
[...]
>> It's not only about ppc64 - this problem exists also on most other
>> targets, e.g.:
>>
>> $ m68k-softmmu/qemu-system-m68k -M none -device vmcoreinfo
>> qemu-system-m68k: -device vmcoreinfo: vmcoreinfo device requires fw_cfg
>> with DMA
>>
>> So for the device-crash-test script, I think it would make more sense to
>> add a generic, machine-independent entry for this.
>>
>> Additionally, I think it's also a bad idea to blindly add this
>> vmcoreinfo device to all targets! We should only add it to the targets
>> that actually feature the fw_cfg device with DMA, so we need a proper
>> CONFIG_xxx switch for this. Marc-André or Daniel, do you have time to
>> work on such a patch? Otherwise, I can have a look at this, too.
> 
> Ah the DMA interface is only available on x86 & arm virt apparently. I
> thought it would be more widely available.
> 
> I can add a CONFIG_FW_CFG_DMA, set by x86)64-softmuu & arm-softmmu,
> and make vmcoreinfo depend on it. Would that be good enough?

Yes, that sounds good to me!

 Thanks,
  Thomas
Daniel Henrique Barboza Nov. 3, 2017, 1:16 p.m. UTC | #5
On 11/03/2017 10:52 AM, Thomas Huth wrote:
> On 03.11.2017 13:30, Marc-André Lureau wrote:
>> Hi Thomas
>>
>> On Fri, Nov 3, 2017 at 1:01 PM, Thomas Huth <thuth@redhat.com> wrote:
>>> On 03.11.2017 12:49, Marc-André Lureau wrote:
>>>> Hi Daniel
>>>>
>>>> On Fri, Oct 27, 2017 at 8:17 PM, Daniel Henrique Barboza
>>>> <danielhb@linux.vnet.ibm.com> wrote:
>>>>> The device vmcoreinfo depends on the fw_cfg device to work, a device
>>>>> that isn't available in most ppc64 machines. This makes device-crash-test
>>>>> spams the following error when running with qemu-system-ppc64:
>>>>>
>>>>> "INFO: log: qemu-system-ppc64: -device vmcoreinfo: vmcoreinfo device
>>>>> requires fw_cfg with DMA"
> [...]
>>> It's not only about ppc64 - this problem exists also on most other
>>> targets, e.g.:
>>>
>>> $ m68k-softmmu/qemu-system-m68k -M none -device vmcoreinfo
>>> qemu-system-m68k: -device vmcoreinfo: vmcoreinfo device requires fw_cfg
>>> with DMA
>>>
>>> So for the device-crash-test script, I think it would make more sense to
>>> add a generic, machine-independent entry for this.
>>>
>>> Additionally, I think it's also a bad idea to blindly add this
>>> vmcoreinfo device to all targets! We should only add it to the targets
>>> that actually feature the fw_cfg device with DMA, so we need a proper
>>> CONFIG_xxx switch for this. Marc-André or Daniel, do you have time to
>>> work on such a patch? Otherwise, I can have a look at this, too.
>> Ah the DMA interface is only available on x86 & arm virt apparently. I
>> thought it would be more widely available.
>>
>> I can add a CONFIG_FW_CFG_DMA, set by x86)64-softmuu & arm-softmmu,
>> and make vmcoreinfo depend on it. Would that be good enough?

There are some ppc64-softmmu machines that have support for the -fw_cfg
device, although I am not sure if in those cases the device has a DMA
interface:

-machine 40p
-machine g3beige
-machine mac99


Just a FYI.



Thanks,


Daniel

> Yes, that sounds good to me!
>
>   Thanks,
>    Thomas
>
diff mbox

Patch

diff --git a/scripts/device-crash-test b/scripts/device-crash-test
index 043b24a4aa..fb8a43d679 100755
--- a/scripts/device-crash-test
+++ b/scripts/device-crash-test
@@ -163,6 +163,18 @@  ERROR_WHITELIST = [
     # "spapr-cpu-core needs a pseries machine"
     {'machine':'(?!pseries).*', 'device':'.*-spapr-cpu-core', 'expected':True},
 
+    # vmcoreinfo requires a fw_cfg device and will fail in these ppc64 machines
+    {'machine':'pseries.*', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'40p', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'bamboo', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'g3beige', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'mac99', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'mpc8544ds', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'powernv', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'ppce500', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'prep', 'device':'vmcoreinfo', 'expected':True},
+    {'machine':'virtex-ml507', 'device':'vmcoreinfo', 'expected':True},
+
     # KVM-specific devices shouldn't be tried without accel=kvm:
     {'accel':'(?!kvm).*', 'device':'kvmclock', 'expected':True},
     {'accel':'(?!kvm).*', 'device':'kvm-pci-assign', 'expected':True},