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