guix-devel
[Top][All Lists]
Advanced

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

Re: The Shepherd on Fibers


From: Ludovic Courtès
Subject: Re: The Shepherd on Fibers
Date: Tue, 29 Mar 2022 14:47:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Maxime Devos <maximedevos@telenet.be> skribis:

> Ludovic Courtès schreef op wo 23-03-2022 om 23:36 [+0100]:
>> Fibers is used in a single-threaded fashion, which is the main
>> constraint for shepherd since it forks.  That also means that fibers
>> cannot be preempted, so it’s fully cooperative scheduling.
>
> When hz!=0, guile-fibers uses with-interrupts/thread-cputime which uses
> threads.  However, when (provided? 'threads) is false, it uses
> 'with-interrupts/sigprof', which uses signal handlers and SIGPROF
> instead.  So with some small tweaks to guile-fibers, it should be
> feasible to have singly-threaded, preemptive scheduling.

Right.  Good to know we can take that route if it turns out to be
necessary.

Ludo’.



reply via email to

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