DragonFly BSD
DragonFly submit List (threaded) for 2003-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: lwkt_msgport.c


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 31 Dec 2003 16:07:32 -0800 (PST)

:Hi !
:
:> functions does not add very much overhead as its just a value
:> being incremented by one.
:*Taking the teacher's hat*
:By 32, not one.
:*Dropping the teacher's hat*
:...
:Cheers and still a
:Happy New Year
:Peter
:<peter.kadau@xxxxxxxxxxxxxxxx>

    Right.  The LWKT thread's priority field also doubles as the critical
    section counter.  LWKT priorities range from 0-31.  A critical section
    is entered by adding 32 to the priority.

    There are overflow checks in the lwkt_token code as well as in
    conditionalized INVARIANTS code in crit_exit().  Hmm.  Actually, now
    that I look at it I should probably shift the overflow check in
    crit_enter().

    Why do I do things this way?  Well, it was probably overkill on my part
    but in my early LWKT work it actually reduced code complexity in the
    critical path by allowing certain priority & critical section checks to
    be collapsed into a single compare.  I could probably optimize things
    even more but there's a point when one has to judge a piece of work
    as 'done' and move on :-)

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]