nvme - Add interrupt coalescing support
commit23bba4b51cd8cfd346a72004221300ec50fc7ae6
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 8 Jun 2016 05:30:00 +0000 (7 22:30 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 8 Jun 2016 05:30:00 +0000 (7 22:30 -0700)
treea196df2b4ab10e6ddb51535425b5fb17d090d9d8
parent97e5a0083db5b35c30879770ea0d10d7bba6308e
nvme - Add interrupt coalescing support

* 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.
sys/dev/disk/nvme/nvme_admin.c