<p dir="ltr"><br>
On Mar 25, 2015 10:31 AM, &quot;Sreejith M M&quot; &lt;<a href="mailto:sreejith.mm@gmail.com">sreejith.mm@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On Wed, Mar 25, 2015 at 10:55 PM,  &lt;<a href="mailto:Valdis.Kletnieks@vt.edu">Valdis.Kletnieks@vt.edu</a>&gt; wrote:<br>
&gt; &gt; On Wed, 25 Mar 2015 21:35:22 +0530, Sreejith M M said:<br>
&gt; &gt;<br>
&gt; &gt;&gt; &gt; This code is handling context switch from a kernel thread back to user mode<br>
&gt; &gt;&gt; &gt; thread so TLB entries are invalid translation for user mode thread and do<br>
&gt; &gt;&gt; &gt; not correspond to user process pgd. It is Master kernel page table<br>
&gt; &gt;&gt; &gt; translation as a result of kernel thread execution.<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; -Rajat<br>
&gt; &gt;&gt; Hi Rajat,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; If that is the case, why this code is put under CONFIG_SMP switch?<br>
&gt; &gt;<br>
&gt; &gt; Vastly simplified because I&#39;m lazy :)<br>
&gt; &gt;<br>
&gt; &gt; If you look at the code, it&#39;s poking the status on *other* CPUs.  That&#39;s why<br>
&gt; &gt; the cpumask() stuff.<br>
&gt; &gt;<br>
&gt; &gt; If you&#39;re on a single execution unit, you don&#39;t have to tell the other<br>
&gt; &gt; CPU about the change in state, because there isn&#39;t an other CPU.<br>
&gt;<br>
&gt; can you come out of this lazy mode explain this a bit more because I<br>
&gt; am a newbie ?or tell me what else I should know before I have to<br>
&gt; understand this code<br>
&gt;<br>
&gt; --<br>
&gt; Regards,<br>
&gt; Sreejith</p>
<p dir="ltr">Valdis is talking about lazy tlb flush, not him being lazy. Otherwise he wouldn&#39;t have replied at all :)</p>