aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_switch.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2002-06-20 06:21:20 +0000
committerPeter Wemm <peter@FreeBSD.org>2002-06-20 06:21:20 +0000
commit2f9267ec2327d71bca865a65fefdf1afa83c6778 (patch)
treebff62bbdcdfc1237d8035660837bdd0327caebd3 /sys/kern/kern_switch.c
parent6953dff37c2b4b4afd29da68623434df0300d3e4 (diff)
downloadsrc-2f9267ec2327d71bca865a65fefdf1afa83c6778.tar.gz
src-2f9267ec2327d71bca865a65fefdf1afa83c6778.zip
Move the "- 1" into the RQB_FFS(mask) macro itself so that
implementations can provide a base zero ffs function if they wish. This changes #define RQB_FFS(mask) (ffs64(mask)) foo = RQB_FFS(mask) - 1; to #define RQB_FFS(mask) (ffs64(mask) - 1) foo = RQB_FFS(mask); On some platforms we can get the "- 1" for free, eg: those that use the C code for ffs64(). Reviewed by: jake (in principle)
Notes
Notes: svn path=/head/; revision=98469
Diffstat (limited to 'sys/kern/kern_switch.c')
-rw-r--r--sys/kern/kern_switch.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c
index 2c6e6f62aa6c..2b531c0dae3d 100644
--- a/sys/kern/kern_switch.c
+++ b/sys/kern/kern_switch.c
@@ -129,8 +129,7 @@ runq_findbit(struct runq *rq)
rqb = &rq->rq_status;
for (i = 0; i < RQB_LEN; i++)
if (rqb->rqb_bits[i]) {
- pri = (RQB_FFS(rqb->rqb_bits[i]) - 1) +
- (i << RQB_L2BPW);
+ pri = RQB_FFS(rqb->rqb_bits[i]) + (i << RQB_L2BPW);
CTR3(KTR_RUNQ, "runq_findbit: bits=%#x i=%d pri=%d",
rqb->rqb_bits[i], i, pri);
return (pri);