On Wed, Nov 18, 2015 at 02:25:05PM +0100, Petr Mladek wrote: > My intention is to make it easier to manipulate and maintain kthreads. > Especially, I want to replace all the custom main cycles with a > generic one. Also I want to make the kthreads sleep in a consistent > state in a common place when there is no work. > > My first attempt was with a brand new API (iterant kthread), see > http://thread.gmane.org/gmane.linux.kernel.api/11892 . But I was > directed to improve the existing kthread worker API. This is > the 3rd iteration of the new direction. > > > 1st patch: add support to check if a timer callback is being called > > 2nd..12th patches: improve the existing kthread worker API > > 13th..18th, 20th, 22nd patches: convert several kthreads into > the kthread worker API, namely: khugepaged, ring buffer > benchmark, hung_task, kmemleak, ipmi, IB/fmr_pool, > memstick/r592, intel_powerclamp > > 21st, 23rd patches: do some preparation steps; they usually do > some clean up that makes sense even without the conversion. > > > Changes against v2: > > + used worker->lock to synchronize the operations with the work > instead of the PENDING bit as suggested by Tejun Heo; it simplified > the implementation in several ways > > + added timer_active(); used it together with del_timer_sync() > to cancel the work a less tricky way > > + removed the controversial conversion of the RCU kthreads Thank you! ;-) Thanx, Paul -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>