Hello,

On Tue, Jul 30, 2024 at 05:31:17PM -0700, Matthew Brost wrote:
> +#define alloc_ordered_workqueue_lockdep_map(fmt, flags, lockdep_map, 
> args...)        \
> +     alloc_workqueue_lockdep_map(fmt, WQ_UNBOUND | __WQ_ORDERED | (flags), 
> 1, lockdep_map, ##args)
> +#endif

alloc_ordered_workqueue() is a macro too but would you mind making this an
inline function?

> @@ -4795,11 +4795,17 @@ static void wq_init_lockdep(struct workqueue_struct 
> *wq)
>  
>  static void wq_unregister_lockdep(struct workqueue_struct *wq)
>  {
> +     if (wq->flags & __WQ_USER_OWNED_LOCKDEP)
> +             return;

Do you still need the flag? Can't you test wq->lockdep_map !=
&wq->__lockdep_map instead?

Thanks.

-- 
tejun

Reply via email to