lkml.org 
[lkml]   [2011]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH -v1] acpi: Fix possible recursive locking in hwregs.c
From
On Thu, Nov 3, 2011 at 11:40 PM, Srivatsa S. Bhat
<srivatsa.bhat@linux.vnet.ibm.com> wrote:
> Hi,
>
> On 11/03/2011 05:32 PM, Lin Ming wrote:
>> On Thu, 2011-11-03 at 18:48 +0800, Rakib Mullick wrote:
>>> Calling pm-suspend might trigger a recursive lock in it's code path. In function acpi_hw_clear_acpi_status,
>>
>> As I replied at https://lkml.org/lkml/2011/9/22/6, I still don't think
>> there is a recursive lock.
>>
>
> At first look, it definitely doesn't look like a recursive lock, as Lin said.
> But, quoting Documentation/lockdep-design.txt:
>
> "Multi-lock dependency rules:
> ----------------------------
>
> The same lock-class must not be acquired twice, because this could lead
> to lock recursion deadlocks."
>
> So, Rakib, do the 2 locks belong to the same lock-class? If yes, then I think
> that is the reason for the lockdep splat. Could you show the lockdep warning?
>
Yes, same lock-class. And as per "Multi-lock dependency rules:", it
leads to lock recursion deadlocks.
Lockdep warning attached.

> By the way, another way to look at this patch is as an optimization..
> i.e., if acpi_gbl_hardware_lock doesn't need to be held to call
> acpi_ev_walk_gpe_list(), then we can move from the coarse-grained locking
> to finer-grained locking by releasing it earlier, as you did in your patch.
> [Note that you will have to update the goto label also, i.e., rename it as
> 'exit' or something like that]
>
I can do it, thanks for suggestions. But, what does Lin thinks? Lin
are you okay?

Thanks,
Rakib
[unhandled content-type:application/octet-stream]
\
 
 \ /
  Last update: 2011-11-04 06:55    [W:0.069 / U:1.192 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site