Conflicting parameters on qemu call
Jan Walzer
jwalzer at redhat.com
Fri Aug 21 13:42:23 UTC 2020
On 21. Aug 2020, at 13:55, Daniel P. Berrangé <berrange at redhat.com> wrote:
> On Fri, Aug 21, 2020 at 01:38:23PM +0200, Jan Walzer wrote:
>> On 21. Aug 2020, at 11:20, Daniel P. Berrangé <berrange at redhat.com> wrote:
>>> On Fri, Aug 21, 2020 at 11:19:14AM +0200, Jan Walzer wrote:
>>>> Hi Daniel,
>>>>> On 21. Aug 2020, at 11:07, Daniel P. Berrangé <berrange at redhat.com> wrote:
>>>>> On Fri, Aug 21, 2020 at 11:00:27AM +0200, Jan Walzer wrote:
>>>>>> On 21. Aug 2020, at 10:38, Daniel P. Berrangé <berrange at redhat.com> wrote:
>>>>>>> On Thu, Aug 20, 2020 at 08:11:30PM +0200, Jan Walzer wrote:
>>>>>>>> Hi Lists,
>>>>>>>>
>>>>>>>> I currently have the issue of wanting to use emu-system-x86_64 on a ppc64le platform.
>>>>>>>>
>>>>>>>> It is imperative to pass the "-accel tcg,thread=multi” parameter to qemu
>>>>>>>> when starting an instance, as without that, it will only use one thread
>>>>>>>> and hence of limited/no use.
>>>>>>>>
>>>>>>>> The problem is, that libvirt itself, passes “-machine q35,accel=tcg” to
>>>>>>>> qemu, which is a different parameter, that conflicts with the other one.
>>>>>>>>
>>>>>>>> Can we discuss, if I either have overlooked something, or is there a workaround, or is this a bug?
>>>>>>>
>>>>>>> What you're trying todo is intentionally not available.
>>>>>>>
>>>>>>> The memory ordering constraints needed for running x86_64 guests on ppc64
>>>>>>> hosts cannot be satisfied, so multi-threaded TCG is not available.
>>>>>>>
>>>>>>> For any guest/host combination where multi-thread TCG is safe to use, QEMU
>>>>>>> will enable it automatically, so nothing is required in libvirt.
>>>>>>
>>>>>>
>>>>>> Hi Daniel,
>>>>>> Thanks for the answer. I’ve read (and understand) the warnings and their implications.
>>>>>>
>>>>>> So there’s not even an “I know what I’m Doing”-Switch?
>>>>>
>>>>> […]
>>>>> <qemu:commandline>
>>>>> <qemu:arg value='-accel'/>
>>>>> <qemu:arg value='tcg,thread=multi'/>
>>>>> </qemu:commandline>
>>>>
>>>> As I wrote: This is what I’m already doing
>>>> The Problem is that this conflicts with, libvirt already using the parameter: “-machine ..,accel=tcg”
>>>> And I can’t get libvirt, to stop passing this parameter.
>>>
>>> It shouldn't matter. QEMU should aggregate the settings from the
>>> multiple args, with latter args overriding earlier args if there is
>>> any duplication..
>>
>>
>> That was what I thought to, but:
>>
>> # qemu-system-x86_64 -machine q35,accel=tcg -accel tcg,thread=multi --smp 8 -m 8
>> Unable to init server: Could not connect: Connection refused
>> qemu-system-x86_64: The -accel and "-machine accel=" options are incompatible
>>
>> # qemu-system-x86_64 --version
>> QEMU emulator version 5.0.0 (Debian 1:5.0-14)
>> Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
>>
>> I’m already discussing that on qemu list:
>> https://lists.nongnu.org/archive/html/qemu-ppc/2020-08/msg00338.html <https://lists.nongnu.org/archive/html/qemu-ppc/2020-08/msg00338.html><https://lists.nongnu.org/archive/html/qemu-ppc/2020-08/msg00338.html <https://lists.nongnu.org/archive/html/qemu-ppc/2020-08/msg00338.html>>
>>
>> But I’d like to track that issue in multiple directions.
>
> Ok, this is an intentionally backwards incompatible change in QEMU 5.0.0.
> So you're out of luck until libvirt changes to using "-accel" too.
So that’s why I’m writing here on the libvirt lists - I assume this means looking for a bug report or creating one.
… and for me: probably creating a really dirty workaround, by writing a wrapper, that’s called instead of the binary which adjusts the command line parameters ;(
Thanks for your help,
Greetings, Jan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20200821/9763d216/attachment-0001.htm>
More information about the libvir-list
mailing list