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);

Reply via email to