August 2009
1 post
5 tags
Status at end of GSoC
So GSoC has officially come to an end, it’s time to summarize what has been and has not been achieved during this time. Two of the goals were achieved, while the third is quite far off right now. The callout “wheel” was replaced with a binary heap. This forms the basis of the suggested improvements to the callout subsystem. The binary heap was implemented as a set of macros...
Aug 24th
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...
Jun 28th
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...
Jun 24th
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...
Jun 23rd
1 note
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...
Jun 23rd