DJ Delorie
DJ Delorie's contributions
Parallel programming: When concurrency meets Murphy's law
DJ Delorie
Parallel programming isn't always parallel. This article examines examples of failed concurrency assumptions in the GNU C Library glibc.
Coming in glibc 2.33: Reloadable nsswitch.conf
DJ Delorie
Learn how glibc version 2.33 will support reloading nsswitch.conf changes without having to stop and start your application.
How the GNU C Library handles backward compatibility
DJ Delorie
The GNU C Library handles backward compatibility like a champ. Learn how to use compat symbols to control which version of glibc the linkers use.
The Non-complexity of /etc/nsswitch.conf
DJ Delorie
An overview of the current nsswitch.conf behavior and a request for input on the future behavior of the name services switch interface in glibc.
Microcontainers for Unit Testing
DJ Delorie
Containers offer new testing opportunities, especially for foundational system software like GLIBC or tests that depend on system changes for exercising code paths
Why you should care about RISC-V
DJ Delorie
If you haven't heard about the RISC-V (pronounced "risk five") processor, it's an open-source (open-hardware, open-design) processor core created by the University of Berkeley. It exists in 32-bit, 64-bit, and 128-bit variants, although only 32- and 64-bit designs exist in practice. The news is full of stories about major hardware manufacturers (Western Digital, NVidia) looking at or choosing RISC-V cores for their product. But why should you care? You can't just go to the local electronics boutique and buy a...
Malloc Internals and You
DJ Delorie
Introduction In my last blog , I mentioned I was asked to look at a malloc performance issue, but discussed the methods for measuring performance. In this blog, I'll talk about the malloc issue itself, and some measures I took to address it. I'll also talk a bit about how malloc's internals work, and how that affects your performance. First off, a bit of terminology - throughout this blog, these terms are defined to mean as follows... memory a region...
Practical micro-benchmarking with 'ltrace' and 'sched'
DJ Delorie
Recently I was asked to look into an issue related to QEMU's I/O subsystem performance - specifically, I was looking for differences in performance between glibc's malloc and other malloc implementations'. After a good deal of benchmarking I was unable to see a clear difference between our malloc (glibc) and others, not because the implementations were similar, but because there was too much noise in the system; the benchmarks were being polluted by other things, not just in QEMU, but...
Parallel programming: When concurrency meets Murphy's law
DJ Delorie
Parallel programming isn't always parallel. This article examines examples of failed concurrency assumptions in the GNU C Library glibc.
Coming in glibc 2.33: Reloadable nsswitch.conf
DJ Delorie
Learn how glibc version 2.33 will support reloading nsswitch.conf changes without having to stop and start your application.
How the GNU C Library handles backward compatibility
DJ Delorie
The GNU C Library handles backward compatibility like a champ. Learn how to use compat symbols to control which version of glibc the linkers use.
The Non-complexity of /etc/nsswitch.conf
DJ Delorie
An overview of the current nsswitch.conf behavior and a request for input on the future behavior of the name services switch interface in glibc.
Microcontainers for Unit Testing
DJ Delorie
Containers offer new testing opportunities, especially for foundational system software like GLIBC or tests that depend on system changes for exercising code paths
Why you should care about RISC-V
DJ Delorie
If you haven't heard about the RISC-V (pronounced "risk five") processor, it's an open-source (open-hardware, open-design) processor core created by the University of Berkeley. It exists in 32-bit, 64-bit, and 128-bit variants, although only 32- and 64-bit designs exist in practice. The news is full of stories about major hardware manufacturers (Western Digital, NVidia) looking at or choosing RISC-V cores for their product. But why should you care? You can't just go to the local electronics boutique and buy a...
Malloc Internals and You
DJ Delorie
Introduction In my last blog , I mentioned I was asked to look at a malloc performance issue, but discussed the methods for measuring performance. In this blog, I'll talk about the malloc issue itself, and some measures I took to address it. I'll also talk a bit about how malloc's internals work, and how that affects your performance. First off, a bit of terminology - throughout this blog, these terms are defined to mean as follows... memory a region...
Practical micro-benchmarking with 'ltrace' and 'sched'
DJ Delorie
Recently I was asked to look into an issue related to QEMU's I/O subsystem performance - specifically, I was looking for differences in performance between glibc's malloc and other malloc implementations'. After a good deal of benchmarking I was unable to see a clear difference between our malloc (glibc) and others, not because the implementations were similar, but because there was too much noise in the system; the benchmarks were being polluted by other things, not just in QEMU, but...