qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: alvise rigo <a.rigo@virtualopensystems.com>
Cc: MTTCG Devel <mttcg@listserver.greensocs.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Pranith Kumar <bobby.prani@gmail.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	KONRAD Frederic <fred.konrad@greensocs.com>
Subject: Re: [Qemu-devel] Status of my hacks on the MTTCG WIP branch
Date: Fri, 15 Jan 2016 16:59:21 +0000	[thread overview]
Message-ID: <8760yudbiu.fsf@linaro.org> (raw)
In-Reply-To: <CAH47eN3=r8VOpx6D+A5wkoXgebVUY+hb7CoXrv_qZ1XE-s5KtA@mail.gmail.com>


alvise rigo <a.rigo@virtualopensystems.com> writes:

> On Fri, Jan 15, 2016 at 4:25 PM, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> alvise rigo <a.rigo@virtualopensystems.com> writes:
>>
>>> On Fri, Jan 15, 2016 at 3:51 PM, Alex Bennée <alex.bennee@linaro.org> wrote:
>>>>
>>>> alvise rigo <a.rigo@virtualopensystems.com> writes:
>>>>
>>>>> This problem could be related to a missing multi-threaded aware
>>>>> translation of the atomic instructions.
>>>>> I'm working on this missing piece, probably the next week I will
>>>>> publish something.
>>>>
>>>> Maybe. We still have Fred's:
>>>>
>>>>   Use atomic cmpxchg to atomically check the exclusive value in a STREX
>>>>
>>>> Which I think papers over the cracks for both arm and aarch64 in MTTCG
>>>> while not being as correct as your work.
>>>
>>> Keep in mind that Linux on arm64 uses the LDXP/STXP instructions that
>>> exist solely in aarch64.
>>> These instructions are purely emulated now and can potentially write
>>> 128 bits of data in a non-atomic fashion.
>>
>> Sure, but I doubt they are the reason for this hang as the kernel
>> doesn't use them.
>
> The kernel does use them for __cmpxchg_double in
> arch/arm64/include/asm/atomic_ll_sc.h.

I take it back, if I'd have grepped for "ldxp" instead of "stxp" I would
have seen it, sorry about that ;-)

> In any case, the normal exclusive instructions are also emulated in
> target-arm/translate-a64.c.

I'll check on them on Monday. I'd assumed all the stuff was in the
helpers as I scanned through and missed the translate.c changes Fred
made. Hopefully that will be the last hurdle.

In the meantime if I'm not booting Jessie I can get MTTCG aarch64
working with a initrd based rootfs. Once I've gone through those I'm
planning on giving it a good stress test with -fsantize=threads.

>
> alvise
>
>>
>>>
>>> Regards,
>>> alvise
>>>
>>>>
>>>>>
>>>>> Regards,
>>>>> alvise
>>>>>
>>>>> On Fri, Jan 15, 2016 at 3:24 PM, Pranith Kumar <bobby.prani@gmail.com> wrote:
>>>>>> Hi Alex,
>>>>>>
>>>>>> On Fri, Jan 15, 2016 at 8:53 AM, Alex Bennée <alex.bennee@linaro.org> wrote:
>>>>>>> Can you try this branch:
>>>>>>>
>>>>>>>
>>>>>>> https://github.com/stsquad/qemu/tree/mttcg/multi_tcg_v8_wip_ajb_fix_locks-r1
>>>>>>>
>>>>>>> I think I've caught all the things likely to screw up addressing.
>>>>>>>
>>>>>>
>>>>>> I tried this branch and the boot hangs like follows:
>>>>>>
>>>>>> [    2.001083] random: systemd-udevd urandom read with 1 bits of entropy
>>>>>> available
>>>>>> main-loop: WARNING: I/O thread spun for 1000 iterations
>>>>>> [   23.778970] INFO: rcu_sched detected stalls on CPUs/tasks: {} (detected
>>>>>> by 0, t=2102 jiffies, g=-165, c=-166, q=83)
>>>>
>>>> This is just saying the kernel has been waiting for a while and nothing
>>>> has happened.
>>>>
>>>>>> I will try to debug and see where it is hanging.
>>>>
>>>> If we knew what the kernel was waiting for that would be useful to know.
>>>>
>>>>>>
>>>>>> Thanks!
>>>>>> --
>>>>>> Pranith
>>>>
>>>>
>>>> --
>>>> Alex Bennée
>>
>>
>> --
>> Alex Bennée


--
Alex Bennée

  reply	other threads:[~2016-01-15 16:59 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-12 17:29 [Qemu-devel] Status of my hacks on the MTTCG WIP branch Alex Bennée
2016-01-12 20:23 ` Pranith Kumar
2016-01-13 10:28   ` Alex Bennée
2016-01-14 13:10     ` Alex Bennée
2016-01-14 13:12       ` KONRAD Frederic
2016-01-14 13:58         ` Alex Bennée
2016-01-15 13:53   ` Alex Bennée
2016-01-15 14:24     ` Pranith Kumar
2016-01-15 14:30       ` KONRAD Frederic
2016-01-15 14:46         ` Alex Bennée
2016-01-15 14:49           ` KONRAD Frederic
2016-01-15 16:02             ` Paolo Bonzini
2016-01-15 14:32       ` alvise rigo
2016-01-15 14:51         ` Alex Bennée
2016-01-15 15:08           ` alvise rigo
2016-01-15 15:25             ` Alex Bennée
2016-01-15 16:34               ` alvise rigo
2016-01-15 16:59                 ` Alex Bennée [this message]
2016-01-18 19:09                   ` Alex Bennée
2016-01-19  8:31                     ` alvise rigo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8760yudbiu.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=a.rigo@virtualopensystems.com \
    --cc=bobby.prani@gmail.com \
    --cc=fred.konrad@greensocs.com \
    --cc=mttcg@listserver.greensocs.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).