git: b6e0a4f51747 - stable/14 - runq: Clarity and style pass
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 28 Jul 2025 13:31:12 UTC
The branch stable/14 has been updated by olce:
URL: https://cgit.FreeBSD.org/src/commit/?id=b6e0a4f51747375dfe80fda19a64930912a8ac33
commit b6e0a4f51747375dfe80fda19a64930912a8ac33
Author: Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2024-03-01 09:47:13 +0000
Commit: Olivier Certner <olce@FreeBSD.org>
CommitDate: 2025-07-28 13:28:04 +0000
runq: Clarity and style pass
In runq_choose() and runq_choose_fuzz(), replace an unnecessary 'while'
with an 'if', and separate assignment and test of 'idx' into two lines.
Add missing parentheses to one 'sizeof' operator.
Remove superfluous brackets for one-line "then" and "else" branches (to
match style elsewhere in the file).
Declare loop indices in their 'for'.
Test for non-empty bit sets with an explicit '!= 0'.
Move TABs in some prototypes of <sys/runq.h> (should not split the
return type specifier, but instead separate the type specifier with the
function declarator).
No functional change intended.
Reviewed by: kib
MFC after: 1 month
Event: Kitchener-Waterloo Hackathon 202506
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45387
(cherry picked from commit 57540a0666f6bfebf55c905dceac36230c0743c5)
---
sys/kern/kern_switch.c | 24 ++++++++++++------------
sys/sys/runq.h | 6 +++---
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c
index 5c529862bc53..906efca4bb51 100644
--- a/sys/kern/kern_switch.c
+++ b/sys/kern/kern_switch.c
@@ -269,7 +269,7 @@ runq_init(struct runq *rq)
{
int i;
- bzero(rq, sizeof *rq);
+ bzero(rq, sizeof(*rq));
for (i = 0; i < RQ_NQS; i++)
TAILQ_INIT(&rq->rq_queues[i]);
}
@@ -300,11 +300,11 @@ static __inline int
runq_findbit(struct runq *rq)
{
struct rqbits *rqb;
- int idx, i;
+ int idx;
rqb = &rq->rq_status;
- for (i = 0; i < RQB_LEN; i++)
- if (rqb->rqb_bits[i]) {
+ for (int i = 0; i < RQB_LEN; i++)
+ if (rqb->rqb_bits[i] != 0) {
idx = RQB_FFS(rqb->rqb_bits[i]) + i * RQB_BPW;
CHECK_IDX(idx);
CTR3(KTR_RUNQ, "runq_findbit: bits=%#x i=%d idx=%d",
@@ -390,11 +390,10 @@ runq_add_idx(struct runq *rq, struct thread *td, int idx, int flags)
rqh = &rq->rq_queues[idx];
CTR4(KTR_RUNQ, "runq_add_idx: td=%p pri=%d idx=%d rqh=%p",
td, td->td_priority, idx, rqh);
- if (flags & SRQ_PREEMPTED) {
+ if (flags & SRQ_PREEMPTED)
TAILQ_INSERT_HEAD(rqh, td, td_runq);
- } else {
+ else
TAILQ_INSERT_TAIL(rqh, td, td_runq);
- }
}
/*
@@ -405,11 +404,10 @@ bool
runq_not_empty(struct runq *rq)
{
struct rqbits *rqb;
- int i;
rqb = &rq->rq_status;
- for (i = 0; i < RQB_LEN; i++)
- if (rqb->rqb_bits[i]) {
+ for (int i = 0; i < RQB_LEN; i++)
+ if (rqb->rqb_bits[i] != 0) {
CTR2(KTR_RUNQ, "runq_not_empty: bits=%#x i=%d",
rqb->rqb_bits[i], i);
return (true);
@@ -429,7 +427,8 @@ runq_choose_fuzz(struct runq *rq, int fuzz)
struct thread *td;
int idx;
- while ((idx = runq_findbit(rq)) != -1) {
+ idx = runq_findbit(rq);
+ if (idx != -1) {
rqh = &rq->rq_queues[idx];
/* fuzz == 1 is normal.. 0 or less are ignored */
if (fuzz > 1) {
@@ -471,7 +470,8 @@ runq_choose(struct runq *rq)
struct thread *td;
int idx;
- while ((idx = runq_findbit(rq)) != -1) {
+ idx = runq_findbit(rq);
+ if (idx != -1) {
rqh = &rq->rq_queues[idx];
td = TAILQ_FIRST(rqh);
KASSERT(td != NULL, ("runq_choose: no thread on busy queue"));
diff --git a/sys/sys/runq.h b/sys/sys/runq.h
index 693a3666d7a8..030b4bb370a8 100644
--- a/sys/sys/runq.h
+++ b/sys/sys/runq.h
@@ -90,9 +90,9 @@ struct runq {
void runq_add(struct runq *, struct thread *, int _flags);
void runq_add_idx(struct runq *, struct thread *, int _idx, int _flags);
bool runq_not_empty(struct runq *);
-struct thread *runq_choose(struct runq *);
-struct thread *runq_choose_from(struct runq *, int _idx);
-struct thread *runq_choose_fuzz(struct runq *, int _fuzz);
+struct thread *runq_choose(struct runq *);
+struct thread *runq_choose_from(struct runq *, int _idx);
+struct thread *runq_choose_fuzz(struct runq *, int _fuzz);
void runq_init(struct runq *);
bool runq_remove(struct runq *, struct thread *);
#endif /* _KERNEL */