# Re: \[RFC PATCH v8 1/9\] Restartable sequences system call

- From: Josh Triplett \<hidden\>
- Date: 2016-08-19 20:49:46 
- List: linux-api
- Page: https://ratatoskr.run/linux-api/2016/08/4818632
- Thread: https://ratatoskr.run/linux-api/2016/08/4818611/t.md

```text
On Fri, Aug 19, 2016 at 01:23:57PM -0700, Linus Torvalds wrote:
> On Fri, Aug 19, 2016 at 1:07 PM, Mathieu Desnoyers
> [ref] wrote:
> >
> > Benchmarking various approaches for reading the current CPU number:
> 
> So I'd like to see the benchmarks of something that actually *does* something.
> 
> IOW, what's the bigger-picture "this is what it actually is useful
> for, and how it speeds things up".
> 
> Nobody gets a cpu number just to get a cpu number - it's not a useful
> thing to benchmark. What does getcpu() so much that we care?

The combination of CPU number and restartable sequence allows userspace
to write "per-CPU" rather than "per-thread" algorithms, just as the
kernel can.  The kernel can do that with preempt_disable().  Userspace
can do it with "tell me my CPU and restart me if preempted".

But yes, this needs a benchmark of, for instance, urcu implemented on
top of this, or some concrete data structure.
```
