From: "Éric Bischoff" <ebischoff@suse.com>
To: Richard Henderson <rth@twiddle.net>
Cc: Alexander Graf <agraf@suse.de>, Michal Marek <mmarek@suse.cz>,
QEmu developers <qemu-devel@nongnu.org>,
Miroslav Benes <mbenes@suse.cz>
Subject: Re: [Qemu-devel] [PATCH] Adding support for LPD and LPDG instructions
Date: Tue, 28 Feb 2017 09:58:24 +0100 [thread overview]
Message-ID: <2947530.VpE9bGVYKe@eric> (raw)
In-Reply-To: <10570286-fa33-485a-0773-94ed493d4ef0@twiddle.net>
Le mardi 28 février 2017, 06:10:45 CET Richard Henderson a écrit :
> On 02/27/2017 10:22 PM, Eric Bischoff wrote:
> > From: Eric Bischoff <ebischoff@nerim.net>
> >
> > LPD = LOAD PAIR DISJOINT
> > ---
> >
> > target/s390x/insn-data.def | 4 +++-
> > target/s390x/translate.c | 21 +++++++++++++++++++++
> > 2 files changed, 24 insertions(+), 1 deletion(-)
> >
> > diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def
> > index 075ff59..e427988 100644
> > --- a/target/s390x/insn-data.def
> > +++ b/target/s390x/insn-data.def
> > @@ -504,7 +504,9 @@
> >
> > C(0xb9e2, LOCGR, RRF_c, LOC, r1, r2, r1, 0, loc, 0)
> > C(0xebf2, LOC, RSY_b, LOC, r1, m2_32u, new, r1_32, loc, 0)
> > C(0xebe2, LOCG, RSY_b, LOC, r1, m2_64, r1, 0, loc, 0)
> >
> > -/* LOAD PAIR DISJOINT TODO */
> > +/* LOAD PAIR DISJOINT */
> > + C(0xc804, LPD, SSF, ILA, m1_32s, m2_32s, 0, r3_P32, movx, zero)
> > + C(0xc805, LPDG, SSF, ILA, m1_64, m2_64, 0, r3_P64, movx, zero)
>
> The think is, in order to be able to say that the two loads were
> interlocked, which is what you're doing with CC=0, we need to provide some
> atomicity.
>
> In general, this is going to require that you check parallel_cpus, and if
> true, signal cpu_loop_exit_atomic.
>
> As a special case, it would be possible to check for two loads that happen
> to be sequential and perform them as an atomic read. Whether that happens
> often enough to be worthwhile I don't know.
Understood now.
I'm working on a v3 patch based on the code kindly sent in private mail by
Richard.
--
Eric Bischoff - SUSE Manager QA Engineer
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Jennifer Guild, Dilip
Upmanyu, Graham Norton, HRB 21284 (AG Nürnberg)
next prev parent reply other threads:[~2017-02-28 8:58 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-27 11:22 [Qemu-devel] [PATCH v2] Adding support for LPD and LPDG instructions Eric Bischoff
2017-02-27 11:22 ` [Qemu-devel] [PATCH] " Eric Bischoff
2017-02-27 19:10 ` Richard Henderson
2017-02-28 8:58 ` Éric Bischoff [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-02-28 12:01 Eric Bischoff
2017-02-28 17:57 ` Richard Henderson
2017-02-28 23:10 ` Richard Henderson
2017-02-28 11:35 [Qemu-devel] [PATCHv3] " Eric Bischoff
2017-02-28 11:35 ` [Qemu-devel] [PATCH] " Eric Bischoff
2017-02-28 11:42 ` no-reply
[not found] <20170223115805.16688-1-ebischoff@suse.com>
[not found] ` <20170223115805.16688-2-ebischoff@suse.com>
[not found] ` <a26cf735-bbb6-5be7-7575-198ec55a3ecc@twiddle.net>
2017-02-26 16:10 ` Éric Bischoff
2017-02-27 10:48 ` Éric Bischoff
2017-02-24 13:19 [Qemu-devel] (no subject) Eric Bischoff
2017-02-24 13:19 ` [Qemu-devel] [PATCH] Adding support for LPD and LPDG instructions Eric Bischoff
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=2947530.VpE9bGVYKe@eric \
--to=ebischoff@suse.com \
--cc=agraf@suse.de \
--cc=mbenes@suse.cz \
--cc=mmarek@suse.cz \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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.