summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2003-11-08 03:03:17 +0000
committerdavidxu <davidxu@FreeBSD.org>2003-11-08 03:03:17 +0000
commit42bda3c853f66ed06861c00ef658d17f509ea647 (patch)
tree50781b4beb35c3c3eb9418d8968256834a8dd96f /sys/kern
parent50e07efd606e8ce4d81d6fa91e6bda28184b9962 (diff)
downloadFreeBSD-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.c2
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);
OpenPOWER on IntegriCloud