mav 37e8a0e005 Make nvme(4) driver some more NUMA aware.
- For each queue pair precalculate CPU and domain it is bound to.
If queue pairs are not per-CPU, then use the domain of the device.
 - Allocate most of queue pair memory from the domain it is bound to.
 - Bind callouts to the same CPUs as queue pair to avoid migrations.
 - Do not assign queue pairs to each SMT thread.  It just wasted
resources and increased lock congestions.
 - Remove fixed multiplier of CPUs per queue pair, spread them even.
This allows to use more queue pairs in some hardware configurations.
 - If queue pair serves multiple CPUs, bind different NVMe devices to
different CPUs.

MFC after:	1 month
Sponsored by:	iXsystems, Inc.
2019-09-23 17:53:47 +00:00
..
2019-05-24 06:07:33 +00:00
2018-07-07 15:55:52 +00:00
2019-02-25 21:59:01 +00:00
2019-05-28 18:05:10 +00:00
2019-08-08 06:30:12 +00:00
2019-03-19 14:34:53 +00:00
2019-05-30 13:52:32 +00:00
2019-08-18 15:37:19 +00:00
2019-09-18 16:13:50 +00:00
2019-09-19 22:15:57 +00:00
2019-09-23 14:34:23 +00:00
2018-08-21 10:08:12 +00:00
2019-05-23 12:51:13 +00:00
2019-07-10 12:40:07 +00:00
2019-02-05 21:37:34 +00:00
2019-03-11 14:26:45 +00:00
2018-04-13 20:30:49 +00:00
2019-02-05 21:37:34 +00:00
2018-09-26 19:41:00 +00:00
2019-06-08 16:26:56 +00:00
2019-02-05 21:37:34 +00:00
2018-07-27 10:40:48 +00:00
2019-02-04 21:28:25 +00:00
2019-04-16 02:46:21 +00:00
2019-08-30 00:40:08 +00:00
2019-02-26 19:55:03 +00:00