LINUX.ORG.RU

WQ_UNBOUND, что прописать?

 ,


0

1

Всем привет.

Переехал на ноутбуке на Ubuntu 24.04. В dmesg сообщения вида

workqueue: acpi_ec_event_processor hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
workqueue: acpi_ec_event_processor hogged CPU for >10000us 8 times, consider switching to WQ_UNBOUND
workqueue: acpi_ec_event_processor hogged CPU for >10000us 16 times, consider switching to WQ_UNBOUND

но как переключиться на WQ_UNBOUND - непонятно, как это сделать то? :)

Перемещено hobbit из general

★★★★★

но как переключиться на WQ_UNBOUND - непонятно, как это сделать то? :)

Ну, ты всегда можешь попробовать сделать

diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 02255795b800..331ba1b24881 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -2211,7 +2211,7 @@ static int acpi_ec_init_workqueues(void)
 		ec_wq = alloc_ordered_workqueue("kec", 0);
 
 	if (!ec_query_wq)
-		ec_query_wq = alloc_workqueue("kec_query", 0, ec_max_queries);
+		ec_query_wq = alloc_workqueue("kec_query", WQ_UNBOUND, ec_max_queries);
 
 	if (!ec_wq || !ec_query_wq) {
 		acpi_ec_destroy_workqueues();

Но скорее всего не взлетит. А так можно начать с переписывания acpica, она cpu-bound наверняка не просто так :^)

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)