As a tech geek, I’m quite sensitive to a current trend that aims at pushing the Web towards globally encrypted communications. My main problem with this idea was trust in certificate authorities, and as a result, I ended up being my own CA, which only a few people could trust. More »
A while ago, I broke the wide angle eyepiece I mentioned in a previous post. It had dust inside its 4 elements, and I tried to clean it up. As I was a little frustrated by the presence of dust inside the eyepiece itself, I decided that I would only buy very good quality eyepieces from now on. More »
The first thing people usually do when they get their telescope is to get better eyepieces. More »
So I decided to start amateur astronomy, an idea hanging around for some time now, and as anyone else who did, I asked myself: which telescope ? More »
As an intended successor to the Mach microkernel, X15 inherited some of its trends, in both its internal APIs and its implementation. More »
Well, Buildbot didn’t turn out well. Quality is too low for my taste, so I decided to switch to another one, namely Jenkins. And for now, despite not being very fond of Java applications, I’m quite satisfied. It supports the basic features I was looking for (automatic building, decent configuration power, a nice web interface, users and rights management, IRC notifications), but I was also surprised by multi-configuration builds, which fit perfectly with my needs.
Despite being small, X15 already supports quite a few configurations, such as i386 (32-bits x86, with or without PAE), amd64 (also known as x86_64) and a bunch of test modules. It’s very likely to support more in the future, so I decided to take some time and try Buildbot, a continuous integration framework, to automate builds with varying options. A link to the web interface is now in the main menu bar of the web site.
The new sref module provides scalable reference counters, implemented as described in the RadixVM paper (3.1 Reference counting with Refcache). Weak references aren’t supported, since I’m not sure they’ll actually be needed, but it’s already realtime-friendly, as all critical sections implemented by disabling preemption are constant-time and short, and also dyntick-friendly, by tracking which processors actually participate in reference counting, without the need to regularly wake idle processors to function. Along with per-processor page tables, this was the last major step towards revamping (and completing) the virtual memory system.
For some reason, the system has become more unstable recently. I’ve seen it freeze as soon as swapping memory out. I suspect it’s because of recent changes on the ext2 file system. These changes are good but they expose existing bugs we didn’t suffer from in the past. In order to cope with that, I’ve been using a kernel with no VM object cache, and completely synchronous file system accesses.
During my years working in different teams at different companies, I was struck by the general lack of understanding about memory. More »