HomeFreeBSD

aacraid: reduce max I/O size to avoid DMA issues

Description

aacraid: reduce max I/O size to avoid DMA issues

Reserve one page for the DMA subsystem, that may need it when the I/O
buffer is not page aligned.

Without this change, writes with the maximum allowed size failed, if:

  • physical memory was fragmented, making it necessary to use one DMA segment for each page
  • the buffer to be written was not page aligned, causing the DMA subsystem to need one extra segment

In the scenario above, the DMA subsystem would run out of segments,
resulting in a write with no SG segments, that would fail.

Reviewed by: imp
MFC after: 2 weeks
Sponsored by: Instituto de Pesquisas Eldorado (eldorado.org.br)
Differential Revision: https://reviews.freebsd.org/D30798

Details

Provenance
luporlAuthored on Jun 21 2021, 6:04 PM
Reviewer
imp
Differential Revision
D30798: aacraid: reduce max I/O size to avoid DMA issues
Parents
rG79617645c6d3: linux(4): Retire unused declaration.
Branches
Unknown
Tags
Unknown