All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <539B6577.503@fb.com>

diff --git a/a/1.txt b/N1/1.txt
index e4e6d8a..83e51d7 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -68,11 +68,3 @@ queues later, I don't see that as a huge issue at all.
 
 -- 
 Jens Axboe
-
--------------- next part --------------
-A non-text attachment was scrubbed...
-Name: nvme-affinity-hint.patch
-Type: text/x-patch
-Size: 1537 bytes
-Desc: not available
-URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20140613/80bec08c/attachment.bin>
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..03fcc48
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,3 @@
+Content-Type: text/x-patch; name="nvme-affinity-hint.patch"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="nvme-affinity-hint.patch"
diff --git a/N1/2.txt b/N1/2.txt
new file mode 100644
index 0000000..8418e51
--- /dev/null
+++ b/N1/2.txt
@@ -0,0 +1,38 @@
+diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c
+index ee48ac5..8dc5d36 100644
+--- a/drivers/block/nvme-core.c
++++ b/drivers/block/nvme-core.c
+@@ -178,6 +178,9 @@ static int nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
+ 		nvmeq->hctx = hctx;
+ 	else
+ 		WARN_ON(nvmeq->hctx->tags != hctx->tags);
++
++	irq_set_affinity_hint(dev->entry[nvmeq->cq_vector].vector,
++				hctx->cpumask);
+ 	hctx->driver_data = nvmeq;
+ 	return 0;
+ }
+@@ -581,6 +584,7 @@ static int nvme_queue_rq(struct blk_mq_hw_ctx *hctx, struct request *req)
+ 	enum dma_data_direction dma_dir;
+ 	int psegs = req->nr_phys_segments;
+ 	int result = BLK_MQ_RQ_QUEUE_BUSY;
++
+ 	/*
+ 	 * Requeued IO has already been prepped
+ 	 */
+@@ -1788,6 +1792,7 @@ static struct nvme_ns *nvme_alloc_ns(struct nvme_dev *dev, unsigned nsid,
+ 	queue_flag_set_unlocked(QUEUE_FLAG_DEFAULT, ns->queue);
+ 	queue_flag_set_unlocked(QUEUE_FLAG_NOMERGES, ns->queue);
+ 	queue_flag_set_unlocked(QUEUE_FLAG_NONROT, ns->queue);
++	queue_flag_set_unlocked(QUEUE_FLAG_VIRT_HOLE, ns->queue);
+ 	queue_flag_clear_unlocked(QUEUE_FLAG_IO_STAT, ns->queue);
+ 	ns->dev = dev;
+ 	ns->queue->queuedata = ns;
+@@ -1801,7 +1806,6 @@ static struct nvme_ns *nvme_alloc_ns(struct nvme_dev *dev, unsigned nsid,
+ 	lbaf = id->flbas & 0xf;
+ 	ns->lba_shift = id->lbaf[lbaf].ds;
+ 	ns->ms = le16_to_cpu(id->lbaf[lbaf].ms);
+-	blk_queue_max_segments(ns->queue, 1);
+ 	blk_queue_logical_block_size(ns->queue, 1 << ns->lba_shift);
+ 	if (dev->max_hw_sectors)
+ 		blk_queue_max_hw_sectors(ns->queue, dev->max_hw_sectors);
diff --git a/a/content_digest b/N1/content_digest
index 5cf1fff..9f3143c 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -21,10 +21,18 @@
  "ref\0539B3F75.7040700@fb.com\0"
  "ref\0alpine.LRH.2.03.1406131307330.4699@AMR\0"
  "ref\0539B5124.3090302@fb.com\0"
- "From\0axboe@fb.com (Jens Axboe)\0"
- "Subject\0[PATCH v7] NVMe: conversion to blk-mq\0"
+ "From\0Jens Axboe <axboe@fb.com>\0"
+ "Subject\0Re: [PATCH v7] NVMe: conversion to blk-mq\0"
  "Date\0Fri, 13 Jun 2014 14:56:23 -0600\0"
- "\00:1\0"
+ "To\0Keith Busch <keith.busch@intel.com>\0"
+ "Cc\0Matias Bj\303\270rling <m@bjorling.me>"
+  Matthew Wilcox <willy@linux.intel.com>
+  sbradshaw@micron.com <sbradshaw@micron.com>
+  tom.leiming@gmail.com <tom.leiming@gmail.com>
+  hch@infradead.org <hch@infradead.org>
+  linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
+ " linux-nvme@lists.infradead.org <linux-nvme@lists.infradead.org>\0"
+ "\01:1\0"
  "b\0"
  "On 2014-06-13 13:29, Jens Axboe wrote:\n"
  "> On 06/13/2014 01:22 PM, Keith Busch wrote:\n"
@@ -95,14 +103,47 @@
  "queues later, I don't see that as a huge issue at all.\n"
  "\n"
  "-- \n"
- "Jens Axboe\n"
- "\n"
- "-------------- next part --------------\n"
- "A non-text attachment was scrubbed...\n"
- "Name: nvme-affinity-hint.patch\n"
- "Type: text/x-patch\n"
- "Size: 1537 bytes\n"
- "Desc: not available\n"
- URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20140613/80bec08c/attachment.bin>
+ Jens Axboe
+ "\01:2\0"
+ "fn\0nvme-affinity-hint.patch\0"
+ "b\0"
+ "diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c\n"
+ "index ee48ac5..8dc5d36 100644\n"
+ "--- a/drivers/block/nvme-core.c\n"
+ "+++ b/drivers/block/nvme-core.c\n"
+ "@@ -178,6 +178,9 @@ static int nvme_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,\n"
+ " \t\tnvmeq->hctx = hctx;\n"
+ " \telse\n"
+ " \t\tWARN_ON(nvmeq->hctx->tags != hctx->tags);\n"
+ "+\n"
+ "+\tirq_set_affinity_hint(dev->entry[nvmeq->cq_vector].vector,\n"
+ "+\t\t\t\thctx->cpumask);\n"
+ " \thctx->driver_data = nvmeq;\n"
+ " \treturn 0;\n"
+ " }\n"
+ "@@ -581,6 +584,7 @@ static int nvme_queue_rq(struct blk_mq_hw_ctx *hctx, struct request *req)\n"
+ " \tenum dma_data_direction dma_dir;\n"
+ " \tint psegs = req->nr_phys_segments;\n"
+ " \tint result = BLK_MQ_RQ_QUEUE_BUSY;\n"
+ "+\n"
+ " \t/*\n"
+ " \t * Requeued IO has already been prepped\n"
+ " \t */\n"
+ "@@ -1788,6 +1792,7 @@ static struct nvme_ns *nvme_alloc_ns(struct nvme_dev *dev, unsigned nsid,\n"
+ " \tqueue_flag_set_unlocked(QUEUE_FLAG_DEFAULT, ns->queue);\n"
+ " \tqueue_flag_set_unlocked(QUEUE_FLAG_NOMERGES, ns->queue);\n"
+ " \tqueue_flag_set_unlocked(QUEUE_FLAG_NONROT, ns->queue);\n"
+ "+\tqueue_flag_set_unlocked(QUEUE_FLAG_VIRT_HOLE, ns->queue);\n"
+ " \tqueue_flag_clear_unlocked(QUEUE_FLAG_IO_STAT, ns->queue);\n"
+ " \tns->dev = dev;\n"
+ " \tns->queue->queuedata = ns;\n"
+ "@@ -1801,7 +1806,6 @@ static struct nvme_ns *nvme_alloc_ns(struct nvme_dev *dev, unsigned nsid,\n"
+ " \tlbaf = id->flbas & 0xf;\n"
+ " \tns->lba_shift = id->lbaf[lbaf].ds;\n"
+ " \tns->ms = le16_to_cpu(id->lbaf[lbaf].ms);\n"
+ "-\tblk_queue_max_segments(ns->queue, 1);\n"
+ " \tblk_queue_logical_block_size(ns->queue, 1 << ns->lba_shift);\n"
+ " \tif (dev->max_hw_sectors)\n"
+ " \t\tblk_queue_max_hw_sectors(ns->queue, dev->max_hw_sectors);"
 
-918299a82c4c88cc0632ab201a914095e8385d47c902841c52efde60b5bdbafa
+6d8e9e6ea0925a6feaf2db75c810d1280ea8943060e963af54737fe25ff4932c

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.