Thread (37 messages) flat view 37 messages, 7 authors, 2016-02-29

Re: [PATCH v4 0/5] getcpu_cache system call for 4.6

From: H. Peter Anvin <hidden>
Date: 2016-02-24 20:20:59
Also in: lkml

On February 23, 2016 8:09:23 PM PST, Mathieu Desnoyers [off-list ref] wrote:
----- On Feb 23, 2016, at 8:36 PM, H. Peter Anvin hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org wrote:
quoted
On 02/23/2016 03:28 PM, Mathieu Desnoyers wrote:
quoted
Hi,

Here is a patchset implementing a cache for the CPU number of the
currently running thread in user-space.

Benchmarks comparing this approach to a getcpu based on system call
on
quoted
quoted
ARM show a 44x speedup. They show a 14x speedup on x86-64 compared
to
quoted
quoted
executing lsl from a vDSO through glibc.

I'm added a man page in the changelog of patch 1/3, which shows an
example usage of this new system call.

This series is based on v4.5-rc5, submitted for Linux 4.6.

Feedback is welcome,
What is the resulting context switch overhead?
The getcpu_cache only adds code to the thread migration path,
and to the resume notifier. The context switch path per se is
untouched. I would therefore expect the overhead on context
switch to be within the noise, except if stuff like hackbench
would be so sensitive to the size of struct task_struct that
a single extra pointer added at the end of struct task_struct
would throw off the benchmarks.

Is that what you are concerned about ?

Thanks,

Mathieu
Yes, I'd like to see numbers.  It is way easy to handwave small changes away, but they add up over time.  Without numbers it is a bit hard to quantify the pro vs con.
-- 
Sent from my Android device with K-9 Mail. Please excuse brevity and formatting.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help