Re: [PATCH 03/18] tty: Simplify tty buffer/ldisc interface with helperfunction

From: Ilya Zykov
Date: Wed Mar 20 2013 - 08:47:20 EST

>> I have little question about flush_to_ldisc().
>> Does can it be multithreaded?
>> I think yes, because on SMP schedule_work() can work on different CPU paralleled.
> Yes, the same work item can now run in parallel on SMP since Tejun Heo
> re-did the workqueue implementation on 2.6.36 [Stefan Richter, the
> firewire maintainer, recently explained this history to me].

About multi threaded delayed works:

In many cases tty layer needs single threaded delayed work for each tty instance.
I propose discussion about create for this purpose (tty layer)'s workqueue with WQ_NON_REENTRANT flag.
And use it instead common schedule_work()'s workqueue - system_wq.
I don't know how expensive(for system resource and CPU) it can be,
but for tty layer, it can be very useful.

>> What do you think about this race condition?
> Yes, that is a possible race condition that could lead to some nasty
> results. Good find.
> If you want, I could bring that patch into this patchset or you could
> re-submit that patch to Greg and I could rebase this patchset on top of
> that.

Please, do it anywhere you consider possible,
I can't do it myself now.

Thank you,

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at