On 13/08/2009, at 18:54, Julian Elischer <julian_at_elischer.org> wrote: > Andrew Thompson wrote: >> Hi, >> Here is an aesthetic patch to change the usb kernel processes to >> threads, >> this hides them from the usual 'ps' output. Please test and review. >> 1290 ?? DL 0:00.00 [usbus0] >> [lots and lots more...] >> 1309 ?? DL 0:00.00 [usbus4] >> After the patch they can be seen as kernel threads. >> PID TID COMM TDNAME CPU PRI STATE >> WCHAN 0 100000 kernel swapper 0 68 >> sleep sched 0 100009 kernel firmware taskq >> 0 92 sleep - 0 100020 kernel kqueue >> taskq 0 92 sleep - 0 100021 kernel >> acpi_task_0 0 92 sleep - 0 100022 >> kernel acpi_task_1 0 92 sleep - 0 >> 100023 kernel acpi_task_2 0 92 sleep >> - 0 100027 kernel thread taskq 0 92 >> sleep - 0 100031 kernel bwi0 taskq >> 0 16 sleep - 0 100032 kernel bwi0 >> taskq 0 16 sleep - 0 100106 >> kernel usbus0 0 20 sleep wmsg 0 >> 100107 kernel usbus0 0 16 sleep >> wmsg 0 100108 kernel usbus0 0 20 >> sleep wmsg 0 100109 kernel usbus0 >> 0 20 sleep wmsg [ ... ] >> 0 100127 kernel usbus4 0 20 sleep >> wmsg Andrew > > use kproc_kthread_add() > to create a seoarate usb process and make all the threads belong to > that process. > (kproc_kthread_add() will create a new process the first time > and add more threads to it the more it is run.) I have found a problem with this use of kproc_kthread_add where all the threads can exit (unload all hci modules) and the proc exits. On the next thread add it panics on a stale proc pointer. It may be easier just to use kthread_create which adds on proc0. AndrewReceived on Fri Aug 21 2009 - 10:57:46 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC