Mathieu Desnoyers

@DesnoyersMa@discuss.systems
46 Followers
32 Following
25 Posts
I am mostly interested in scalability and real-time behavior of the Linux kernel. A kernel tracer is a key aspect that must be added to Linux in order to improve these aspects. The path towards this involves contribution of new pieces of core infrastructure in the kernel itself so it can support a low-overhead, low-disturbance tracer.
Workhttps://www.efficios.com
CityMontreal

We've published a new blog post explaining the most notable new feature introduced in LTTng 2.14: per-channel buffers. This helps reducing memory use on large many-core systems.

https://lttng.org/blog/2025/05/12/lttng-2.14-memory/

LTTng 2.14 is currently in release candidate phase. Try it out!

Saving memory on many-core hosts with LTTng 2.14 — LTTng

LTTng 2.14 introduces per-channel tracing buffers to reduce memory footprint on large, many-core hosts.

LTTng

We need your help, the future of the OSU Open Source Lab is in jeopardy

https://osuosl.org/blog/osl-future/

Future of OSL in Jeopardy | OSU Open Source Lab

A nonprofit organization working for the advancement of open source technologies.

Hello everyone,

Here is an article from Jonathan Corbet @corbet LWN.net, covering our CEO's appearance at the 2025 Linux Storage, Filesystem, Memory-Management and BPF Summit :

''Per-CPU memory for user space''
https://lwn.net/Articles/1016408/

Per-CPU memory for user space [LWN.net]

Hi !

We're excited to share the first release candidate of LTTng 2.14, codenamed Orbitales!

Put these new features, improvements and experimental capabilities to the test and offer your feedback in the next few weeks before the final version ships :

https://lists.lttng.org/pipermail/lttng-dev/2025-April/030933.html

[RELEASE] LTTng 2.14.0-rc1 - Orbitales - Linux kernel and user space tracer

Hello everyone,

This is a release announcement for the Userspace RCU library version
0.15.0. It has been nearly two years since the 0.14.0 release, so
it is now time to get this out of the door.

The Userspace RCU library implements RCU, atomics, and lock-free
data structures in userspace.

https://lists.lttng.org/pipermail/lttng-dev/2024-December/030893.html

[RELEASE] Userspace RCU 0.15.0

Hi there!

On January 22nd 2025, five years to the day [1] after launching Babeltrace 2.0 “Amqui”, we released Babeltrace 2.1 “Brossard”! 🎉

https://babeltrace.org/docs/release-notes/babeltrace-2.1.0-release-notes.html

Babeltrace 2.1.0 release notes

Ondřej Surý (https://isc.org) presented how he leverages the RCU, lock-free queues, and RCU lock-free hash table APIs from https://liburcu.org to improve the performance and response time of the BIND 9 DNS (https://www.isc.org/bind/). He describes the improvements and results in his #fosdem 2025 talk "How to make BIND 9 fast(er)" https://fosdem.org/2025/schedule/event/fosdem-2025-4626-how-to-make-bind-9-fast-er-/
ISC

Open source software information, blogs, events, downloads and support

tracepoints: gnarly but worth it — wingolog

wingolog: article: tracepoints: gnarly but worth it

The video recordings of my #fosdem 2025 talks are now published, enjoy!

- "A new cgroup cpu.max.concurrency controller interface file" , FOSDEM 2025 Container devroom, https://fosdem.org/2025/schedule/event/fosdem-2025-6283-a-new-cgroup-cpu-max-concurrency-controller-interface-file/
- "Waste-Free Per-CPU Userspace Memory Allocation", FOSDEM 2025 Kernel devroom, https://fosdem.org/2025/schedule/event/fosdem-2025-6245-waste-free-per-cpu-userspace-memory-allocation/
- "Exa-Tracer: Tracing HPC Supercomputers with LTTng", FOSDEM 2025 HPC, Big Data & Data Science devroom, https://fosdem.org/2025/schedule/event/fosdem-2025-6269-exa-tracer-tracing-hpc-supercomputers-with-lttng/

FOSDEM 2025 - A new cgroup cpu.max.concurrency controller interface file

a minor collection in a whippet microbenchmark, 16MB total nursery:
. 366µs total pause time
. 12µs to get the 8 mutators to stop
. every green arrow is one object stolen from a remote chase-lev deque
. a couple workers ran out of work after 42µs and restarted 25µs later when more work was available

traces via https://lttng.org's user-space tracing; output munged by a script so that i could load in perfetto / chrome-tracing's UI

LTTng: an open source tracing framework for Linux

LTTng is an open source tracing framework for Linux. Gain insight into your system's behavior today.

LTTng
×

a minor collection in a whippet microbenchmark, 16MB total nursery:
. 366µs total pause time
. 12µs to get the 8 mutators to stop
. every green arrow is one object stolen from a remote chase-lev deque
. a couple workers ran out of work after 42µs and restarted 25µs later when more work was available

traces via https://lttng.org's user-space tracing; output munged by a script so that i could load in perfetto / chrome-tracing's UI

@wingo are you happy with the perfetto ui, compared to, say, the chrome thing? Or the Firefox profiler ui?
@cfbolz i don’t actually see perfecto and the chrome thing as different; or at least i have not used the enough to have an opinion
@cfbolz no experience with firefox’s, i should look into that
@wingo it's more profiling-oriented, maybe? I haven't tried perfetto 😅
@cfbolz my impression (completely retconned, no knowledge) is that chrome:tracing was a wonderful one-page hack, that was so good they put a team of people on it, it became an android product and now is full of protobufs; but the web ui is the same as it ever was.
@cfbolz i.e. the ui is now only one part of perfetto, they spend more time getting the data, and the main target is now android rather than the web. but again this is all retconned :)
@wingo I quite enjoy the firefox profiler, we generate json for it from python profiles. only thing I'm really missing is a nice call graph view, like kcachegrind has it: https://kcachegrind.github.io/html/Shot3Large.html
KCachegrind

@cfbolz i dearly love kcachegrind :) honestly that any profiling tool exists at all is a miracle, these things are so ephemeral; you fix your bug and move on, leaving half-finished perf analysis tools to rot

@wingo yeah, it seems like a hard problem, PyPy's profiler is also in a bit of a weird state always, and our former ui is just gone.

I really don't get why nobody that I can find has done a graphviz based call graph though, like kcachegrind has it. It such a super useful tool.

Read the profiler snapshot | PyCharm

PyCharm Help
@smarr @wingo goes in the right direction for sure!

@cfbolz @wingo have you tried MMTk’s tracing support? We also output in the JSON tracing format supported by Perfetto. https://github.com/mmtk/mmtk-core/tree/master/tools/tracing

Kunshan has written a case study using the tracing tools for performance debugging https://wks.github.io/blog/2023/10/04/proved-me-wrong.html

mmtk-core/tools/tracing at master · mmtk/mmtk-core

Memory Management ToolKit. Contribute to mmtk/mmtk-core development by creating an account on GitHub.

GitHub
@caizixian @cfbolz nice, will look! enjoyed the paper, btw!
@wingo @cfbolz I’m glad you enjoyed it. It was led by Claire as one of her undergraduate research projects. Very impressive work.