On 21. Aug 2020, at 11:20, Daniel P. Berrangé
<berrange(a)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(a)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(a)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>
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.
Regards,
Daniel
--
|: