Hi guys, Send to list this time. On Sat, Oct 8, 2011 at 10:09 AM, Daniel Baluta <daniel.baluta@xxxxxxxxx> wrote: > On Sat, Oct 8, 2011 at 7:19 PM, Parmenides <mobile.parmenides@xxxxxxxxx> wrote: >> 2011/10/8 Chetan Nanda <chetannanda@xxxxxxxxx>: >>> >>> New task pick by scheduler may try to get the same lock resulting in >>> deadlock >> >> It seems that this kind of deadlock may be removed eventually. Suppose >> that we have a task A, which is holding a spinlock. If A is preempted >> by task B which try to obtain the same spinlock. Although B has to >> busy wait, it will end up with be preempted owing to using up its >> timeslice. Therefore, A has chance to be selected by shechedler and >> release the spinlock. Then, B will go on when it is selected by the >> secheduler next time. > > Well, I think that if task B has higher priority than task A, then A would > never have the chance to release the lock. Task A probably should have acquired the spinlock with interrupts and/or preemption disabled, and then it would have never lost control. If task B is also running, then it's running a separate core, and task A will still be able to continue running. -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies