Collective resource limits status report #6

Gabor Kovesdan gabor at FreeBSD.org
Sun Jul 11 17:12:34 UTC 2010


Since last report, I've found out where's the bug in my code I just 
don't know yet the reason and the solution. The upper half of a 64-bit 
variable gets corrupted and then a comparison, which should evaluate to 
true just fails. I'll switch to a 32-bit jid_t for now and hopefully 
that will solve this and I can progress until I find out the reason and 
then I can switch back to a 64-bit jid_t.

Apart from this investigation, I've cleanup up the locking. First, I 
wanted to add a 2-level locking, one lock for the linked list itself 
that holds the job entries and one particular lock for each entry. I 
wanted to minimize sleeping on locks in this way but probably it was an 
overkill because these operations are short and the locking overhead 
might be higher than what we could gain. And it just didn't work 
correctly. Now I only use one rwlock for list operations and it seems fine.

I've also added some lines of code and applied some whitespace cleanup. 
Now buildworld/buildkernel is running and when it finishes I hope my 
code will work with 32-bit jid_t and then finally I can concentrate on 
actual limits.

Latest sources in //depot/projects/soc2010/gabor_jobs/irix_jobs/.

Gabor


More information about the soc-status mailing list