From: Mark Kettenis Subject: Re: sysctl cpu hz To: "Ted Unangst" Cc: tech@openbsd.org Date: Fri, 25 Apr 2025 22:22:57 +0200 > From: "Ted Unangst" > Date: Fri, 25 Apr 2025 15:17:56 -0400 > > My CPU is too fast and I have trouble counting the zeros in sysctl > hw.sensors. > > For a frequency sensor greater than 10 MHz, display in Mhz instead. > Keep the old format when using -n, in case somebody scripted this. I prefer consistency. And frequency sensors are for more than just CPU frequency. > hw.sensors.cpu0.frequency0=650.00 MHz > hw.sensors.cpu2.frequency0=700.00 MHz > hw.sensors.cpu4.frequency0=650.00 MHz > > Index: sysctl.c > =================================================================== > RCS file: /home/cvs/src/sbin/sysctl/sysctl.c,v > diff -u -p -r1.264 sysctl.c > --- sysctl.c 6 Apr 2025 17:36:22 -0000 1.264 > +++ sysctl.c 25 Apr 2025 19:13:43 -0000 > @@ -2751,6 +2751,7 @@ void > print_sensor(struct sensor *s) > { > const char *name; > + double v; > > if (s->flags & SENSOR_FUNKNOWN) > printf("unknown"); > @@ -2841,7 +2842,12 @@ print_sensor(struct sensor *s) > printf("%.2f%%", s->value / 1000.0); > break; > case SENSOR_FREQ: > - printf("%.2f Hz", s->value / 1000000.0); > + v = s->value / 1000000.0; > + if (!nflag && v > 10000000.0) { > + printf("%.2f MHz", v / 1000000); > + } else { > + printf("%.2f Hz", v); > + } > break; > case SENSOR_ANGLE: > printf("%3.4f degrees", s->value / 1000000.0); > >