Page MenuHomeFreeBSD

smartpqi: use BUS_DMA_NOWAIT to prevent panic
ClosedPublic

Authored by yuri_aetern.org on Jun 25 2022, 11:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Oct 29, 8:20 PM
Unknown Object (File)
Oct 14 2024, 11:46 AM
Unknown Object (File)
Oct 14 2024, 11:33 AM
Unknown Object (File)
Sep 10 2024, 3:21 PM
Unknown Object (File)
Jul 25 2024, 10:42 PM
Unknown Object (File)
Jul 11 2024, 5:39 PM
Unknown Object (File)
Jul 11 2024, 5:39 PM
Unknown Object (File)
Jul 3 2024, 2:22 AM
Subscribers
None

Details

Summary

PR 263008:

panic: malloc(M_WAITOK) with sleeping prohibited
cpuid = 3
time = 1643658859
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
0xfffffe00c7b20ae0
vpanic() at vpanic+0x17f/frame 0xfffffe00c7b20b30
panic() at panic+0x43/frame 0xfffffe00c7b20b90
malloc_dbg() at malloc_dbg+0xd4/frame 0xfffffe00c7b20bb0
malloc_domainset() at malloc_domainset+0x36/frame 0xfffffe00c7b20c20
bounce_bus_dmamem_alloc() at bounce_bus_dmamem_alloc+0x5b/frame
0xfffffe00c7b20c50
os_dma_mem_alloc() at os_dma_mem_alloc+0xe3/frame 0xfffffe00c7b20c90
pqisrc_build_send_raid_request() at
pqisrc_build_send_raid_request+0x78/frame 0xfffffe00c7b20d30
pqisrc_write_current_time_to_host_wellness() at
pqisrc_write_current_time_to_host_wellness+0xff/frame
0xfffffe00c7b20df0os_wellness_periodic() at
os_wellness_periodic+0x1a/frame 0xfffffe00c7b20e10
softclock_call_cc() at softclock_call_cc+0x14d/frame 0xfffffe00c7b20ec0
softclock_thread() at softclock_thread+0xc6/frame 0xfffffe00c7b20ef0
fork_exit() at fork_exit+0x80/frame 0xfffffe00c7b20f30
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00c7b20f30
Test Plan

Boot on a system with smartpqi HBA with INVARIANTS enabled.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

yuri_aetern.org created this revision.
This revision is now accepted and ready to land.Jun 27 2022, 1:52 PM

This change is good. I'd been waiting to hear that it worked before committing it, so I'll do that now...

This revision was automatically updated to reflect the committed changes.