lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 26 Oct 2009 12:05:09 -0400
From:	Mathieu Desnoyers <>
To:	Arjan van de Ven <>
Cc:	Pierre-Marc Fournier <>,
	Ingo Molnar <>, GeunSik Lim <>,
	Zhaolei <>,
	Wu Fengguang <>,
	Jesper Juhl <>, Adrian Bunk <>,
	Harvey Harrison <>,
	"Robert P. J. Day" <>,
	Jaswinder Singh Rajput <>,
	Frederic Weisbecker <>,
	Steven Rostedt <>,
	Lai Jiangshan <>,
	KOSAKI Motohiro <>,,
	Dominique Toupin <>,
	Michel Dagenais <>
Subject: Re: Relicensing tracepoints and markers to Dual LGPL v2.1/GPL
	v2,headers to Dual BSD/GPL

* Arjan van de Ven ( wrote:
> On Mon, 26 Oct 2009 09:17:49 -0400
> Pierre-Marc Fournier <> wrote:
> > Ingo Molnar wrote:
> > > 
> > > But i also disagree with it on a technical level: code duplication
> > > is _bad_. Why does the code have to be duplicated in user-space
> > > like that? I'd like Linux tracing code to be in the kernel repo.
> > > Why isnt this done properly, as part of the kernel project - to
> > > make sure it all stays in sync?
> > > 
> > 
> > If you mean that this code should solely be used inside the kernel,
> > then what you propose technically does not work. There is a very high
> > cost to accessing kernel code from userspace. 
> yeah 100 cycles is insanely high, that's at least the equivalent of...
> say one cache miss.

Hi Arjan,

Maybe it's just me, but if you are talking of system calls performed
with sysenter, my own machine (with an Intel Xeon E5405 CPU) seems to
disagree with your estimations:

For a system call doing basically _nothing_:

Cache-cold system call:
Time for a system call (returns after a simple test) :
TSC diff : 6426 cycles
time diff : 3212.53 ns

Cache-hot system call:
Time for system call (10000 calls) (returns after a simple test) :
TSC diff : 599.893 cycles per call
time diff : 299.903 ns per call

Otherwise, if you are instead referring to a vDSO, then the contexts is
slightly different, and it becomes cheaper, but it does not allow to
share code as much between the in-kernel and vDSO implementations,
mainly due to different locking required. Moreover, I wonder about the
maximum vDSO size that can be ported across multiple architectures. It
has only been used for really tiny pieces of code so far.



> -- 
> Arjan van de Ven 	Intel Open Source Technology Centre
> For development, discussion and tips for power savings, 
> visit

Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Powered by blists - more mailing lists