Re: git: c0df8f6f0e6a - main - acpi: Make taskqueue only run on BSP
Date: Fri, 06 Feb 2026 15:59:33 UTC
On 1/8/26 04:45, Aymeric Wibo wrote:
> The branch main has been updated by obiwac:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=c0df8f6f0e6a5f77ec9140e8075d09c55fe4c3c7
>
> commit c0df8f6f0e6a5f77ec9140e8075d09c55fe4c3c7
> Author: Aymeric Wibo <obiwac@FreeBSD.org>
> AuthorDate: 2025-12-29 20:01:50 +0000
> Commit: Aymeric Wibo <obiwac@FreeBSD.org>
> CommitDate: 2026-01-08 10:35:54 +0000
>
> acpi: Make taskqueue only run on BSP
>
> This is needed because when we add the suspend-to-idle loop, we only
> want to break the BSP out of idle to process the taskqueue while keeping
> all the others idled.
>
> Currently assuming BSP to be CPU0, which may not always be the case on
> non-x86.
>
> Reviewed by: kib
> Approved by: kib
> Sponsored by: The FreeBSD Foundation
> Differential Revision: https://reviews.freebsd.org/D54406
> ---
> sys/dev/acpica/Osd/OsdSchedule.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/sys/dev/acpica/Osd/OsdSchedule.c b/sys/dev/acpica/Osd/OsdSchedule.c
> index f0464709e8ad..0c5eadb87687 100644
> --- a/sys/dev/acpica/Osd/OsdSchedule.c
> +++ b/sys/dev/acpica/Osd/OsdSchedule.c
> @@ -35,6 +35,7 @@
> #include <sys/param.h>
> #include <sys/systm.h>
> #include <sys/bus.h>
> +#include <sys/cpuset.h>
> #include <sys/kernel.h>
> #include <sys/kthread.h>
> #include <sys/malloc.h>
> @@ -109,10 +110,13 @@ static void
> acpi_taskq_init(void *arg)
> {
> int i;
> + /* XXX Currently assuming BSP is CPU0. */
> + cpuset_t just_bsp = CPUSET_T_INITIALIZER(0x1);
>
> acpi_taskq = taskqueue_create_fast("acpi_task", M_NOWAIT,
> &taskqueue_thread_enqueue, &acpi_taskq);
> - taskqueue_start_threads(&acpi_taskq, acpi_max_threads, PWAIT, "acpi_task");
> + taskqueue_start_threads_cpuset(&acpi_taskq, acpi_max_threads, PWAIT,
> + &just_bsp, "acpi_task");
> if (acpi_task_count > 0) {
> if (bootverbose)
> printf("AcpiOsExecute: enqueue %d pending tasks\n",
>
Hi,
Mentioned privately, but also bringing it to the list in case anyone else has had the same symptom- updating my frame.work laptop from ~December main to ~February main resulted in a power-button wakeup shutting down the system after it wakes up. The result of a bisect pointed at this commit reliably causing it, and reverting it locally does seem to fix it.
Thanks,
Kyle Evans