* Byungchul Park [off-list ref] wrote:
quoted hunk ↗ jump to hunk
The workqueue added manual acquisitions to catch deadlock cases.
Now crossrelease was introduced, some of those are redundant, since
wait_for_completion() already includes the acquisition for itself.
Removed it.
Signed-off-by: Byungchul Park <redacted>
---
include/linux/workqueue.h | 4 ++--
kernel/workqueue.c | 19 +++----------------
2 files changed, 5 insertions(+), 18 deletions(-)
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
index f3c47a0..1455b5e 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -218,7 +218,7 @@ static inline void destroy_delayed_work_on_stack(struct delayed_work *work) { }
\
__init_work((_work), _onstack); \
(_work)->data = (atomic_long_t) WORK_DATA_INIT(); \
- lockdep_init_map(&(_work)->lockdep_map, #_work, &__key, 0); \
+ lockdep_init_map(&(_work)->lockdep_map, "(complete)"#_work, &__key, 0); \
This has a similar naming problem as the block bits: should be "wq_completion" or
such.
Thanks,
Ingo