summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgnezdo <gnezdo@openbsd.org>2020-12-10 04:26:50 +0000
committergnezdo <gnezdo@openbsd.org>2020-12-10 04:26:50 +0000
commitb7af1a41f3353031538dd1f41dd6c1b7b3ae871e (patch)
treec6aa3def2baf7dd4a31a0d90aef363267e816829
parentIgnore trailing data in A-MSDU frame buffers if it is smaller than the (diff)
downloadwireguard-openbsd-b7af1a41f3353031538dd1f41dd6c1b7b3ae871e.tar.xz
wireguard-openbsd-b7af1a41f3353031538dd1f41dd6c1b7b3ae871e.zip
Use sysctl_int_bounded for sysctl_hwsetperf
Removed some trailing whitespace while there. ok gkoehler@
-rw-r--r--sys/kern/sched_bsd.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/sys/kern/sched_bsd.c b/sys/kern/sched_bsd.c
index 1a5185b72f4..a64c4ce40da 100644
--- a/sys/kern/sched_bsd.c
+++ b/sys/kern/sched_bsd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sched_bsd.c,v 1.64 2020/10/15 07:49:55 mpi Exp $ */
+/* $OpenBSD: sched_bsd.c,v 1.65 2020/12/10 04:26:50 gnezdo Exp $ */
/* $NetBSD: kern_synch.c,v 1.37 1996/04/22 01:38:37 christos Exp $ */
/*-
@@ -147,7 +147,7 @@ roundrobin(struct cpu_info *ci)
* We now need to prove two things:
* 1) Given factor ** (5 * loadavg) ~= .1, prove factor == b/(b+1)
* 2) Given b/(b+1) ** power ~= .1, prove power == (5 * loadavg)
- *
+ *
* Facts:
* For x close to zero, exp(x) =~ 1 + x, since
* exp(x) = 0! + x**1/1! + x**2/2! + ... .
@@ -602,32 +602,26 @@ setperf_auto(void *v)
perflevel = 0;
cpu_setperf(perflevel);
}
-
+
timeout_add_msec(&setperf_to, 100);
}
int
sysctl_hwsetperf(void *oldp, size_t *oldlenp, void *newp, size_t newlen)
{
- int err, newperf;
+ int err;
if (!cpu_setperf)
return EOPNOTSUPP;
if (perfpolicy != PERFPOL_MANUAL)
return sysctl_rdint(oldp, oldlenp, newp, perflevel);
-
- newperf = perflevel;
- err = sysctl_int(oldp, oldlenp, newp, newlen, &newperf);
+
+ err = sysctl_int_bounded(oldp, oldlenp, newp, newlen,
+ &perflevel, 0, 100);
if (err)
return err;
- if (newperf > 100)
- newperf = 100;
- if (newperf < 0)
- newperf = 0;
- perflevel = newperf;
cpu_setperf(perflevel);
-
return 0;
}