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 <[email protected]>
AuthorDate: 2025-12-29 20:01:50 +0000
Commit:     Aymeric Wibo <[email protected]>
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

Reply via email to