From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4C15141C.4090502@bouyapop.org> Date: Sun, 13 Jun 2010 19:23:40 +0200 From: Philippe Anel User-Agent: Thunderbird 2.0.0.24 (X11/20100318) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> References: <8ebe5bdc32ec6d9b7efc27b0b0b3697c@hamnavoe.com> <4C14EA90.8020108@bouyapop.org> <4C1508AC.5010400@bouyapop.org> In-Reply-To: <4C1508AC.5010400@bouyapop.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [9fans] 9vx, kproc and *double sleep* Topicbox-Message-UUID: 324e161c-ead6-11e9-9d60-3106f5b1d025 Hi, The solution is not that simple. I mean when kprocs go to sleep through the call to psleep(), a pwakeup() is required. We cannot simply change the following sched.c:^runproc() part : while((p = kprocq.head) == nil){ by: while(((p = kprocq.head) == nil) || p->mach){ The a/proc.c scheduler is different as it goes idle and can be awakened by an interrupt (or a working kproc in 9vx). Phil; >> >> So is changing 9vx/sched.c to do these two steps the real fix? >> >> ron