From: Keith Busch Date: Thu, 24 May 2018 20:34:55 +0000 (-0600) Subject: nvme-pci: Rate limit the nvme timeout warnings X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b9cac43c2c4aab221ee0bac72bd6b9f8bf00a223;p=linux.git nvme-pci: Rate limit the nvme timeout warnings The block layer's timeout handling currently prevents drivers from completing commands outside the timeout callback once blk-mq decides they've expired. If a device breaks, this could potentially create many thousands of timed out commands. There's nothing of value to be gleaned from observing each of those messages, so this patch adds a rate limit on them. Signed-off-by: Keith Busch Signed-off-by: Christoph Hellwig --- diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index bca8f521f887b..9cd62a13ff1fa 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -1227,7 +1227,7 @@ static enum blk_eh_timer_return nvme_timeout(struct request *req, bool reserved) switch (dev->ctrl.state) { case NVME_CTRL_CONNECTING: case NVME_CTRL_RESETTING: - dev_warn(dev->ctrl.device, + dev_warn_ratelimited(dev->ctrl.device, "I/O %d QID %d timeout, disable controller\n", req->tag, nvmeq->qid); nvme_dev_disable(dev, false);