June 2009
4 posts
6 tags
Re-arming existing callouts slightly optimized
After general testing, I narrowed down most of the missed-callout problems to my modification of callout_reset_on() in which I remove and reinsert (the old way) callouts that are pending and still on the callout queue.
EDIT: Well turns some interrupts are being missed, not callouts. :-\ Will have to find better ways to test.
Instead of removing and re-inserting the callouts, I’m now...
9 tags
Issues with hardware: LAPIC et al
I did some more “naive” testing: using the system for general and not-so-general tasks, trying to identify any ill effects. The first problem I encountered (which I had been simply enduring for 2+ months) was sluggish system response. Turns out it was because my powerd configuration was set to adaptive instead of hiadaptive. I had always thought the sluggish response was due to bad...
9 tags
Done: Prototype implementation of binary-heap...
After a couple hours of debugging and analyzing ktr(9) traces in ddb, I managed to figure out the problem which was causing kernel panic just 3 hardclock ticks into bootup. I had conveniently forgotten to unlock a mutex in callout_tick() — not exactly forgotten, but overlooked the case when there were no callouts to expire during the current hardclock tick. The mutex should have been...
10 tags
First post!
I decided to maintain a development blog for my Google Summer of Code 2009 project with FreeBSD. The main intent is to document my thought process, successes and failures through this project: mostly as a scratch pad. I hope this will also be useful for those curious to track the progress.
Background information for the project can be found on the FreeBSD wiki. In short, the project’s goal...