Giorgos Keramidas wrote this message on Thu, Apr 27, 2006 at 17:13 +0300: > On 2006-04-27 14:42, Jiawei Ye <leafy7382_at_gmail.com> wrote: > > leafy_at_chihiro:~$ top > > top: sysctl(kern.ccpu...) failed: No such file or directory > > > > -current as of 4 hrs ago. > > The following change renames `kern.ccpu' to `kern.sched.ccpu', but it is > kind of incomplete, IMHO. I'll get to this in a few hours.... sorry for the breakage... :( /me just woke up. > # Index: src/sys/kern/sched_4bsd.c > # =================================================================== > # --- src/sys/kern/sched_4bsd.c (revision 19) > # +++ src/sys/kern/sched_4bsd.c (working copy) > # _at__at_ -31,11 +31,11 _at__at_ > # * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > # * SUCH DAMAGE. > # */ > # > # #include <sys/cdefs.h> > # -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.78 2006/04/17 18:20:37 jhb Exp $"); > # +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.79 2006/04/26 19:42:38 jmg Exp $"); > # > # #include "opt_hwpmc_hooks.h" > # > # #define kse td_sched > # > # _at__at_ -404,11 +404,11 _at__at_ > # #define loadfactor(loadav) (2 * (loadav)) > # #define decay_cpu(loadfac, cpu) (((loadfac) * (cpu)) / ((loadfac) + FSCALE)) > # > # /* decay 95% of `ke_pctcpu' in 60 seconds; see CCPU_SHIFT before changing */ > # static fixpt_t ccpu = 0.95122942450071400909 * FSCALE; /* exp(-1/20) */ > # -SYSCTL_INT(_kern, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, ""); > # +SYSCTL_INT(_kern_sched, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, ""); > # > # /* > # * If `ccpu' is not equal to `exp(-1/20)' and you still want to use the > # * faster/more-accurate formula, you'll have to estimate CCPU_SHIFT below > # * and possibly adjust FSHIFT in "param.h" so that (FSHIFT >= CCPU_SHIFT). > > The main problems with this change are: > > 1) It doesn't update consumers of the kern.ccpu sysctl that we > already have in the tree (i.e. top(1) which you saw breaking). > > 2) It doesn't update the `kern.ccpu' sysctl in the sched_ule.c > scheduler, so it creates an inconsistency between different > FreeBSD scheduling systems. > > I believe John-Mark can fix this easily, so I've copied him in this > message. In the mean time, you can revert sched_4bsd.c to revision 1.78 > and try to see if this fixes the problems top(1) is having. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."Received on Thu Apr 27 2006 - 13:59:38 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:55 UTC