[0/3] Suppress false positives triggered by workqueue lockdep annotations
mbox series

Message ID 20181025150540.259281-1-bvanassche@acm.org
Headers show
Series
  • Suppress false positives triggered by workqueue lockdep annotations
Related show

Message

Bart Van Assche Oct. 25, 2018, 3:05 p.m. UTC
Hi Tejun,

In my tests with kernel v4.19 I noticed that several new false positive
reports were generated by the workqueue lockdep annotations. This patch
series addresses one of these false positives. Another false positive
will be addressed by a patch for the NVMe target driver. Please consider
these patches for the upstream kernel.

Thanks,

Bart.

Bart Van Assche (3):
  kernel/workqueue: Remove lockdep annotation from __flush_work()
  kernel/workqueue: Surround work execution with shared lock annotations
  kernel/workqueue: Suppress a false positive lockdep complaint

 include/linux/workqueue.h |  1 +
 kernel/workqueue.c        | 28 ++++++++++++++--------------
 2 files changed, 15 insertions(+), 14 deletions(-)

Comments

Johannes Berg Oct. 25, 2018, 3:27 p.m. UTC | #1
Hi Bart,

> In my tests with kernel v4.19 I noticed that several new false positive
> reports were generated by the workqueue lockdep annotations. This patch
> series addresses one of these false positives.

I tried my best to explain why they're not false positives as far as
lockdep is concerned, so I'd appreciate if you could address *why* you
actually think they are such.

I can understand that they are false positives as far as the code
*causing* this is concerned, but this isn't how lockdep works. It
generally tracks any dependency between "locks" (timers also, btw.) at
any time, to later be able to find issues.

This, however, should be solved at the places that actually show the
problem, not by making the lockdep annotations less powerful.

johannes
Bart Van Assche Oct. 25, 2018, 3:47 p.m. UTC | #2
On Thu, 2018-10-25 at 17:27 +0200, Johannes Berg wrote:
> > In my tests with kernel v4.19 I noticed that several new false positive
> > reports were generated by the workqueue lockdep annotations. This patch
> > series addresses one of these false positives.
> 
> I tried my best to explain why they're not false positives as far as
> lockdep is concerned, so I'd appreciate if you could address *why* you
> actually think they are such.

Please read the descriptions of the individual patches. These descriptions
explain clearly which false positives are being addressed.

Bart.