nvme - Add interrupt coalescing support

Operating Systems / DragonFlyBSD - Matthew Dillon [apollo.backplane.com] - 8 June 2016 00:30 UTC

- Add interrupt coalescing support. However, disable it in the code for now by setting its parameters to 0. I tried minimal parameters (time set to 1 which is 100uS and aggregation threshold set to 4) and it completely destroyed performance in all my tests on the Intel 750.

Even in tests where the interrupt rate was less than 10,000/sec, the intel controller is clearly implementing a broken algorithm and is actually enforcing that 100uS of latency even if the interrupt rate has not exceeded the rate. So even relatively large transfers had horrible performance.

So for now the code is in, but its turned off.

23bba4b nvme - Add interrupt coalescing support
sys/dev/disk/nvme/nvme_admin.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Upstream: gitweb.dragonflybsd.org


  • Share