From: Peter Zijlstra <peterz@infradead.org>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Ingo Molnar <mingo@redhat.com>, Paul Turner <commonly@gmail.com>,
Andi Kleen <andi@firstfloor.org>, Chris Lameter <cl@linux.com>,
Dave Watson <davejwatson@fb.com>,
Josh Triplett <josh@joshtriplett.org>,
Linux API <linux-api@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andrew Hunter <ahh@google.com>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [RFC PATCH 0/3] restartable sequences v2: fast user-space percpu critical sections
Date: Thu, 7 Apr 2016 17:24:32 +0200 [thread overview]
Message-ID: <20160407152432.GZ3448@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <CALCETrV0vcYcnBrs0axykJD=_BM28wKWVMG6bMzK8zh8R3m5fg@mail.gmail.com>
On Thu, Apr 07, 2016 at 07:35:26AM -0700, Andy Lutomirski wrote:
> What I meant was: rather than shoving individual values into the TLABI
> thing, shove in a pointer:
>
> struct commit_info {
> u64 post_commit_rip;
> u32 cpu;
> u64 *event;
> // whatever else;
> };
>
> and then put a commit_info* in TLABI.
>
> This would save some bytes in the TLABI structure.
But would cost us extra indirections. The whole point was getting this
stuff at a constant offset from the TLS segment register.
> > So letting the user manage the event is doable, but it would still be
> > advisable to have the event in the same shared word.
> >
>
> Why is a single load needed? The event and CPU in the TLABI structure
> are only ever accessed from the thread in question.
Its not required, but being able to do a single load saves on cycles,
less cycles is more good.
> That way we could take an async signal, handle it, and resume, even in
> the middle of a commit, without aborting. Of course, if the signal
> hander tried to access the same rseq-protected resource, it would bump
> the event counter and cause an abort.
Ah, so what happens if the signal happens before the commit but after
the load of the seqcount?
Then, even if the signal motifies the count, we'll not observe.
next prev parent reply other threads:[~2016-04-07 15:24 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-27 23:56 [RFC PATCH 0/3] restartable sequences v2: fast user-space percpu critical sections Paul Turner
2015-10-27 23:56 ` [RFC PATCH v2 1/3] restartable sequences: user-space per-cpu " Paul Turner
2015-11-19 16:38 ` Johannes Berg
2015-12-11 12:56 ` Mathieu Desnoyers
2015-10-27 23:57 ` [RFC PATCH v2 2/3] restartable sequences: x86 ABI Paul Turner
2015-10-28 5:03 ` Peter Zijlstra
2015-10-28 5:19 ` Paul Turner
2015-12-11 13:30 ` Mathieu Desnoyers
2015-10-27 23:57 ` [RFC PATCH v2 3/3] restartable sequences: basic self-tests Paul Turner
2016-04-05 20:33 ` Mathieu Desnoyers
2016-04-06 7:43 ` Peter Zijlstra
2016-04-06 13:39 ` Mathieu Desnoyers
2016-04-06 19:25 ` Peter Zijlstra
2015-10-28 14:44 ` [RFC PATCH 0/3] restartable sequences v2: fast user-space percpu critical sections Dave Watson
2015-12-11 12:05 ` Mathieu Desnoyers
2015-12-11 13:39 ` Mathieu Desnoyers
2016-04-06 15:56 ` Andy Lutomirski
2016-04-07 12:02 ` Peter Zijlstra
2016-04-07 14:35 ` Andy Lutomirski
2016-04-07 15:24 ` Peter Zijlstra [this message]
2016-04-07 15:39 ` Peter Zijlstra
2016-04-07 15:44 ` Andy Lutomirski
2016-04-07 15:53 ` Peter Zijlstra
2016-04-07 16:43 ` Andy Lutomirski
2016-04-07 20:11 ` Peter Zijlstra
2016-04-07 22:05 ` Andy Lutomirski
2016-04-08 1:11 ` Mathieu Desnoyers
2016-04-08 1:21 ` Andy Lutomirski
2016-04-08 2:05 ` Mathieu Desnoyers
2016-04-08 17:46 ` Mathieu Desnoyers
2016-04-08 21:16 ` Andy Lutomirski
2016-04-08 21:25 ` Linus Torvalds
2016-04-10 14:07 ` Mathieu Desnoyers
2016-04-08 11:02 ` Peter Zijlstra
2016-04-08 15:57 ` Andy Lutomirski
2016-04-08 6:41 ` Peter Zijlstra
2016-04-08 15:58 ` Andy Lutomirski
2016-04-11 21:55 ` Mathieu Desnoyers
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=20160407152432.GZ3448@twins.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=ahh@google.com \
--cc=andi@firstfloor.org \
--cc=cl@linux.com \
--cc=commonly@gmail.com \
--cc=davejwatson@fb.com \
--cc=josh@joshtriplett.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=torvalds@linux-foundation.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