diff options
author | davidxu <davidxu@FreeBSD.org> | 2003-11-08 03:03:17 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2003-11-08 03:03:17 +0000 |
commit | 42bda3c853f66ed06861c00ef658d17f509ea647 (patch) | |
tree | 50781b4beb35c3c3eb9418d8968256834a8dd96f /sys/kern | |
parent | 50e07efd606e8ce4d81d6fa91e6bda28184b9962 (diff) | |
download | FreeBSD-src-42bda3c853f66ed06861c00ef658d17f509ea647.zip FreeBSD-src-42bda3c853f66ed06861c00ef658d17f509ea647.tar.gz |
Return a reasonable number for top or ps to display for M:N thread,
since there is no direct association between M:N thread and kse,
sometimes, a thread does not have a kse, in that case, return a pctcpu
from its last kse, it is not perfect, but gives a good number to be
displayed.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/sched_4bsd.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c index 1a23157..be4b16a 100644 --- a/sys/kern/sched_4bsd.c +++ b/sys/kern/sched_4bsd.c @@ -723,6 +723,8 @@ sched_pctcpu(struct thread *td) struct kse *ke; ke = td->td_kse; + if (ke == NULL) + ke = td->td_last_kse; if (ke) return (ke->ke_pctcpu); |