scheduling off the waiting list

Poul-Henning Kamp phk at phk.freebsd.dk
Wed Dec 9 21:23:20 CET 2009


In message <4B2004CE.5080604 at schokola.de>, Nils Goroll writes:
>Hi Poul-Henning,
>
>thank you for taking the time to respond.
>
>> What happens here is that another client/thread holds this object
>> "busy" while it is being fetched from the backend.  Once the object
>> is marked unbusy, the waiting threads are relased, and calls hash
>> again.
>
>My understanding is that the waiting sessions are re-scheduled on threads, right?

Correct.

>What I would really like to see is that the waitinglist gets rescheduled when 
>the busy object is actually becomes in the cache. I am suspecting this has to do 
>with calling HSH_Deref(&Parent) in HSH_Unbusy and/or the fact that HSH_Drop 
>calls both Unbusy and Deref, but I don't understand this yet.

That is how it is supposed to work, and I belive, how it works.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the varnish-dev mailing list