Thread (31 messages) 31 messages, 3 authors, 2018-11-30

Re: [PATCH 01/13] block: move queues types to the block layer

From: Keith Busch <hidden>
Date: 2018-11-30 14:43:16
Also in: linux-nvme

On Fri, Nov 30, 2018 at 12:00:13AM -0800, Christoph Hellwig wrote:
On Thu, Nov 29, 2018 at 01:19:14PM -0700, Keith Busch wrote:
quoted
On Thu, Nov 29, 2018 at 08:12:58PM +0100, Christoph Hellwig wrote:
quoted
+enum hctx_type {
+	HCTX_TYPE_DEFAULT,	/* all I/O not otherwise accounted for */
+	HCTX_TYPE_READ,		/* just for READ I/O */
+	HCTX_TYPE_POLL,		/* polled I/O of any kind */
+
+	HCTX_MAX_TYPES,
 };
Well, there goes my plan to use this with Weighted-Round-Robin NVMe IO
queues!
Wo between what do you even want to round robin?  If it is between
reads and writes that's easy.  If we want priority reads or writes
(separate from polling) that's also still fairly easily.
I was considering the IOPRIO_PRIO_CLASS. There are four of them, which
may roughly correspond to the four NVMe IO queues weights. Maybe even
through HIPRI flagged IOs with the RT class.

 
Btw, one thing I wanted to try once I get hold of the right hardware
is to mark the poll queues as priority queues and see if that makes
any differents in poll IOPS/latency.
I doubt it will make much difference in IOPS, but should improve latency
on hipri IOs at the expense of normal IO since hipri will be fetched
ahead during command arbitrarion.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help