All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.