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