Thread (3 messages) 3 messages, 2 authors, 2016-12-17

Re: Blocked kworker in single core RT system

From: Rasmus Ahlberg <hidden>
Date: 2016-12-17 00:14:42

Sorry for taking my time replying. Really appreciate you answering!
Is the workqueue usage that is problematic in the tty core?  Or, is it
in a specific driver?  This is a more generic problem with most of the
deferred work mechanisms that the kernel offers.

Any work deferral system that doesn't map work units one-to-one with
threads suffers the problem where the units cannot independently be
prioritized amongst other system tasks.
It's in the tty core. Some work queue usage in the driver also, but it seems to only be at open or close.
Everyone always asks "is there a kernel config option that magically
fixes my problem?", and the answer is almost always "no" :).

Without having more information about the case you are looking at, I
think it will be difficult to prescribe a potential solution.  If the
workqueue is being used to defer work from interrupt context, then the
use of request_threaded_irq() and pushing the work to thread context
would be better.
I see. Hm, there is some IRQ thread, but not exactly sure if it's the kind you mean, or just a smaller handler. Luckily, we found a patch that converts tty core to using its own kthreads (http://www.spinics.net/lists/linux-serial/msg17783.html). Looking into it right now. It does seem promising.

Regards,
Rasmus Ahlberg
This email and any attached files is for the attention of the intended recipient. The email and any attachments may contain material that is confidential, privileged and/or attorney work product. If you are not the intended recipient: (a) contact the sender immediately and delete from your system all copies of the email including any attachments. (b) do not read, print, retain, copy or disseminate this message or any part of it. Any such unauthorized use may be unlawful. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore can not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. The Electrolux Group www.electrolux.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help