qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [Qemu-devel] [PATCH RFC 0/4] Enable MTTCG on PowerPC


From: Nikunj A Dadhania
Subject: Re: [Qemu-ppc] [Qemu-devel] [PATCH RFC 0/4] Enable MTTCG on PowerPC
Date: Fri, 02 Sep 2016 12:16:59 +0530
User-agent: Notmuch/0.21 (https://notmuchmail.org) Emacs/25.0.94.1 (x86_64-redhat-linux-gnu)

Cédric Le Goater <address@hidden> writes:

> On 09/02/2016 08:32 AM, Nikunj A Dadhania wrote:
>> The series is a first attempt at enabling Multi-Threaded TCG on PowerPC.
>> Changes that were needed to enable PowerPC are pretty simple;
>> 
>> Patch 01: Take a iothread lock during hcall, as hcall can generate io 
>> requests
>>       02: For TCG, we were harcoding smt as 1, this gets rid of the 
>> limitation
>>       03: Use atomic_cmpxchg in store conditional
>>       04: With more threads, flush the entry from each cpu. 
>>        This can be optimized further.
>> 
>> The patches are based on the Alex Bennee's base enabling patches for 
>> MTTCG[1] and Emilios's cmpxchg atomics. The consolidated tree of the 
>> above patches is here:
>> 
>> https://github.com/stsquad/qemu/tree/mttcg/base-patches-v4-with-cmpxchg-atomics-v2
>> 
>> Apart from the above, PPC patches are based out of ppc-for-2.8 and 
>> load/store consolidation patches [2]
>> 
>> Series with all dependent patches available here: 
>> https://github.com/nikunjad/qemu/tree/ppc_mttcg_v1
>> 
>> Testing: 
>> ========
>> 
>> -smp 4,cores=1,threads=4 -accel tcg,thread=multi
>> 
>> TODO
>> ====
>> Implement msgsndp instructions(door-bell), newer kernels enable it 
>> depending on the PVR. I have been using following workaround to boot.
>> https://github.com/nikunjad/qemu/commit/2c10052c5f93418a6b920e6ba3ce1813fcf50bc4
>
> You could also introduce a Power8 DD1 in qemu. From the kernel cputable :

I see this as a temporary workaround, need to fix it.

>       {       /* Power8 DD1: Does not support doorbell IPIs */
>               .pvr_mask               = 0xffffff00,
>               .pvr_value              = 0x004d0100,
>               .cpu_name               = "POWER8 (raw)",
>               .cpu_features           = CPU_FTRS_POWER8_DD1,
>               ...

Regards
Nikunj




reply via email to

[Prev in Thread] Current Thread [Next in Thread]