mirror of
https://github.com/opnsense/src.git
synced 2026-03-17 16:14:58 -04:00
large (over 4KB) softc struct. The descriptor array is accessed by busmaster dma and must be physically contiguous in memory. malloc() of a block greater than a page is only virtually contiguous, and not necessarily physically contigious. contigmalloc() could do this, but that is a bit on the overkill side. I'm not sure of the origins of the problem report and diagnosis, I learned of the problem via mail forwarded from Jim Shankland <jas@flyingfox.com>. Jim said that Matt Thomas's workaround was to reduce the number of transmit descriptors from 128 to 32, but I was concerned that it might cost performance. Anyway, this change is my fault, not Jim's. :-) Reviewed by: davidg |
||
|---|---|---|
| .. | ||
| dc21040reg.h | ||
| if_de.c | ||
| if_devar.h | ||