From: Michael Ellerman <mpe@ellerman•id.au>
To: Paul Murphy <murp@ibm•com>, pmenzel@molgen•mpg.de
Cc: parkerderek86@gmail•com, laboger@linux•vnet.ibm.com,
xaionaro@gmail•com, paulus@samba•org, murphyp@linux•ibm.com,
linuxppc-dev@lists•ozlabs.org
Subject: RE: Possible regression by ab037dd87a2f (powerpc/vdso: Switch VDSO to generic C implementation.)
Date: Mon, 02 Aug 2021 16:18:58 +1000 [thread overview]
Message-ID: <87czqwl67h.fsf@mpe.ellerman.id.au> (raw)
In-Reply-To: <OF44F7146F.67A4C1C2-ON00258720.004DBF64-00258720.004FCFCC@ibm.com>
"Paul Murphy" <murp@ibm•com> writes:
>
> (My apologies for however IBM's email client munges this)
>
>> I heard it is going to be in Go 1.16.7, but I do not know much about Go.
>> Maybe the folks in Cc can chime in.
>
>
> We have backports primed and ready for the next point release. They
> are waiting on the release manager to cherrypick them.
OK good, that is still the correct fix in the long run.
> I think we were aware that our VDSO usage may have exploited some
> peculiarities in how the ppc64 version was constructed (i.e hand
> written assembly which just didn't happen to clobber R30).
Yeah I was "somewhat surprised" that Go thought it could use r30 like
that across a VDSO call :D
But to be fair the ABI of the VDSO has always been a little fishy,
because the entry points pretend to be a transparent wrapper around
system calls, but then in a case like this are not.
> Go up to this point has only used the vdso function __kernel_clock_gettime; it
> is the only entry point which would need to explicitly avoid R30 for
> Go's sake.
I thought about limiting the workaround to just that code, but it seemed
silly and likely to come back to bite us. Once the compilers decides to
spill a non-volatile there are plenty of other ones to choose from.
cheers
next prev parent reply other threads:[~2021-08-02 6:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-27 8:45 Possible regression by ab037dd87a2f (powerpc/vdso: Switch VDSO to generic C implementation.) Paul Menzel
2021-07-27 23:14 ` Benjamin Herrenschmidt
2021-07-28 8:26 ` Paul Menzel
2021-07-28 12:43 ` Michael Ellerman
2021-07-28 12:53 ` Paul Menzel
2021-07-29 7:41 ` Michael Ellerman
2021-07-29 8:33 ` Paul Menzel
2021-07-29 12:58 ` Michael Ellerman
[not found] ` <875ywt1s9r.fsf__45665.8238823124$1627544516$gmane$org@mpe.ellerman.id.au>
2021-07-29 8:48 ` Andreas Schwab
2021-08-02 6:04 ` Michael Ellerman
[not found] ` <OF44F7146F.67A4C1C2-ON00258720.004DBF64-00258720.004FCFCC@ibm.com>
2021-08-02 6:18 ` Michael Ellerman [this message]
2021-08-02 12:48 ` Benjamin Herrenschmidt
2021-08-02 18:07 ` Segher Boessenkool
2021-08-02 18:14 ` Lynn Boger
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=87czqwl67h.fsf@mpe.ellerman.id.au \
--to=mpe@ellerman$(echo .)id.au \
--cc=laboger@linux$(echo .)vnet.ibm.com \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=murp@ibm$(echo .)com \
--cc=murphyp@linux$(echo .)ibm.com \
--cc=parkerderek86@gmail$(echo .)com \
--cc=paulus@samba$(echo .)org \
--cc=pmenzel@molgen$(echo .)mpg.de \
--cc=xaionaro@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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