Thread (11 messages) flat view 11 messages, 5 authors, 2015-12-13

Re: [RFC PATCH 1/2] thread_local_abi system call: caching current CPU number (x86)

From: Andi Kleen <hidden>
Date: 2015-12-13 18:15:32
Also in: lkml

This getcpu cache is an alternative to the sched_getcpu() vdso which has
a few benefits:

Note the first version of getcpu() I proposed had a cache. But it was
rejected.
- It is faster to do a memory read that to call a vDSO,
- This cached value can be read from within an inline assembly, which
  makes it a useful building block for restartable sequences.
On x86 we already have the de-facto ABI of using LSL with the magic
segment directly. While that is a few cycles slower than a memory load
I question the difference is big enough to justify a new system call,
and risk slow page fault in context switches.

BTW the vdso could be also optimized I think. For example glibc today
does some stupid (slow) things with it, like doing double iindirect
jumps.

-Andi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help