Use M_NOWAIT when allocating memory for the ACPI wakeup handler.
If the allocation attempt fails, we may otherwise VM_WAIT after a failed attempt to reclaim contiguous memory in the requested range. After r297466, this results in the thread going to sleep, causing a hang during boot. Reviewed by: jkim, kib Approved by: re (gjb) Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6945
This commit is contained in:
parent
70d8061f8e
commit
8ac07d0f79
@ -322,7 +322,7 @@ acpi_alloc_wakeup_handler(void)
|
|||||||
* page-aligned.
|
* page-aligned.
|
||||||
*/
|
*/
|
||||||
wakeaddr = contigmalloc((ACPI_PAGETABLES + 1) * PAGE_SIZE, M_DEVBUF,
|
wakeaddr = contigmalloc((ACPI_PAGETABLES + 1) * PAGE_SIZE, M_DEVBUF,
|
||||||
M_WAITOK, 0x500, 0xa0000, PAGE_SIZE, 0ul);
|
M_NOWAIT, 0x500, 0xa0000, PAGE_SIZE, 0ul);
|
||||||
if (wakeaddr == NULL) {
|
if (wakeaddr == NULL) {
|
||||||
printf("%s: can't alloc wake memory\n", __func__);
|
printf("%s: can't alloc wake memory\n", __func__);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user