Date: Thu, 13 Aug 2009 00:30:02 -0700 From: Andrew Thompson <thompsa@FreeBSD.org> To: current@freebsd.org Cc: Hans Petter Selasky <hselasky@c2i.net> Subject: usb kthreads Message-ID: <20090813073002.GA66860@citylink.fud.org.nz>
next in thread | raw e-mail | index | archive | help
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
Index: dev/usb/usb_process.c
===================================================================
--- dev/usb/usb_process.c (revision 196086)
+++ dev/usb/usb_process.c (working copy)
@@ -64,9 +64,9 @@
#if (__FreeBSD_version >= 800000)
#define USB_THREAD_CREATE(f, s, p, ...) \
- kproc_create((f), (s), (p), RFHIGHPID, 0, __VA_ARGS__)
-#define USB_THREAD_SUSPEND(p) kproc_suspend(p,0)
-#define USB_THREAD_EXIT(err) kproc_exit(err)
+ kthread_add((f), (s), NULL, (p), 0, 0, __VA_ARGS__)
+#define USB_THREAD_SUSPEND(p) kthread_suspend(p,0)
+#define USB_THREAD_EXIT(err) kthread_exit()
#else
#define USB_THREAD_CREATE(f, s, p, ...) \
kthread_create((f), (s), (p), RFHIGHPID, 0, __VA_ARGS__)
Index: dev/usb/usb_process.h
===================================================================
--- dev/usb/usb_process.h (revision 196086)
+++ dev/usb/usb_process.h (working copy)
@@ -49,7 +49,7 @@ struct usb_process {
struct cv up_cv;
struct cv up_drain;
- struct proc *up_ptr;
+ struct thread *up_ptr;
struct thread *up_curtd;
struct mtx *up_mtx;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090813073002.GA66860>
