Module Name: src Committed By: riastradh Date: Tue Dec 28 13:22:43 UTC 2021
Modified Files: src/sys/arch/mips/cavium/dev: octeon_rnm.c src/sys/dev: random.c src/sys/kern: sys_getrandom.c Log Message: sys: Use preempt_point and preempt_needed, not open-coded versions. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/mips/cavium/dev/octeon_rnm.c cvs rdiff -u -r1.9 -r1.10 src/sys/dev/random.c cvs rdiff -u -r1.1 -r1.2 src/sys/kern/sys_getrandom.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mips/cavium/dev/octeon_rnm.c diff -u src/sys/arch/mips/cavium/dev/octeon_rnm.c:1.12 src/sys/arch/mips/cavium/dev/octeon_rnm.c:1.13 --- src/sys/arch/mips/cavium/dev/octeon_rnm.c:1.12 Thu Jun 18 13:52:08 2020 +++ src/sys/arch/mips/cavium/dev/octeon_rnm.c Tue Dec 28 13:22:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: octeon_rnm.c,v 1.12 2020/06/18 13:52:08 simonb Exp $ */ +/* $NetBSD: octeon_rnm.c,v 1.13 2021/12/28 13:22:43 riastradh Exp $ */ /* * Copyright (c) 2007 Internet Initiative Japan, Inc. @@ -99,7 +99,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: octeon_rnm.c,v 1.12 2020/06/18 13:52:08 simonb Exp $"); +__KERNEL_RCSID(0, "$NetBSD: octeon_rnm.c,v 1.13 2021/12/28 13:22:43 riastradh Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -262,9 +262,8 @@ octrnm_rng(size_t nbytes, void *vsc) sizeof sc->sc_sample, NBBY*sizeof(sc->sc_sample)/BPB); needed -= MIN(needed, MAX(1, NBBY*sizeof(sc->sc_sample)/BPB)); - /* Yield if requested. */ - if (__predict_false(curcpu()->ci_schedstate.spc_flags & - SPCF_SHOULDYIELD)) { + /* Now's a good time to yield if need. */ + if (__predict_false(preempt_needed())) { mutex_exit(&sc->sc_lock); preempt(); mutex_enter(&sc->sc_lock); Index: src/sys/dev/random.c diff -u src/sys/dev/random.c:1.9 src/sys/dev/random.c:1.10 --- src/sys/dev/random.c:1.9 Wed Jan 13 23:54:21 2021 +++ src/sys/dev/random.c Tue Dec 28 13:22:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: random.c,v 1.9 2021/01/13 23:54:21 riastradh Exp $ */ +/* $NetBSD: random.c,v 1.10 2021/12/28 13:22:43 riastradh Exp $ */ /*- * Copyright (c) 2019 The NetBSD Foundation, Inc. @@ -47,7 +47,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: random.c,v 1.9 2021/01/13 23:54:21 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: random.c,v 1.10 2021/12/28 13:22:43 riastradh Exp $"); #include <sys/param.h> #include <sys/types.h> @@ -282,9 +282,8 @@ random_write(dev_t dev, struct uio *uio, rnd_add_data(&user_rndsource, buf, n, privileged ? n*NBBY : 0); any = true; - /* Yield if requested. */ - if (curcpu()->ci_schedstate.spc_flags & SPCF_SHOULDYIELD) - preempt(); + /* Now's a good time to yield if needed. */ + preempt_point(); /* Check for interruption. */ if (__predict_false(curlwp->l_flag & LW_PENDSIG) && Index: src/sys/kern/sys_getrandom.c diff -u src/sys/kern/sys_getrandom.c:1.1 src/sys/kern/sys_getrandom.c:1.2 --- src/sys/kern/sys_getrandom.c:1.1 Fri Aug 14 00:53:16 2020 +++ src/sys/kern/sys_getrandom.c Tue Dec 28 13:22:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: sys_getrandom.c,v 1.1 2020/08/14 00:53:16 riastradh Exp $ */ +/* $NetBSD: sys_getrandom.c,v 1.2 2021/12/28 13:22:43 riastradh Exp $ */ /*- * Copyright (c) 2020 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sys_getrandom.c,v 1.1 2020/08/14 00:53:16 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_getrandom.c,v 1.2 2021/12/28 13:22:43 riastradh Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -174,9 +174,8 @@ dogetrandom(struct uio *uio, unsigned in break; } - /* Yield if requested. */ - if (curcpu()->ci_schedstate.spc_flags & SPCF_SHOULDYIELD) - preempt(); + /* Now's a good time to yield if needed. */ + preempt_point(); /* Check for interruption after at least 256 bytes. */ CTASSERT(RANDOM_BUFSIZE >= 256);