Re: [PATCH] sysfs: use different lockdep subclass for s_active deactivation

From: Miles Lane
Date: Thu Apr 26 2007 - 14:51:54 EST


On 4/26/07, Tejun Heo <htejun@xxxxxxxxx> wrote:
Miles Lane wrote:
> On 4/26/07, Tejun Heo <htejun@xxxxxxxxx> wrote:
>> A sysfs node can delete other sysfs files when accessed. This results
>> in recursive s_active locking - read lock for file access, down lock
>> of the vicitim for deactivation. Tell lockdep that it's okay.
>>
>> Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
>> ---
>> Miles, please test this patch. It should remove the lockdep warning.
>> Fixes for the other two problems will soon follow.
>>
>> Greg, Andrew, after all the fixes are verified, I'll merge the fixes
>> into the original patches and resend all the sysfs updates in better
>> shape. Sorry about all the trouble.
>
> Should I test this with 2.6.21-rc7-mm2?
> It doesn't apply cleanly.
>
> # patch -p1 -l --dry-run < tejun.patch
> patching file fs/sysfs/dir.c
> Hunk #1 succeeded at 31 with fuzz 1 (offset -29 lines).
> patching file fs/sysfs/sysfs.h
> Hunk #1 succeeded at 40 (offset -1 lines).
> Hunk #2 succeeded at 182 with fuzz 1 (offset -1 lines).

It's in the middle of gregkh patch series but you can safely ignore the
fuzzes.

WIth this patch applied to 2.6.21-rc7-mm2, I am not seeing any of the
problems I reported against 2.6.21-mm1, except for one. The first
time I tried to suspend from the Gnome Quit dialog, I heard the pop
associated with unloading the sound module, but all the buttons stayed
lit up until I touched the Synaptics mousepad. Then the machine
entered the suspend state. Subsequent attempts to suspend worked
without a hitch (no mousepad events required). Another problem I
noticed is that the lib switch is not triggering a suspend. I tried
repeatedly.

Thanks,
Miles
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/