chicken-users
[Top][All Lists]
Advanced

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

[Chicken-users] Re: pet project continued


From: F. Wittenberger
Subject: [Chicken-users] Re: pet project continued
Date: Fri, 05 Dec 2008 18:01:13 +0100

Hi all,

to those who put chicken to heavy loaded mutlithreaded work: on
Fri, 14 Nov 2008 16:21:45 +0100 I posted a patch to the scheduler and an
llrbtree implementation.

If you kept the llrbtree.scm last time, please replace it with the
attached version.  The old one had two bugs (a rare one an one which
covered it from my tests :-{ ).

Further attached a patch to the scheduler and rules.make.  This patch
changes: fd-list and timeout-list became llrbtrees, the ready queue is
split into a ready queue and a waiting queue and select(2)'s are
suppressed until the ready queue has run empty once (this saves
select(2) calls without delaying any thread -- since they would not run
before anyway).  So far the changes, which I posted before (now with
fixes).  The new modification: both the ready-queue and the
waiting-queue are handled more efficiently (amortised: zero
allocations).  Also in this patch: cond-expand'ed section for -feature
rbtree (to use Marc's rbtree implementation) and -feature
ready-queue-linear (which switches back to the last version I posted,
where the ready/waiting split was done, but both with the original queue
code).  (I do not intent to spend time on bringing in a -feature to live
with the old fd-list and timeout-list code.  There is a Big-O difference
in the algorithm, hence not worth to keep.)

Best regards

/Jörg

PS:


Attachment: sched.patch
Description: Text Data

Attachment: llrbtree.scm
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]