[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH 7/8] lib/ukschedcoop: Fix yield behavior when current thread is first in thread list
On 5/28/19 10:14 PM, Florian Schmidt wrote: > Hi Costin, > > when testing this patch, I ran into an issue. If I create a chain of > three threads that spawn one each and then go to sleep, I get stuck in > an infinite loop here: > > On 4/23/19 12:41 PM, Costin Lupu wrote: >> + /* wake some sleeping threads */ >> + UK_TAILQ_FOREACH_SAFE(thread, &prv->sleeping_threads, >> thread_list, tmp) { >> + if (thread->wakeup_time && thread->wakeup_time <= now) { >> + uk_thread_wake(thread); >> + UK_TAILQ_REMOVE(&prv->sleeping_threads, >> + thread, thread_list); >> + if (thread != uk_thread_current()) >> + UK_TAILQ_INSERT_TAIL(&prv->thread_list, >> + thread, thread_list); >> + >> + } else if (thread->wakeup_time < min_wakeup_time) >> + min_wakeup_time = thread->wakeup_time; >> } > > Can you have a look and see what goes wrong there? I sent you my test > program off-list. Yeah, I forgot some code in the patch. I will send a v2. Thanks, Costin _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |