<p><br>
On 7 Oct 2011 16:58, &quot;Parmenides&quot; &lt;<a href="mailto:mobile.parmenides@gmail.com">mobile.parmenides@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi,<br>
&gt;<br>
&gt;   Preemption has two cases: user preemption and kernel preemption. I<br>
&gt; have tow questions about them.<br>
&gt;<br>
&gt; 1. According to Love, &quot;If the kernel is returning to user-space, it<br>
&gt; knows it is in a safe quiescent state. In other words, if it is safe<br>
&gt; to continue executing the current task, it is also safe to pick a new<br>
&gt; task to execute.&quot; What&#39;s the meaning of user preemption&#39;s safety? How<br>
&gt; can we deduce safety of schedule from the current task going on?<br>
&gt;<br>
&gt; 2. Another statement from Love is that &quot;the kernel can preempt a task<br>
&gt; running in the kernel so long as it does not hold a lock&quot;. Why is it<br>
&gt; not safe while kernel code holding lock?<br>
New task pick by scheduler may try to get the same lock resulting in deadlock<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Kernelnewbies mailing list<br>
&gt; <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
&gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</p>