Re: git: 2fefe2c88b31 - main - runq: Deduce most parameters, remove machine headers
Date: Wed, 18 Jun 2025 07:56:45 UTC
On Wed, 18 Jun 2025 04:13:07 +0200, Olivier Certner <olcwrote:
>
> The branch main has been updated by olce:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=2fefe2c88b31dc7f173c9424f3eb13d49e98d55a
>
> commit 2fefe2c88b31dc7f173c9424f3eb13d49e98d55a
> Author: Olivier Certner <olce@FreeBSD.org>
> AuthorDate: 2024-02-26 18:12:42 +0000
> Commit: Olivier Certner <olce@FreeBSD.org>
> CommitDate: 2025-06-18 02:07:56 +0000
>
> runq: Deduce most parameters, remove machine headers
>
> The 'runq' machinery now depends on only two settable parameters,
> RQ_MAX_PRIO, the maximum priority number that can be accepted, the
> minimum being 0, and RQ_PPQ, the number of priorities per queue (to
> reduce the number of queues).
>
> All other parameters are deduced from these ones. Also, all
> architectures automatically get a runq word that is their natural word.
>
> RQB_FFS() always was 'ffsl() - 1' except for amd64 where it was
> 'bsfq()'. Now that all these finally call compiler builtins, the
> resulting assembly code is the same, so there is no cost to removing
> this special case.
>
> After all these changes, <machine/runq.h> headers have no more purpose,
> so remove them.
>
> While here, fix potentially confusing parameter name for RQB_WORD() and
> RQB_BIT().
>
> While here, include all necessary headers so that <sys/runq.h> can be
> included standalone.
>
> 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
> ---
> sys/amd64/include/runq.h | 46 --------------------------------------
> sys/arm/include/runq.h | 46 --------------------------------------
> sys/arm64/include/runq.h | 50 -----------------------------------------
> sys/i386/include/runq.h | 46 --------------------------------------
> sys/kern/kern_switch.c | 6 ++---
> sys/kern/sched_ule.c | 6 ++---
> sys/powerpc/include/runq.h | 55 ----------------------------------------------
> sys/riscv/include/runq.h | 44 -------------------------------------
> sys/sys/runq.h | 25 ++++++++++++++++++---
> 9 files changed, 27 insertions(+), 297 deletions(-)
make buildworld is broken on arm64. Is this missing?
diff --git a/include/arm/Makefile b/include/arm/Makefile
index 1f596763df77..27fa8dfb9de3 100644
--- a/include/arm/Makefile
+++ b/include/arm/Makefile
@@ -32,7 +32,6 @@ INCS= _align.h \
reg.h \
reloc.h \
resource.h \
- runq.h \
setjmp.h \
signal.h \
sysarch.h \