Re: [PATCHSET wq/for-3.10-tmp] workqueue: implement workqueue with custom worker attributes

Lai Jiangshan
2013-03-11T15:40:30Z

On Mon, Mar 11, 2013 at 11:24 PM, Tejun Heo <tj@kernel.org> wrote:
> On Sun, Mar 10, 2013 at 05:01:13AM -0700, Tejun Heo wrote:
>> Hey, Lai.
>>
>> On Sun, Mar 10, 2013 at 06:34:33PM +0800, Lai Jiangshan wrote:
>> > > This patchset contains the following 31 patches.
>> > >
>> > > 0001-workqueue-make-sanity-checks-less-punshing-using-WAR.patch
>> >
>> > > 0002-workqueue-make-workqueue_lock-irq-safe.patch
>> >
>> > workqueue_lock protects too many things. We can introduce different locks
>> > for different purpose later.
>>
>> I don't know. My general attitude toward locking is the simpler the
>> better. None of the paths protected by workqueue_lock are hot.
>> There's no actual benefit in making them finer grained.
>
> Heh, I need to make workqueues and pools protected by a mutex rather
> than spinlock, so I'm breaking out the locking after all. This is
> gonna be a separate series of patches and it seems like there are
> gonna be three locks - wq_mutex (pool and workqueues), pwq_lock
> (spinlock protecting pwqs), wq_mayday_lock (lock for the mayday list).

Glad to hear this.
wq_mayday_lock is needed at least. spin_lock_irq(workqueue_lock)
with long loop in its C.S hurts RT people.

Thanks,
Lai

>
> Thanks.
>
> --
> tejun
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/