Thread (237 messages) 237 messages, 3 authors, 2013-07-25

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

From: Ilya Zykov <hidden>
Date: 2013-03-20 12:47:17
Also in: lkml

quoted
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.
quoted
What do you think about this race condition?
https://lkml.org/lkml/2011/11/7/98
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.
Peter,
Please, do it anywhere you consider possible,
I can't do it myself now.

Thank you,
Ilya.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help