From: Ralf Baechle <ralf@linux-mips.org>
To: Joshua Kinard <kumba@gentoo.org>
Cc: linux-mips@linux-mips.org
Subject: Re: Question regarding atomic ops
Date: Tue, 10 Oct 2017 16:23:06 +0200 [thread overview]
Message-ID: <20171010142306.GA24194@linux-mips.org> (raw)
In-Reply-To: <4f77107c-18ba-d549-c5f2-d52d0460377b@gentoo.org>
On Mon, Oct 09, 2017 at 10:34:43PM -0400, Joshua Kinard wrote:
> On 10/09/2017 22:24, Joshua Kinard wrote:
>
> [snip]
>
> > This raises the question of why was the standard "kernel_uses_llsc" case
> > changed but not the R10000_LLSC_WAR case? The changes seem like they would be
> > applicable to the older R10K CPUs regardless, since this is before a lot of the
> > code for the newer ISAs (R2+) was added. I am getting a funny feeling that a
> > lot of these templates need to be re-written (maybe even in plain C, given
> > newer gcc's better intelligence) and other useful cleanups done. I am not
> > fluent in MIPS asm enough, though, to know what to change.
>
> Answered one of my own questions via this buried commit from ~2006/2007 that
> has a commit message, but no changed files:
>
> https://git.linux-mips.org/cgit/ralf/linux.git/commit/arch/mips/include/asm/atomic.h?id=5999eca25c1fd4b9b9aca7833b04d10fe4bc877d
>
> > [MIPS] Improve branch prediction in ll/sc atomic operations.
> > Now that finally all supported versions of binutils have functioning
> > support for .subsection use .subsection to tweak the branch prediction
> >
> > I did not modify the R10000 errata variants because it seems unclear if
> > this will invalidate the workaround which actually relies on the cheesy
> > prediction of branch likely to cause a misspredict if the sc was
> > successful.
> >
> > Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
>
> Seems like that second paragraph is a ripe candidate for a comment block so
> this is better documented :)
Btw, I reasonably certain applying the change to the R10000 LL/SC workaround
versions as well would work. But testing is difficult, even with hardware
at hand - and the other option asing a R10000 RTL designer is tricky about
20 years later!
Ralf
next prev parent reply other threads:[~2017-10-10 14:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-10 2:24 Question regarding atomic ops Joshua Kinard
2017-10-10 2:34 ` Joshua Kinard
2017-10-10 14:23 ` Ralf Baechle [this message]
2017-10-11 13:15 ` Joshua Kinard
2017-10-11 13:15 ` Joshua Kinard
2017-10-16 5:51 ` Joshua Kinard
2017-10-25 7:59 ` James Hogan
2017-10-25 7:59 ` James Hogan
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=20171010142306.GA24194@linux-mips.org \
--to=ralf@linux-mips.org \
--cc=kumba@gentoo.org \
--cc=linux-mips@linux-mips.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