Re: possible deadlock in generic_file_write_iter

From: Byungchul Park
Date: Tue Nov 07 2017 - 03:42:45 EST


11/7/2017 5:31 PMì Dmitry Vyukov ì(ê) ì ê:
On Tue, Nov 7, 2017 at 9:30 AM, Byungchul Park <byungchul.park@xxxxxxx> wrote:
11/7/2017 5:11 PMì Peter Zijlstra ì(ê) ì ê:

On Tue, Nov 07, 2017 at 09:54:42AM +0900, Byungchul Park wrote:

The best I could come up with is something like the below; its not
at all pretty and I could see people objecting; least of all myself for
the __complete() thing, but I ran out of creative naming juice.


Patches assigning a lock_class per gendisk were already applied in tip.
I believe that solves this.

e319e1fbd9d42420ab6eec0bfd75eb9ad7ca63b1
block, locking/lockdep: Assign a lock_class per gendisk used for
wait_for_completion()

I think the following proposal makes kernel too hacky.


Ah, I tough this was with those included...


Please CC me for issues wrt. crossrelease.

Hi Byungchul,

Whom are you asking? And what is crossrelease?

Hi Dmitry,

Actually, I asked Peter since he know I am the author of
crossrelease which is a feature enhancing lockdep detection.

That makes deadlocks caused by wait_for_completion() or
lock_page() detectable.

The feature was merged and disabled by default for now in
vanilla because of its performance regression, though that
was fixed and enabled in tip latest.

--
Thanks,
Byungchul