Module Name: src Committed By: ad Date: Sun Sep 10 14:31:24 UTC 2023
Modified Files: src/sys/sys: lwp.h Log Message: KPREEMPT_ENABLE(): optimise away one of the conditionals; the same test is repeated in kpreempt() which is rarely called. To generate a diff of this commit: cvs rdiff -u -r1.219 -r1.220 src/sys/sys/lwp.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/sys/lwp.h diff -u src/sys/sys/lwp.h:1.219 src/sys/sys/lwp.h:1.220 --- src/sys/sys/lwp.h:1.219 Mon Aug 7 10:31:42 2023 +++ src/sys/sys/lwp.h Sun Sep 10 14:31:24 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: lwp.h,v 1.219 2023/08/07 10:31:42 riastradh Exp $ */ +/* $NetBSD: lwp.h,v 1.220 2023/09/10 14:31:24 ad Exp $ */ /* * Copyright (c) 2001, 2006, 2007, 2008, 2009, 2010, 2019, 2020 @@ -554,12 +554,10 @@ KPREEMPT_ENABLE(lwp_t *l) KASSERTMSG(l == (l1 = curlwp), "l=%p curlwp=%p", l, l1); KASSERT(l->l_nopreempt > 0); __insn_barrier(); - if (--l->l_nopreempt != 0) - return; + l->l_nopreempt--; __insn_barrier(); if (__predict_false(l->l_dopreempt)) kpreempt(0); - __insn_barrier(); } /* For lwp::l_dopreempt */