Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Sep 2013 15:18:06 +0900 (JST)
From:      moto kawasaki <moto@kawasaki3.org>
To:        freebsd-acpi@freebsd.org
Subject:   Q: how to increase ACPI_MAX_TASKS
Message-ID:  <20130909.151806.1420591981150797795.moto@kawasaki3.org>

next in thread | raw e-mail | index | archive | help

Hello,

Could you please advice me how to increase ACPI_MAX_TASKS from 32
(default) to 64 or 128 ?


(1) I am running FreeBSD 9.1-RELEASE-p6, which was updated via freebsd-update.

# uname -srmv
FreeBSD 9.1-RELEASE-p6 FreeBSD 9.1-RELEASE-p6 #0: Wed Aug 21 20:40:52 UTC 2013     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

(2) Now, dmesg shows an error regarding AE_NO_MEMORY.

# dmesg
    (snip)
AcpiOsExecute: failed to enqueue task, consider increasing the debug.acpi.max_tasks tunable
ACPI Error: Method parse/execution failed [\\_SB_.PCI0.HEC2.HSCI] (Node 0xfffffe001d208380), AE_NO_MEMORY (20110527/psparse-560)
ACPI Error: Method parse/execution failed [\\_GPE._L06] (Node 0xfffffe001d20c6c0), AE_NO_MEMORY (20110527/psparse-560)
ACPI Exception: AE_NO_MEMORY, while evaluating GPE method [_L06] (20110527/evgpe-606)
AcpiOsExecute: failed to enqueue task, consider increasing the debug.acpi.max_tasks tunable
    (snip)

If needed, I will show all dmesg output. please request.

(3) This is because ACPI_MAX_TASKS is defined as 32 in /usr/src/sys/dev/acpica/acpivar.h

=====
/* Default maximum number of tasks to enqueue. */
#ifndef ACPI_MAX_TASKS
#define ACPI_MAX_TASKS          32
#endif
=====

(4) When I rewrite it to 64, the error in dmesg disappeared.
    So far so good, but I have to re-compile the kernel in this case.

    If possible, I'd like to change ACPI_MAX_TASKS value by
    sysctl.conf or something like that.

(5) /usr/src/sys/dev/acpica/Osd/OsdSchedule.c mentions debug.acpi.max_tasks.

=====
/*
 * Allow the user to tune the maximum number of tasks we may enqueue.
 */
static int acpi_max_tasks = ACPI_MAX_TASKS;
TUNABLE_INT("debug.acpi.max_tasks", &acpi_max_tasks);
=====

    But, I cannot write this sysctl tunable. That is "unknown oid".

# sysctl    debug.acpi.max_tasks
sysctl: unknown oid 'debug.acpi.max_tasks'

# sysctl -w debug.acpi.max_tasks=64
sysctl: unknown oid 'debug.acpi.max_tasks'

(6) If I have to re-compile the GENERIC kernel, where should I define
ACPI_MAX_TASKS ? /etc/make.conf? kernel configuration file? or
acpivar.h ?




Thank you very much!!



Best Regards



-- 
moto kawasaki <moto@kawasaki3.org> 090-2464-8454



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130909.151806.1420591981150797795.moto>