7 swappers and one process with name doe:handler <div><br></div><div>In pawapper processes aswell, when i see the backtrace i see some  mem aborts but couldnot get to the place which is holding the lock<span></span><br><br>On Tuesday, January 27, 2015, Arun KS &lt;<a href="mailto:getarunks@gmail.com">getarunks@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Manty,<br>
<br>
On Tue, Jan 27, 2015 at 11:52 AM, manty kuma &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;mantykuma@gmail.com&#39;)">mantykuma@gmail.com</a>&gt; wrote:<br>
&gt; Dear Arun,<br>
&gt;<br>
&gt; typedef struct raw_spinlock {<br>
&gt;     arch_spinlock_t raw_lock;<br>
&gt; #ifdef CONFIG_GENERIC_LOCKBREAK<br>
&gt;     unsigned int break_lock;<br>
&gt; #endif<br>
&gt; #ifdef CONFIG_DEBUG_SPINLOCK<br>
&gt;     unsigned int magic, owner_cpu;<br>
&gt;     void *owner;<br>
&gt; #endif<br>
&gt; #ifdef CONFIG_DEBUG_LOCK_ALLOC<br>
&gt;     struct lockdep_map dep_map;<br>
&gt; #endif<br>
&gt; } raw_spinlock_t;<br>
&gt;<br>
&gt;<br>
&gt; Unfortunately, CONFIG_DEBUG_SPINLOCK is disabled on my sw. So i do not have<br>
&gt; this information. :(<br>
&gt;<br>
&gt; Any other way?<br>
What is the output from your runq command?<br>
<br>
<br>
Thanks,<br>
Arun<br>
&gt;<br>
&gt; On Tue, Jan 27, 2015 at 3:12 PM, Arun KS &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;getarunks@gmail.com&#39;)">getarunks@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hello Manty,<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Jan 27, 2015 at 11:27 AM, manty kuma &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;mantykuma@gmail.com&#39;)">mantykuma@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Hi All,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Currently I am looking into an issue which is holding the printk<br>
&gt;&gt; &gt; lock(logbuf_lock)<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; logbuf_lock = {<br>
&gt;&gt; &gt;   raw_lock = {<br>
&gt;&gt; &gt;     owner = 0,<br>
&gt;&gt; &gt;     next = 4<br>
&gt;&gt; &gt;   }<br>
&gt;&gt; &gt; }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I read about ticketing spinlocks to understand the above output. I<br>
&gt;&gt; &gt; understood that 4 cpu&#39;s are waiting for the lock while someone already has<br>
&gt;&gt; &gt; it.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I would like to know who has it? Is there a way I can know which process<br>
&gt;&gt; &gt; is acquiring a given spinlock? Is the information not stored in it?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I am using crash tool to analyse the dump<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; crash&gt; raw_spinlock_t<br>
&gt;&gt; typedef struct raw_spinlock {<br>
&gt;&gt;     arch_spinlock_t raw_lock;<br>
&gt;&gt;     unsigned int magic;<br>
&gt;&gt;     unsigned int owner_cpu;<br>
&gt;&gt;     void *owner;<br>
&gt;&gt; } raw_spinlock_t;<br>
&gt;&gt; SIZE: 16<br>
&gt;&gt;<br>
&gt;&gt; The owner field points to task holding the lock, if locked.<br>
&gt;&gt;<br>
&gt;&gt; Here is what i have in one of my dumps,<br>
&gt;&gt; crash&gt; logbuf_lock<br>
&gt;&gt; logbuf_lock = $6 = {<br>
&gt;&gt;   raw_lock = {<br>
&gt;&gt;     {<br>
&gt;&gt;       slock = 464001960,<br>
&gt;&gt;       tickets = {<br>
&gt;&gt;         owner = 7080,<br>
&gt;&gt;         next = 7080<br>
&gt;&gt;       }<br>
&gt;&gt;     }<br>
&gt;&gt;   },<br>
&gt;&gt;   magic = 3735899821,<br>
&gt;&gt;   owner_cpu = 4294967295,<br>
&gt;&gt;   owner = 0xffffffff<br>
&gt;&gt; }<br>
&gt;&gt;<br>
&gt;&gt; since lock is not acquired, it shows 0xFFFFFFFF.<br>
&gt;&gt; Otherwise point to a task_struct *.<br>
&gt;&gt;<br>
&gt;&gt; thanks,<br>
&gt;&gt; Arun<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Regards,<br>
&gt;&gt; &gt; Manty<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; Kernelnewbies mailing list<br>
&gt;&gt; &gt; <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;Kernelnewbies@kernelnewbies.org&#39;)">Kernelnewbies@kernelnewbies.org</a><br>
&gt;&gt; &gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</blockquote></div>