diff options
author | jkim <jkim@FreeBSD.org> | 2009-06-10 22:54:20 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2009-06-10 22:54:20 +0000 |
commit | 1ff58b569863e1539ec3fd6e87588b27d7f0d181 (patch) | |
tree | 1c23983b1e6edd074c8effcf9253affcfca5b01f /sys/dev/acpica/acpivar.h | |
parent | 2bb27cf8108ac15cd291fdb8a42b1ff2481085be (diff) | |
download | FreeBSD-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.h | 5 |
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 |