pagedaemon, reaper, etc. Caller provides a callback function and argument which will be called to create the threads.
kthread_create(). Implement kthread_exit() (causes a thrad to exit). Set P_NOCLDWAIT on kernel threads, which will cause any of their children to be reparented to init(8) (which is already prepared to wait out orphaned processes).