freebsd-skq/sys/dev/mps
Alexander Motin 731308d01d Allow physically non-contiguous chain frames allocation in mps(4)/mpr(4).
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
2018-02-27 01:48:13 +00:00
..
mpi sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
mps_config.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
mps_ioctl.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-20 19:36:21 +00:00
mps_mapping.c Revert r327828, r327949, r327953, r328016-r328026, r328041: 2018-01-21 15:42:36 +00:00
mps_mapping.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
mps_pci.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
mps_sas_lsi.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
mps_sas.c Improve command lifecycle debugging and detection of problems. 2018-02-18 16:41:34 +00:00
mps_sas.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
mps_table.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
mps_table.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
mps_user.c Cache the value of the request and reply frame size since it's used quite 2018-02-06 21:01:38 +00:00
mps.c Allow physically non-contiguous chain frames allocation in mps(4)/mpr(4). 2018-02-27 01:48:13 +00:00
mpsvar.h Allow physically non-contiguous chain frames allocation in mps(4)/mpr(4). 2018-02-27 01:48:13 +00:00