freebsd-dev/share
Jim Harris 50dea2da12 nvme: add hw.nvme.min_cpus_per_ioq tunable
Due to FreeBSD system-wide limits on number of MSI-X vectors
(https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199321),
it may be desirable to allocate fewer than the maximum number
of vectors for an NVMe device, in order to save vectors for
other devices (usually Ethernet) that can take better
advantage of them and may be probed after NVMe.

This tunable is expressed in terms of minimum number of CPUs
per I/O queue instead of max number of queues per controller,
to allow for a more even distribution of CPUs per queue.  This
avoids cases where some number of CPUs have a dedicated queue,
but other CPUs need to share queues.  Ideally the PR referenced
above will eventually be fixed and the mechanism implemented
here becomes obsolete anyways.

While here, fix a bug in the CPUs per I/O queue calculation to
properly account for the admin queue's MSI-X vector.

Reviewed by:	gallatin
MFC after:	3 days
Sponsored by:	Intel
2016-01-07 20:32:04 +00:00
..
colldef Simplify the locale generated Makefiles by using bmake multi variables for loops 2015-12-18 21:34:28 +00:00
ctypedef Use :E instead of regex in ctypedef Makefiles 2015-12-19 12:26:01 +00:00
dict Add META_MODE support. 2015-06-13 19:20:56 +00:00
doc Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
dtrace META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
examples Add missing return statement to atf/printf_test to make the example 2015-12-20 02:36:30 +00:00
i18n Add more SUBDIR_PARALLEL. 2015-10-15 22:55:08 +00:00
keys META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
locale-links META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
man nvme: add hw.nvme.min_cpus_per_ioq tunable 2016-01-07 20:32:04 +00:00
me Add META_MODE support. 2015-06-13 19:20:56 +00:00
misc Use standard name for ASCII LF and FF control codes 2016-01-06 21:47:49 +00:00
mk Revert r293286. It was not intended to come in yet. 2016-01-07 00:20:47 +00:00
monetdef Simplify the locale generated Makefiles by using bmake multi variables for loops 2015-12-18 21:34:28 +00:00
msgdef Simplify the locale generated Makefiles by using bmake multi variables for loops 2015-12-18 21:34:28 +00:00
numericdef Simplify the locale generated Makefiles by using bmake multi variables for loops 2015-12-18 21:34:28 +00:00
security META MODE: These need object directories to handle staging. 2015-11-26 01:14:27 +00:00
sendmail Use more appropriate ${SHAREDIR} rather than /usr/share. 2015-10-27 23:35:02 +00:00
skel Use more appropriate ${SHAREDIR} rather than /usr/share. 2015-10-27 23:35:02 +00:00
snmp Add META_MODE support. 2015-06-13 19:20:56 +00:00
syscons Add more SUBDIR_PARALLEL. 2015-10-15 22:55:08 +00:00
tabset Add META_MODE support. 2015-06-13 19:20:56 +00:00
termcap Replace ln -s calls with INSTALL_SYMLINK 2015-12-04 03:17:14 +00:00
tests Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) and 2015-10-12 08:16:03 +00:00
timedef Restore a day of the week in date(1) output for Japanese locales. 2015-12-20 14:59:30 +00:00
vt Use correct name 'us' for character 31 in keymaps 2016-01-02 04:42:53 +00:00
zoneinfo Install share/zoneinfo in a deterministic way by sorting the results from find 2015-10-17 09:26:16 +00:00
Makefile Merge from head 2015-10-19 11:51:10 +00:00
Makefile.inc