- Nov. 4th, 2010
Mathieu Desnoyers 1
Linux Plumbers Conference 2010 Converging towards a unified Lockless - - PowerPoint PPT Presentation
Linux Plumbers Conference 2010 Converging towards a unified Lockless Ring Buffer Library E-mail: mathieu.desnoyers@efficios.com Mathieu Desnoyers Nov. 4th, 2010 1 > Presenter Mathieu Desnoyers EfficiOS Inc.
Mathieu Desnoyers 1
Mathieu Desnoyers 2
Mathieu Desnoyers 3
– Hypervisor, kernel, userland (vDSO)
Mathieu Desnoyers 4
– Opening the Linux kernel developer community
– Centered on kernel developers requirements – Still missing the point for companies developing
Mathieu Desnoyers 5
– Monta Vista – Autodesk – Cisco – Mentor Graphics – Texas Instruments – IBM – Ericsson – Nokia – Siemens – Freescale – Wind River
Mathieu Desnoyers 6
– e.g. 96 bits per event (including typical 64-bit
– Trace clock accuracy within 100ns, ordering
– Per-CPU buffers, time-stamp reading scalable
Mathieu Desnoyers 7
– 150 ns per event (cache-hot) – Zero-copy (splice to disk/network, mmap for
– Support concurrent read while writer is
Mathieu Desnoyers 8
– Save to disk, network
– Engineer + Operator + flight recorder for
Mathieu Desnoyers 9
– Portability – Distinct host/target environment support – Management of multiple target kernel versions – No dependency on kernel image to analyze
Mathieu Desnoyers 10
– Impact on buffer flushing, power saving, idle, ...
August 11th, 2010 Mathieu Desnoyers 11
– Data received as parameter from ring buffer
– Data available through a global or per-CPU file
– Or data available internally to the ring buffer
August 11th, 2010 Mathieu Desnoyers 12
– Ring buffer sits in /lib
– Ring buffer clients – Instantiate client-specific configurations – Express configuration into a constant client
August 11th, 2010 Mathieu Desnoyers 13
August 11th, 2010 Mathieu Desnoyers 14
– Without requiring tracers to change their ABIs
August 11th, 2010 Mathieu Desnoyers 15
– Tracers register with trace session private data – Tracepoints, function tracing – Dynamic probes, kprobes, performance
August 11th, 2010 Mathieu Desnoyers 16
– Global trace clock non-scalable and slow – "Medium" trace clock too coarse (1HZ) precision
August 11th, 2010 Mathieu Desnoyers 17
Mathieu Desnoyers 18
– http://www.efficios.com – CTF/BabelTrace
– Generic Ring Buffer Library