mirror of
https://github.com/opnsense/src.git
synced 2026-02-26 03:13:02 -05:00
Chain frames required to satisfy all 2K of declared I/Os of 128KB each take more then a megabyte of a physical memory, all of which existing code tries allocate as physically contiguous. This patch removes that physical contiguousness requirement, leaving only virtual contiguousness. I was thinking about other ways of allocation, but the less granular allocation becomes, the bigger is the overhead and/or complexity, reaching about 100% overhead if allocate each frame separately. The patch also bumps the chain frames hard limit from 2K to 16K. It is more than enough for the case of default REQ_FRAMES and MAXPHYS (the drivers will allocate less than that automatically), while in case of increased MAXPHYS it will control maximal memory usage. Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D14420 |
||
|---|---|---|
| .. | ||
| mpi | ||
| mps.c | ||
| mps_config.c | ||
| mps_ioctl.h | ||
| mps_mapping.c | ||
| mps_mapping.h | ||
| mps_pci.c | ||
| mps_sas.c | ||
| mps_sas.h | ||
| mps_sas_lsi.c | ||
| mps_table.c | ||
| mps_table.h | ||
| mps_user.c | ||
| mpsvar.h | ||