summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpivar.h
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2009-06-10 22:54:20 +0000
committerjkim <jkim@FreeBSD.org>2009-06-10 22:54:20 +0000
commit1ff58b569863e1539ec3fd6e87588b27d7f0d181 (patch)
tree1c23983b1e6edd074c8effcf9253affcfca5b01f /sys/dev/acpica/acpivar.h
parent2bb27cf8108ac15cd291fdb8a42b1ff2481085be (diff)
downloadFreeBSD-src-1ff58b569863e1539ec3fd6e87588b27d7f0d181.zip
FreeBSD-src-1ff58b569863e1539ec3fd6e87588b27d7f0d181.tar.gz
Catch up with r193750 (OsdSynch.c locking changes):
- Preallocate some memory for ACPI tasks early enough. We cannot use malloc(9) any more because spin mutex may be held here. The reserved memory can be tuned via debug.acpi.max_tasks tunable or ACPI_MAX_TASKS in kernel configuration. The default is 32 tasks. - Implement a custom taskqueue_fast to wrap the new memory allocation. This implementation is not the fastest in the world but we are being conservative here.
Diffstat (limited to 'sys/dev/acpica/acpivar.h')
-rw-r--r--sys/dev/acpica/acpivar.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h
index ce6a242..43f77ab 100644
--- a/sys/dev/acpica/acpivar.h
+++ b/sys/dev/acpica/acpivar.h
@@ -457,6 +457,11 @@ ACPI_HANDLE acpi_GetReference(ACPI_HANDLE scope, ACPI_OBJECT *obj);
*/
#define ACPI_DEV_BASE_ORDER 10
+/* Default maximum number of tasks to enqueue. */
+#ifndef ACPI_MAX_TASKS
+#define ACPI_MAX_TASKS 32
+#endif
+
/* Default number of task queue threads to start. */
#ifndef ACPI_MAX_THREADS
#define ACPI_MAX_THREADS 3
OpenPOWER on IntegriCloud