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)
Mar 7 2024, 1:59 AM
Unknown Object (File)
Mar 7 2024, 1:59 AM
Unknown Object (File)
Mar 7 2024, 12:53 AM
Unknown Object (File)
Mar 7 2024, 12:00 AM
Unknown Object (File)
Jan 16 2024, 7:31 AM
Unknown Object (File)
Jan 9 2024, 10:47 PM
Unknown Object (File)
Dec 30 2023, 3:15 PM
Unknown Object (File)
Dec 20 2023, 7:37 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.