DJ Delorie

DJ Delorie's contributions

GNU C library
Article

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.

Article

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

RISC-V Logo
Article

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...

            Article
       Thumbnail
Article

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 of...

Article

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...