[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v13 00/24] MTTCG Base enabling patches with ARM
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v13 00/24] MTTCG Base enabling patches with ARM enablement |
Date: |
Thu, 23 Feb 2017 08:19:39 +0000 |
User-agent: |
mu4e 0.9.19; emacs 25.2.4 |
Pranith Kumar <address@hidden> writes:
> On Wed, Feb 22, 2017 at 4:02 PM, Alex Bennée <address@hidden> wrote:
>>
>> Alex Bennée <address@hidden> writes:
>>
>>> address@hidden writes:
>>>
>>>> Hi,
>>>>
>>>> This series failed build test on s390x host. Please find the details
>>>> below.
>>
>> It also failed on x86-on-x86 MTTCG as well as other tests:
>>
>>>> ERROR:/var/tmp/patchew-tester-tmp-_186415r/src/cpus.c:1554:qemu_mutex_lock_iothread:
>>>> assertion failed: (!qemu_mutex_iothread_locked())
>>>> GTester: last random seed: R02Sf1ce767b432f1559eaf8cc0c5a31eb02
>>>
>>> Well I've seen this before if the IRQ chain doesn't do locking properly
>>> but I'm at a loss why this breaks on an s390 host as the code is common.
>>>
>>> Does anyone have a spare s390 that I can test on?
>>
>> Look like I'll have to roll this in:
>>
>>
>> https://github.com/stsquad/qemu/commit/c6f4245ffd9df8ffcd2d4d655c322189c19a6c1a
>>
>
> I am able to successfully boot my test images using this patch (they
> fail without it). Another approach might be to reset the lock in the
> outer loop:
>
> diff --git a/cpu-exec.c b/cpu-exec.c
> index f3c78a9..8327050 100644
> --- a/cpu-exec.c
> +++ b/cpu-exec.c
> @@ -684,6 +684,9 @@ int cpu_exec(CPUState *cpu)
> if the guest is in advance */
> align_clocks(&sc, cpu);
> }
> + if (qemu_mutex_iothread_locked()) {
> + qemu_mutex_unlock_iothread();
> + }
The only aesthetic objection I have is not aligning the unlocks with
where the lock are taken. That said my patch is fairly ugly in that
regard ;-)
> }
>
> cc->cpu_exec_exit(cpu);
>
>
> I think either patch is fine.
--
Alex Bennée
- [Qemu-devel] [PATCH v13 16/24] cputlb and arm/sparc targets: convert mmuidx flushes from varg to bitmap, (continued)
- [Qemu-devel] [PATCH v13 16/24] cputlb and arm/sparc targets: convert mmuidx flushes from varg to bitmap, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 22/24] target-arm: ensure all cross vCPUs TLB flushes complete, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 20/24] target-arm/powerctl: defer cpu reset work to CPU context, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 24/24] tcg: enable MTTCG by default for ARM on x86 hosts, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 21/24] target-arm: don't generate WFE/YIELD calls for MTTCG, Alex Bennée, 2017/02/22
- [Qemu-devel] [PATCH v13 18/24] cputlb: atomically update tlb fields used by tlb_reset_dirty, Alex Bennée, 2017/02/22
- Re: [Qemu-devel] [PATCH v13 00/24] MTTCG Base enabling patches with ARM enablement, no-reply, 2017/02/22