Page MenuHomeFreeBSD

LinuxKPI: be more verbose on _bus_dmamap_load_phys failures if debug is on
ClosedPublic

Authored by bz on Sat, Mar 29, 6:25 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 2, 7:36 PM
Unknown Object (File)
Tue, Apr 1, 3:01 PM
Unknown Object (File)
Tue, Apr 1, 1:43 AM
Unknown Object (File)
Tue, Apr 1, 1:03 AM
Unknown Object (File)
Mon, Mar 31, 11:29 PM
Unknown Object (File)
Mon, Mar 31, 9:47 AM
Subscribers

Details

Summary

With the [k]malloc adjustments in switching skbuff from using a tunable
and conditional contigmalloc with boundries to using __kmalloc as allocator
should just work. The allocations are now in physically contiguous and
nseg=1 should be fine even if we have to bounce.

The problem now coming back is that busdma bounce code cannot deal with
larger contiguous nseg=1 allocations. I originally found that on arm64
more than two years ago but I am also seeing it for amd64 now.

Improve the debugging beyond the dump_stack() call and print the busdma
error (so we know if it is EFBIG or else), print the physical address
so we can see better if we should bounce and print the length so we
have an idea on what lengths we are failing. D45813 has some
observations and rtw88 seems to be a good driver to test with.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

Diff Detail

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