Hello, On Tue, Jul 29, 2014 at 09:26:35AM +0800, Lai Jiangshan wrote: > > It's a bit difficult to get excited about this patchset given that > > this is mostly churn without many actual benefits. Sure, it > > consolidates one-per-pool managers into one kthread_worker but it was > > one-per-pool already. That said, I don't hate it and it may be > > considered an improvement. I don't know. > > It prefers to processing works rather than creating worker without any > loss of the guarantee. > > processing works makes directly progress for the system. > creating worker makes delay and indirectly progress.
That's misleading, isn't it? Both process work items the same. The only difference is per-pool manager ends up using more tasks, thus a bit more memory, doing it. There really is no signficant behavior difference between the two schemes except for how many tasks end up serving as the manager. > > This is kinda silly when the duty of worker creation is served by an > > external entity. Why would a pool need any idle worker? > > The idle worker must be ready or being prepared for wq_worker_sleeping() > or chained-wake-up. > > percpu-kthreadd can serve for wq_worker_sleeping() in this case, but it is > not a good idle to introduce percpu-kthreadd now since no other user. Hmmm... I'm not really sure what we're getting with this. It doesn't look much simpler to me. :( Lai, I don't know. If this ends up simplifying things significantly, sure, but as it currently stands, I can't see why we'd need to do this. If you wanna pursue this, please try to make it more beneficial. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/