![]() | |||||||||||
Messages in this thread |
* OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> wrote: > > i found another bug and realized that the whole __resched_legal() > > approach is fundamentally wrong! The patch below fixes this. > > Hmm.. but the path seems, > > -> cond_resched() > -> if (__resched_legal()) /* preempt_count == 0 */ > -> __cond_resched() /* preempt_count == 0x10000000 */ > -> schedule() > [...] > -> cond_resched() > -> if (__resched_legal()) /* preempt_count == 0x10000000 */ > -> __cond_resched() /* preempt_count == 0x20000000 */ > -> schedule() /* warning */ > > Where is it prevented? Or warning is just wrong? this should be handled by the second version of the patch i sent out yesterday. When we have PREEMPT_ACTIVE set, no schedule() call is legal. Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2006-12-27 12:21 [from the cache] ©2003-2008 | |||||||||||