Re: [PATCH] loop: add WQ_MEM_RECLAIM flag to per device workqueue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

On Tue, Mar 22, 2022 at 07:53:49AM +0900, Tetsuo Handa wrote:
> On 2022/03/22 1:55, Tejun Heo wrote:
> > No, just fix the abusers. There are four abusers in the kernel and they
> > aren't difficult to fix.
> 
> So, are you expecting that a change shown below happens, by adding WQ_MEM_RECLAIM
> flag to all WQs which may hit "workqueue: WQ_MEM_RECLAIM %s:%ps is flushing
> !WQ_MEM_RECLAIM %s:%ps" warning? Otherwise, __WQ_LEGACY flag will continue
> serving as a hack for suppressing this warning.

If you convert them to all of them in the flush chain to use
alloc_workqueue() w/ MEM_RECLAIM, the warning will go away.

>  #define create_workqueue(name)						\
> -	alloc_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM, 1, (name))
> +	alloc_workqueue("%s", WQ_MEM_RECLAIM, 1, (name))
>  #define create_freezable_workqueue(name)				\
> -	alloc_workqueue("%s", __WQ_LEGACY | WQ_FREEZABLE | WQ_UNBOUND |	\
> +	alloc_workqueue("%s", WQ_FREEZABLE | WQ_UNBOUND |	\
>  			WQ_MEM_RECLAIM, 1, (name))
>  #define create_singlethread_workqueue(name)				\
> -	alloc_ordered_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM, name)
> +	alloc_ordered_workqueue("%s", WQ_MEM_RECLAIM, name)

But why are you dropping the flag from their intended users?

Thanks.

-- 
tejun



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux