Harald Hoyer

Triple Faults for Debug

A Python Transaction Class

This is a repost of a blog post of 2008. Just for the reference :-)

This class allows sub-classes to commit changes to an instance to a history, and rollback to previous states.

libtool: getting rid of 180,000 sed forks

When compiling systemd on rawhide, we noticed a significant slowdown in compile time. Investigating further, it turns out, that libtool forks an incredible amount of sed. Running perf showed 30% of the "make all" was spent in bash. strace showed an execve of sed with the same arguments 180,000 times!!!!!

Single UEFI executable for kernel+initrd+cmdline

Lately Kay Sievers and David Herrmann created a UEFI loader stub, which starts a linux kernel with an initrd and a kernel command line, which are COFF sections of the executable. This enables us to create single UEFI executable with a standard distribution kernel, a custom initrd and our own kernel command line attached.

Self Hosting Fedora Base

If you want to bootstrap a distribution or want to rebuild it from the sources (SRPMS) to get the same binaries (think CentOS), you have to build the build tools and rebuild them with the built build tools, which have to be built with other build tools…

My goal for a self-hosting Fedora Base is to reduce the number of packages to do such a rebuild.

Linux: HOWTO get the number of CPUs

$ getconf _NPROCESSORS_ONLN

returns the number of CPUs online.