sched_ule.c (110028) | sched_ule.c (110226) |
---|---|
1/*- 2 * Copyright (c) 2003, Jeffrey Roberson <jeff@freebsd.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2003, Jeffrey Roberson <jeff@freebsd.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/kern/sched_ule.c 110028 2003-01-29 07:00:51Z jeff $ | 26 * $FreeBSD: head/sys/kern/sched_ule.c 110226 2003-02-02 08:24:32Z scottl $ |
27 */ 28 29#include <sys/param.h> 30#include <sys/systm.h> 31#include <sys/kernel.h> 32#include <sys/ktr.h> 33#include <sys/lock.h> 34#include <sys/mutex.h> --- 670 unchanged lines hidden (view full) --- 705 ke->ke_ksegrp->kg_runq_kses--; 706 KSEQ_CPU(ke->ke_oncpu)->ksq_load--; 707} 708 709fixpt_t 710sched_pctcpu(struct kse *ke) 711{ 712 fixpt_t pctcpu; | 27 */ 28 29#include <sys/param.h> 30#include <sys/systm.h> 31#include <sys/kernel.h> 32#include <sys/ktr.h> 33#include <sys/lock.h> 34#include <sys/mutex.h> --- 670 unchanged lines hidden (view full) --- 705 ke->ke_ksegrp->kg_runq_kses--; 706 KSEQ_CPU(ke->ke_oncpu)->ksq_load--; 707} 708 709fixpt_t 710sched_pctcpu(struct kse *ke) 711{ 712 fixpt_t pctcpu; |
713 int realstathz; |
|
713 714 pctcpu = 0; | 714 715 pctcpu = 0; |
716 realstathz = stathz ? stathz : hz; |
|
715 716 if (ke->ke_ticks) { 717 int rtick; 718 719 /* Update to account for time potentially spent sleeping */ 720 ke->ke_ltick = ticks; 721 sched_pctcpu_update(ke); 722 723 /* How many rtick per second ? */ 724 rtick = ke->ke_ticks / (SCHED_CPU_TIME * 10000); | 717 718 if (ke->ke_ticks) { 719 int rtick; 720 721 /* Update to account for time potentially spent sleeping */ 722 ke->ke_ltick = ticks; 723 sched_pctcpu_update(ke); 724 725 /* How many rtick per second ? */ 726 rtick = ke->ke_ticks / (SCHED_CPU_TIME * 10000); |
725 pctcpu = (FSCALE * ((FSCALE * rtick)/stathz)) >> FSHIFT; | 727 pctcpu = (FSCALE * ((FSCALE * rtick)/realstathz)) >> FSHIFT; |
726 } 727 728 ke->ke_proc->p_swtime = ke->ke_ltick - ke->ke_ftick; 729 730 return (pctcpu); 731} 732 733int --- 22 unchanged lines hidden --- | 728 } 729 730 ke->ke_proc->p_swtime = ke->ke_ltick - ke->ke_ftick; 731 732 return (pctcpu); 733} 734 735int --- 22 unchanged lines hidden --- |