Messages in this thread | | | Date | Sat, 12 Mar 2016 14:01:20 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [RFC][PATCH v2 1/2] printk: Make printk() completely async |
| |
Hello Tejun,
On (03/11/16 12:22), Tejun Heo wrote: > On Tue, Mar 08, 2016 at 07:21:52PM +0900, Sergey Senozhatsky wrote: > > I'd personally prefer to go with the "less dependency" option -- a dedicated > > kthread, I think. mostly for the sake of simplicity. I agree with the point > > that console_unlock() has unpredictable execution time, and in general case > > we would have a busy kworker (or sleeping in console_lock() or doing > > cond_resched()) and an idle extra WQ_RESCUER kthread, with activation rules > > that don't depend on printk. printk with dedicated printk-kthread seems > > easier to control. how does it sound? > > I don't think it makes sense to avoid workqueue for execution latency. > The only case which can matter is the rescuer case and as I wrote > before the system is already in an extremely high latency mode by the > time rescuer is needed, so it's unlikely to make noticeable > differences. > > However, I agree that using kthread is a good idea here just to reduce > the amount of dependency as prink working even during complex failures > is important. workqueue itself is fairly complex and it also requires > timer and task creation to work correctly for proper operation. > That's a lot of extra dependency.
Thanks!
I agree that, in some cases (if not in most of them) the "value" of printk() output is inversely proportional to the system health -- the worst the state, the more attention people pay to printk() output; so a simpler solution here gives more confidence.
-ss
| |