[PATCH 3/3] blk-mq: make the polling code adaptive

2016-11-11 Thread Jens Axboe
. Depending on the value, the polling code will behave differently: -1 Never enter hybrid sleep mode 0 Use half of the completion mean for the sleep delay >0 Use this specific value as the sleep delay Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c

[PATCH 2/3] blk-mq: implement hybrid poll mode for sync O_DIRECT

2016-11-11 Thread Jens Axboe
/wakeup cycle in the IO path, but instead of the wakeup happening after the IO has completed, it'll happen before. With this hybrid scheme, we can achieve big latency reductions while still using the same (or less) amount of CPU. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c

Re: [PATCH] mm: don't cap request size based on read-ahead setting

2016-11-21 Thread Jens Axboe
On 11/20/2016 09:44 PM, Hillf Danton wrote: On Saturday, November 19, 2016 3:41 AM Jens Axboe wrote: We ran into a funky issue, where someone doing 256K buffered reads saw 128K requests at the device level. Turns out it is read-ahead capping the request size, since we use 128K as the default

Re: [PATCH] block: clear all of bi_opf in bio_set_op_attrs

2016-11-21 Thread Jens Axboe
t it seems dangerous. Also convert it to an inline function to make the argument passing safer. Agree, this is safer. Applied for 4.10. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More maj

Re: [PATCH 1/2] nvme: untangle 0 and BLK_MQ_RQ_QUEUE_OK

2016-11-15 Thread Jens Axboe
On 11/15/2016 12:11 PM, Omar Sandoval wrote: From: Omar Sandoval <osan...@fb.com> Let's not depend on any of the BLK_MQ_RQ_QUEUE_* constants having specific values. No functional change. Thanks Omar, applied both for 4.10. -- Jens Axboe -- To unsubscribe from this list: send th

Re: [PATCH/RFC] mm: don't cap request size based on read-ahead setting

2016-11-15 Thread Jens Axboe
On 11/15/2016 03:27 PM, Johannes Weiner wrote: Hi Jens, On Thu, Nov 10, 2016 at 10:00:37AM -0700, Jens Axboe wrote: Hi, We ran into a funky issue, where someone doing 256K buffered reads saw 128K requests at the device level. Turns out it is read-ahead capping the request size, since we use

Re: blk-mq: preparation of the ground for BFQ inclusion

2016-11-14 Thread Jens Axboe
On 11/14/2016 03:13 PM, Paolo Valente wrote: Hi Jens, have you had time to look into the first extensions/changes required? Any time plan? I was busy last week on the writeback and on the polling. I should have something end this week. -- Jens Axboe -- To unsubscribe from this list: send

Re: [PATCH] loop: return proper error from loop_queue_rq()

2016-11-14 Thread Jens Axboe
On 11/14/2016 03:56 PM, Omar Sandoval wrote: From: Omar Sandoval <osan...@fb.com> ->queue_rq() should return one of the BLK_MQ_RQ_QUEUE_* constants, not an errno. Thanks Omar, applied. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-bloc

Re: [PATCH 3/3] blk-mq: make the polling code adaptive

2016-11-14 Thread Jens Axboe
DE_REL); + hrtimer_start_expires(, mode); if (hs.task) io_schedule(); hrtimer_cancel(); + mode = HRTIMER_MODE_ABS; } while (hs.task && !signal_pending(current)); This fix should be folded into patch 2. Good point, I'll do

Re: [PATCH] sd_zbc: Force use of READ16/WRITE16

2016-11-14 Thread Jens Axboe
E16 commands anyway, make sure that use_16_for_rw is set. Added to the 4.10 branch, thanks. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 1/3] blk-mq: export blk_mq_map_queues

2016-11-01 Thread Jens Axboe
PCIe MSIx vectors > Christoph> or use the default. > > Jens, any objection to me funneling this change through the SCSI tree? No, that's fine, you can add my reviewed-by. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body

Re: block device direct I/O fast path

2016-11-01 Thread Jens Axboe
On Tue, Nov 01 2016, Christoph Hellwig wrote: > On Tue, Nov 01, 2016 at 11:00:19AM -0600, Jens Axboe wrote: > > #2 is a bit more problematic, I'm pondering how we can implement that on > > top of the bio approach. The nice thing about the request based approach > > is that

Re: block device direct I/O fast path

2016-11-01 Thread Jens Axboe
o implement that differently. Trying to think of options there, haven't found any yet. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: untange block operations and fs READ/WRITE

2016-11-01 Thread Jens Axboe
basic testing as well. Applied for 4.10. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

[PATCH 1/4] block: add scalable completion tracking of requests

2016-11-01 Thread Jens Axboe
. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Makefile| 2 +- block/blk-core.c | 4 + block/blk-mq-sysfs.c | 47 ++ block/blk-mq.c| 14 +++ block/blk-mq.h| 3 + block/blk-stat.c

[PATCH 3/4] blk-mq: implement hybrid poll mode for sync O_DIRECT

2016-11-01 Thread Jens Axboe
/wakeup cycle in the IO path, but instead of the wakeup happening after the IO has completed, it'll happen before. With this hybrid scheme, we can achieve big latency reductions while still using the same (or less) amount of CPU. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c

[PATCH 2/4] block: move poll code to blk-mq

2016-11-01 Thread Jens Axboe
The poll code is blk-mq specific, let's move it to blk-mq.c. This is a prep patch for improving the polling code. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-core.c | 36 +--- block/blk-mq.c | 33 + block/bl

[PATCH 4/4] blk-mq: make the polling code adaptive

2016-11-01 Thread Jens Axboe
. Depending on the value, the polling code will behave differently: -1 Never enter hybrid sleep mode 0 Use half of the completion mean for the sleep delay >0 Use this specific value as the sleep delay Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c

Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler

2016-10-27 Thread Jens Axboe
On 10/27/2016 08:34 AM, Grozdan wrote: On Thu, Oct 27, 2016 at 11:26 AM, Jan Kara <j...@suse.cz> wrote: On Wed 26-10-16 10:12:38, Jens Axboe wrote: On 10/26/2016 10:04 AM, Paolo Valente wrote: Il giorno 26 ott 2016, alle ore 17:32, Jens Axboe <ax...@kernel.dk> ha scritto: On 1

Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler

2016-10-27 Thread Jens Axboe
On 10/27/2016 03:26 AM, Jan Kara wrote: On Wed 26-10-16 10:12:38, Jens Axboe wrote: On 10/26/2016 10:04 AM, Paolo Valente wrote: Il giorno 26 ott 2016, alle ore 17:32, Jens Axboe <ax...@kernel.dk> ha scritto: On 10/26/2016 09:29 AM, Christoph Hellwig wrote: On Wed, Oct 26, 2016 at

Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler

2016-10-27 Thread Jens Axboe
and discuss the plans for this at Kernel summit/Linux Plumbers the next week! I'll be there. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org

Re: [PATCH 1/4] block: add scalable completion tracking of requests

2016-11-03 Thread Jens Axboe
ons are rare enough that it'll skew the latencies a bit for that short window, but then go away again. I'd much rather take that, than adding locking for this part. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to maj

Re: [PATCH 3/4] blk-mq: implement hybrid poll mode for sync O_DIRECT

2016-11-03 Thread Jens Axboe
On 11/03/2016 06:27 AM, Ming Lei wrote: On Wed, Nov 2, 2016 at 5:05 AM, Jens Axboe <ax...@fb.com> wrote: This patch enables a hybrid polling mode. Instead of polling after IO submission, we can induce an artificial delay, and then poll after that. For example, if the IO is presumed to co

Re: [PATCH] block: drop q argument from bsg_validate_sgv4_hdr

2016-11-03 Thread Jens Axboe
On 11/03/2016 03:38 AM, Johannes Thumshirn wrote: bsg_validate_sgv4_hdr() doesn't care about the request_queue, so drop it from it's arguments. Thanks, applied. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message

Re: [PATCH 3/4] blk-mq: implement hybrid poll mode for sync O_DIRECT

2016-11-03 Thread Jens Axboe
On 11/03/2016 08:01 AM, Bart Van Assche wrote: On 11/01/2016 03:05 PM, Jens Axboe wrote: +static void blk_mq_poll_hybrid_sleep(struct request_queue *q, + struct request *rq) +{ +struct hrtimer_sleeper hs; +ktime_t kt; + +if (!q->poll_nsec || test_

Re: [PATCH 1/4] block: add scalable completion tracking of requests

2016-11-03 Thread Jens Axboe
On 11/03/2016 08:10 AM, Bart Van Assche wrote: On 11/01/2016 03:05 PM, Jens Axboe wrote: +void blk_stat_init(struct blk_rq_stat *stat) +{ +__blk_stat_init(stat, ktime_to_ns(ktime_get())); +} + +static bool __blk_stat_is_current(struct blk_rq_stat *stat, s64 now) +{ +return (now

Re: [PATCH 1/4] block: add scalable completion tracking of requests

2016-11-03 Thread Jens Axboe
On 11/03/2016 08:57 AM, Ming Lei wrote: On Thu, Nov 3, 2016 at 9:38 PM, Jens Axboe <ax...@fb.com> wrote: On 11/03/2016 05:17 AM, Ming Lei wrote: diff --git a/block/blk-core.c b/block/blk-core.c index 0bfaa54d3e9f..ca77c725b4e5 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -

[PATCHSET v2] block: IO polling improvements

2016-11-03 Thread Jens Axboe
Fixed a few bugs in this, and addressed some review comments. Patches are against my 4.10 block branch, for-4.10/block. Some performance results, running random reads against a fast device, using either IRQ driven completions, classic polled, or the new hybrid polled: Method IOPS

[PATCH 4/5] blk-mq: implement hybrid poll mode for sync O_DIRECT

2016-11-03 Thread Jens Axboe
/wakeup cycle in the IO path, but instead of the wakeup happening after the IO has completed, it'll happen before. With this hybrid scheme, we can achieve big latency reductions while still using the same (or less) amount of CPU. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c

[PATCH 2/5] block: add scalable completion tracking of requests

2016-11-03 Thread Jens Axboe
. The feature is off by default, to avoid any extra overhead. In-kernel users of it can turn it on by setting QUEUE_FLAG_STATS in the queue flags. We currently don't turn it on if someone just reads any of the stats files, that is something we could add as well. Signed-off-by: Jens Axboe <

[PATCH 5/5] blk-mq: make the polling code adaptive

2016-11-03 Thread Jens Axboe
. Depending on the value, the polling code will behave differently: -1 Never enter hybrid sleep mode 0 Use half of the completion mean for the sleep delay >0 Use this specific value as the sleep delay Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c

[PATCH 3/5] block: move poll code to blk-mq

2016-11-03 Thread Jens Axboe
The poll code is blk-mq specific, let's move it to blk-mq.c. This is a prep patch for improving the polling code. Signed-off-by: Jens Axboe <ax...@fb.com> Reviewed-by: Christoph Hellwig <h...@lst.de> --- block/blk-core.c | 36 +--- block/blk

[PATCH 1/5] block: fast-path for small and simple direct I/O requests

2016-11-03 Thread Jens Axboe
avoid memory allocations and atomic operations entirely in the direct I/O code (lower levels might still do memory allocations and will usually have at least some atomic operations, though). Signed-off-by: Christoph Hellwig <h...@lst.de> Signed-off-by: Jens Axboe <ax...@fb.com> --- f

Re: [PATCH V2 2/2] blk-mq: immediately dispatch big size request

2016-11-03 Thread Jens Axboe
seem to make a lot of sense why we'd depth limit sq and not mq. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH 3/5] block: move poll code to blk-mq

2016-11-04 Thread Jens Axboe
On 11/04/2016 08:44 AM, Christoph Hellwig wrote: On Thu, Nov 03, 2016 at 01:45:05PM -0600, Jens Axboe wrote: The poll code is blk-mq specific, let's move it to blk-mq.c. This is a prep patch for improving the polling code. Signed-off-by: Jens Axboe <ax...@fb.com> Reviewed-by: Christoph H

Re: [PATCH V2 2/2] blk-mq: immediately dispatch big size request

2016-11-04 Thread Jens Axboe
On 11/04/2016 08:46 AM, Christoph Hellwig wrote: On Thu, Nov 03, 2016 at 10:00:58PM -0600, Jens Axboe wrote: I've applied 1-2 for 4.10, but we probably should look into unifying those parts of sq and mq in general. For instance, it doesn't seem to make a lot of sense why we'd depth limit sq

[PATCH 6/8] block: add scalable completion tracking of requests

2016-11-01 Thread Jens Axboe
. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Makefile| 2 +- block/blk-core.c | 4 + block/blk-mq-sysfs.c | 47 ++ block/blk-mq.c| 14 +++ block/blk-mq.h| 3 + block/blk-stat.c

[PATCH 2/8] writeback: add wbc_to_write_flags()

2016-11-01 Thread Jens Axboe
Add wbc_to_write_flags(), which returns the write modifier flags to use, based on a struct writeback_control. No functional changes in this patch, but it prepares us for factoring other wbc fields for write type. Signed-off-by: Jens Axboe <ax...@fb.com> Reviewed-by: Jan Kara <j..

[PATCH 7/8] blk-wbt: add general throttling mechanism

2016-11-01 Thread Jens Axboe
now scale back writes. Each trace includes the device, 259:0 in this case. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Makefile | 1 + block/blk-wbt.c| 704 + block/blk-wbt.h| 166 +++ include

[PATCH 8/8] block: hook up writeback throttling

2016-11-01 Thread Jens Axboe
will interfere with that. We don't have a strong need for wbt for that case, since we will rely on CFQ doing that for us. Signed-off-by: Jens Axboe <ax...@fb.com> --- Documentation/block/queue-sysfs.txt | 13 block/Kconfig | 24 +++ block/blk-core.c

Re: [PATCH 5/8] block: add code to track actual device queue depth

2016-11-02 Thread Jens Axboe
On 11/02/2016 08:59 AM, Christoph Hellwig wrote: On Tue, Nov 01, 2016 at 03:08:48PM -0600, Jens Axboe wrote: For blk-mq, ->nr_requests does track queue depth, at least at init time. But for the older queue paths, it's simply a soft setting. On top of that, it's generally larger t

Re: [PATCHSET] block: IO polling improvements

2016-11-02 Thread Jens Axboe
On 11/02/2016 08:51 AM, Christoph Hellwig wrote: On Tue, Nov 01, 2016 at 03:05:21PM -0600, Jens Axboe wrote: This builds on top of Christophs simplified bdev O_DIRECT code, posted earlier today [1]. Btw, can you create a stable branch just for the "block: add bio_iov_iter_get_pages(

Re: [PATCH 1/4] block: add scalable completion tracking of requests

2016-11-02 Thread Jens Axboe
On 11/02/2016 08:52 AM, Christoph Hellwig wrote: On Tue, Nov 01, 2016 at 03:05:22PM -0600, Jens Axboe wrote: For legacy block, we simply track them in the request queue. For blk-mq, we track them on a per-sw queue basis, which we can then sum up through the hardware queues and finally to a per

Re: [PATCH 1/4] block: add scalable completion tracking of requests

2016-11-01 Thread Jens Axboe
On Tue, Nov 01 2016, Johannes Thumshirn wrote: > On Tue, Nov 01, 2016 at 03:05:22PM -0600, Jens Axboe wrote: > > For legacy block, we simply track them in the request queue. For > > blk-mq, we track them on a per-sw queue basis, which we can then > > sum up through the hardwa

Re: [PATCH 1/8] block: add WRITE_BACKGROUND

2016-11-02 Thread Jens Axboe
On Wed, Nov 02 2016, Christoph Hellwig wrote: > On Tue, Nov 01, 2016 at 03:08:44PM -0600, Jens Axboe wrote: > > This adds a new request flag, REQ_BACKGROUND, that callers can use to > > tell the block layer that this is background (non-urgent) IO. > > The subject still

[PATCHSET] block: buffered writeback throttling

2016-10-26 Thread Jens Axboe
-dev.c|1 mm/page-writeback.c |1 29 files changed, 1689 insertions(+), 16 deletions(-) -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http:/

Re: [PATCH] block: flush: fix IO hang in case of flood fua req

2016-10-26 Thread Jens Axboe
end_io for that path. Applied. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

[PATCH 1/8] block: add WRITE_BG

2016-10-26 Thread Jens Axboe
This adds a new request flag, REQ_BG, that callers can use to tell the block layer that this is background (non-urgent) IO. Signed-off-by: Jens Axboe <ax...@fb.com> --- include/linux/blk_types.h | 4 +++- include/linux/fs.h| 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-)

[PATCH 7/8] blk-wbt: add general throttling mechanism

2016-10-26 Thread Jens Axboe
now scale back writes. Each trace includes the device, 259:0 in this case. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Makefile | 1 + block/blk-wbt.c| 704 + block/blk-wbt.h| 166 +++ include

[PATCH 8/8] block: hook up writeback throttling

2016-10-26 Thread Jens Axboe
will interfere with that. We don't have a strong need for wbt for that case, since we will rely on CFQ doing that for us. Signed-off-by: Jens Axboe <ax...@fb.com> --- Documentation/block/queue-sysfs.txt | 13 block/Kconfig | 24 +++ block/blk-core.c

[PATCH 3/8] writeback: use WRITE_BG for kupdate and background writeback

2016-10-26 Thread Jens Axboe
If we're doing background type writes, then use the appropriate write command for that. Signed-off-by: Jens Axboe <ax...@fb.com> --- include/linux/writeback.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 78b87c

[PATCH 4/8] writeback: track if we're sleeping on progress in balance_dirty_pages()

2016-10-26 Thread Jens Axboe
Note in the bdi_writeback structure whenever a task ends up sleeping waiting for progress. We can use that information in the lower layers to increase the priority of writes. Signed-off-by: Jens Axboe <ax...@fb.com> --- include/linux/backing-dev-defs.h | 2 ++ mm/backing

[PATCH 6/8] block: add scalable completion tracking of requests

2016-10-26 Thread Jens Axboe
. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Makefile| 2 +- block/blk-core.c | 4 + block/blk-mq-sysfs.c | 47 ++ block/blk-mq.c| 14 +++ block/blk-mq.h| 3 + block/blk-stat.c

[PATCH 5/8] block: add code to track actual device queue depth

2016-10-26 Thread Jens Axboe
est with a 'queue_depth' member, that drivers can call to more closely inform the block layer of the real queue depth. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-settings.c | 12 drivers/scsi/scsi.c| 3 +++ include/linux/blkdev.h | 11 +++ 3 files changed, 26 insertions

Re: clean up block ops defintions

2016-10-28 Thread Jens Axboe
reasonable, currently the mess of what flags are shared, which ones are not, etc is a big pain in the ass. So making the distinction clearer is an improvement. I'll work on getting this applied to 4.10/block. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-

Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler

2016-10-28 Thread Jens Axboe
). Until then, EOD. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

[PATCH 5/8] block: add code to track actual device queue depth

2016-11-01 Thread Jens Axboe
est with a 'queue_depth' member, that drivers can call to more closely inform the block layer of the real queue depth. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-settings.c | 12 drivers/scsi/scsi.c| 3 +++ include/linux/blkdev.h | 11 +++ 3 files changed, 26 insertions

[PATCHSET] Throttled buffered writeback

2016-11-01 Thread Jens Axboe
I have addressed the (small) review comments from Christoph, and rebased it on top of for-4.10/block, since that now has the flag unification and fs side cleanups as well. This impacted the prep patches, and the wbt code. I'd really like to get this merged for 4.10. It's block specific at this

[PATCH 3/8] writeback: mark background writeback as such

2016-11-01 Thread Jens Axboe
If we're doing background type writes, then use the appropriate background write flags for that. Signed-off-by: Jens Axboe <ax...@fb.com> --- include/linux/writeback.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 50c96e

[PATCH 4/8] writeback: track if we're sleeping on progress in balance_dirty_pages()

2016-11-01 Thread Jens Axboe
Note in the bdi_writeback structure whenever a task ends up sleeping waiting for progress. We can use that information in the lower layers to increase the priority of writes. Signed-off-by: Jens Axboe <ax...@fb.com> --- include/linux/backing-dev-defs.h | 2 ++ mm/backing

[PATCH 1/8] block: add WRITE_BACKGROUND

2016-11-01 Thread Jens Axboe
This adds a new request flag, REQ_BACKGROUND, that callers can use to tell the block layer that this is background (non-urgent) IO. Signed-off-by: Jens Axboe <ax...@fb.com> --- include/linux/blk_types.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/blk_types.h b/i

Re: [PATCH v4 1/4] block: Add iocontext priority to request

2016-10-13 Thread Jens Axboe
to rewrite the commit message though. A good commit message should explain WHY the change is made, not detail the code implementation of it. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More m

Re: [PATCH v4 1/4] block: Add iocontext priority to request

2016-10-13 Thread Jens Axboe
On 10/13/2016 02:59 PM, Dan Williams wrote: On Thu, Oct 13, 2016 at 1:24 PM, Jens Axboe <ax...@kernel.dk> wrote: On 10/13/2016 02:19 PM, Dan Williams wrote: On Thu, Oct 13, 2016 at 1:09 PM, Jens Axboe <ax...@kernel.dk> wrote: On 10/13/2016 02:06 PM, Dan Williams wrote: On

Re: [PATCH v4 1/4] block: Add iocontext priority to request

2016-10-13 Thread Jens Axboe
On 10/13/2016 02:19 PM, Dan Williams wrote: On Thu, Oct 13, 2016 at 1:09 PM, Jens Axboe <ax...@kernel.dk> wrote: On 10/13/2016 02:06 PM, Dan Williams wrote: On Thu, Oct 13, 2016 at 12:53 PM, Adam Manzanares <adam.manzana...@hgst.com> wrote: Patch adds an association between ioco

Re: [PATCH v2] badblocks: fix overlapping check for clearing

2016-10-12 Thread Jens Axboe
block end is past clear block end but also if stored block start is before clear block end. Queued up, thanks. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.

Re: [PATCH v3 1/2] block: Add iocontext priority to request

2016-10-12 Thread Jens Axboe
' is allocated, and ensuring that we inherit and override this if the bio has one set instead. It should already work like that. And in no way should we add some sysfs file to control this, that is nuts. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-

[PATCH 7/7] blk-mq-sched: allow setting of default IO scheduler

2016-12-08 Thread Jens Axboe
Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Kconfig.iosched | 43 +-- block/blk-mq-sched.c| 19 +++ block/blk-mq-sched.h| 1 + block/blk-mq.c | 3 +++ block/elevator.c| 5 - drivers/nvme/host

[PATCH 4/7] blk-flush: run the queue when inserting blk-mq flush

2016-12-08 Thread Jens Axboe
Currently we pass in to run the queue async, but don't flag the queue to be run. We don't need to run it async here, but we should run it. So fixup the parameters. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-flush.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff

[PATCH 2/7] blk-mq: abstract out blk_mq_dispatch_rq_list() helper

2016-12-08 Thread Jens Axboe
Takes a list of requests, and dispatches it. Moves any residual requests to the dispatch list. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c | 85 -- block/blk-mq.h | 1 + 2 files changed, 48 insertions(+), 38 del

[PATCH 6/7] mq-deadline: add blk-mq adaptation of the deadline IO scheduler

2016-12-08 Thread Jens Axboe
Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Kconfig.iosched | 6 + block/Makefile| 1 + block/mq-deadline.c | 647 ++ 3 files changed, 654 insertions(+) create mode 100644 block/mq-deadline.c diff --git a/block/Kconfig.i

[PATCHSET/RFC v2] blk-mq scheduling framework

2016-12-08 Thread Jens Axboe
As a followup to this posting from yesterday: https://marc.info/?l=linux-block=148115232806065=2 this is version 2. I wanted to post a new one fairly quickly, as there ended up being a number of potential crashes in v1. This one should be solid, I've run mq-deadline on both NVMe and regular

[PATCH 1/7] blk-mq: add blk_mq_start_stopped_hw_queue()

2016-12-08 Thread Jens Axboe
We have a variant for all hardware queues, but not one for a single hardware queue. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c | 18 +++--- include/linux/blk-mq.h | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/block/blk-mq.c b

[PATCH 6/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-07 Thread Jens Axboe
Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Makefile | 2 +- block/blk-core.c | 3 +- block/blk-exec.c | 3 +- block/blk-flush.c| 7 +-- block/blk-mq-tag.c | 1 + block/blk-mq.c

[PATCH 2/7] blk-mq: abstract out blk_mq_dispatch_rq_list() helper

2016-12-07 Thread Jens Axboe
Takes a list of requests, and dispatches it. Moves any residual requests to the dispatch list. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq.c | 85 -- block/blk-mq.h | 1 + 2 files changed, 48 insertions(+), 38 del

[PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-07 Thread Jens Axboe
Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-mq-sched.c | 243 +++ block/blk-mq-sched.h | 168 +++ 2 files changed, 411 insertions(+) create mode 100644 block/blk-mq-sched.c create mode 100644 block/

[PATCH 4/7] blk-flush: run the queue when inserting blk-mq flush

2016-12-07 Thread Jens Axboe
Currently we pass in to run the queue async, but don't flag the queue to be run. We don't need to run it async here, but we should run it. So fixup the parameters. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-flush.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff

[PATCHSET/RFC] blk-mq scheduling framework

2016-12-07 Thread Jens Axboe
q.h | 33 -- block/elevator.c | 140 +++--- block/mq-deadline.c | 622 +++ include/linux/blk-mq.h |3 include/linux/elevator.h | 30 ++ 14 files changed, 1331 insertions(+), 172 deletions(-) -- Jens Ax

Re: [PATCH] nbd: use dev_err_ratelimited in io path

2016-12-08 Thread Jens Axboe
On 12/05/2016 02:20 PM, Josef Bacik wrote: > While doing stress tests we noticed that we'd get a lot of dmesg spam if > we suddenly disconnected teh nbd device out of band. Rate limite the > messages in the io path in order to deal with this. Added, with fixed up spelling. -- J

Re: [PATCH] blk-wbt: don't throttle discard or write zeroes

2016-12-09 Thread Jens Axboe
On 12/09/2016 06:19 AM, Christoph Hellwig wrote: > Both of these are metadata only commands that are not issued by the > writeback code and not directly relevant to the writeback bandwith. Added, thanks. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe

Re: [PATCH] block_dev: don't update file access position for sync direct IO

2016-12-13 Thread Jens Axboe
On 12/13/2016 08:07 PM, Shaohua Li wrote: > For sync direct IO, generic_file_direct_write/generic_file_read_iter > will update file access position. Don't duplicate the update in > .direct_IO. This cause my raid array can't assemble. That's not great... Thanks, added. -- J

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-15 Thread Jens Axboe
rt_request(struct blk_mq_hw_ctx *hctx, struct request > > *rq, > > bool at_head); > > +void blk_mq_insert_requests(struct blk_mq_hw_ctx *hctx, struct blk_mq_ctx > > *ctx, > > + struct list_head *list); > > +void bl

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-15 Thread Jens Axboe
e old > interface do the sched stuff instead of adding blk_mq_sched_*()? I fixed this up. blk_mq_free_request() is now what we still use as an exported interface, and that just calls blk_mq_sched_put_request(). The old (__)blk_mq_free_request() are now (__)blk_mq_finish_request() a

Re: [PATCH] block: Remove unused member (busy) from struct blk_queue_tag

2016-12-16 Thread Jens Axboe
int busy; /* current depth */ > int max_depth; /* what we will send to device */ > int real_max_depth; /* what the array can hold */ > atomic_t refcnt; /* map can be shared */ Applied, thanks. -- Je

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-13 Thread Jens Axboe
On Tue, Dec 13 2016, Bart Van Assche wrote: > On 12/08/2016 09:13 PM, Jens Axboe wrote: > >+static inline void blk_mq_sched_put_request(struct request *rq) > >+{ > >+struct request_queue *q = rq->q; > >+struct elevator_queue *e = q->elevat

Re: [PATCH 7/7] blk-mq-sched: allow setting of default IO scheduler

2016-12-13 Thread Jens Axboe
On 12/13/2016 03:13 AM, Bart Van Assche wrote: > On 12/08/2016 09:13 PM, Jens Axboe wrote: >> +config DEFAULT_MQ_IOSCHED >> +string >> +default "mq-deadline" if DEFAULT_MQ_DEADLINE >> +default "none" if DEFAULT_MQ_NONE >> + >

Re: [PATCHSET/RFC v2] blk-mq scheduling framework

2016-12-13 Thread Jens Axboe
On Tue, Dec 13 2016, Paolo Valente wrote: > > > Il giorno 08 dic 2016, alle ore 21:13, Jens Axboe <ax...@fb.com> ha scritto: > > > > As a followup to this posting from yesterday: > > > > https://marc.info/?l=linux-block=148115232806065=2 > > >

Re: [PATCH resend] block_dev: don't test bdev->bd_contains when it is not stable.

2016-12-12 Thread Jens Axboe
*whole, > return true; /* already a holder */ > else if (bdev->bd_holder != NULL) > return false;/* held by someone else */ > - else if (bdev->bd_contains == bdev) > + else if (whole == bdev) > return true; /* is a whole

Re: [PATCHSET/RFC v2] blk-mq scheduling framework

2016-12-13 Thread Jens Axboe
On 12/13/2016 09:15 AM, Paolo Valente wrote: > >> Il giorno 13 dic 2016, alle ore 16:17, Jens Axboe <ax...@fb.com> ha scritto: >> >> On Tue, Dec 13 2016, Paolo Valente wrote: >>> >>>> Il giorno 08 dic 2016, alle ore 21:13, Jens Axboe <ax..

Re: [GIT PULL] Block core changes for 4.10

2016-12-13 Thread Jens Axboe
On 12/11/2016 06:52 PM, Jens Axboe wrote: > Note that this pull will throw 3 trivial merge conflicts, since we had > patches that went into mainline after 4.9-rc1 (upon which this branch is > based), and one that will not show up in block/blk-flush.c. The latter > is due to a f

Re: [PATCH v3] blk-mq: Fix failed allocation path when mapping queues

2016-12-14 Thread Jens Axboe
optimization all together, but it > seemed a bad trade-off to handle this very specific error case. Thanks, this looks fine to me now. Both of your patches are queued up for inclusion in 4.10. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block"

[GIT PULL] fs meta data unmap

2016-12-14 Thread Jens Axboe
+- fs/ufs/inode.c | 3 +- include/linux/buffer_head.h | 7 ++- 13 files changed, 104 insertions(+), 95 deletions(-) -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majo

[GIT PULL] Block IO fixes for 4.10-rc1

2016-12-14 Thread Jens Axboe
16 deletions(-) -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

[PATCH 6/7] mq-deadline: add blk-mq adaptation of the deadline IO scheduler

2016-12-14 Thread Jens Axboe
Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Kconfig.iosched | 6 + block/Makefile| 1 + block/mq-deadline.c | 638 ++ 3 files changed, 645 insertions(+) create mode 100644 block/mq-deadline.c diff --git a/block/Kconfig.i

[PATCH 1/7] block: move existing elevator ops to union

2016-12-14 Thread Jens Axboe
Prep patch for adding MQ ops as well, since doing anon unions with named initializers doesn't work on older compilers. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-ioc.c | 8 +++ block/blk-merge.c| 4 ++-- block/blk.h | 10 blo

[PATCHSET v3] blk-mq scheduling framework

2016-12-14 Thread Jens Axboe
++ 22 files changed, 1635 insertions(+), 232 deletions(-) -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

[PATCH 7/7] blk-mq-sched: allow setting of default IO scheduler

2016-12-14 Thread Jens Axboe
Signed-off-by: Jens Axboe <ax...@fb.com> --- block/Kconfig.iosched | 43 +-- block/blk-mq-sched.c| 19 +++ block/blk-mq-sched.h| 2 ++ block/blk-mq.c | 3 +++ block/elevator.c| 5 - drivers/nvme/host

[PATCH 3/7] block: move rq_ioc() to blk.h

2016-12-14 Thread Jens Axboe
We want to use it outside of blk-core.c. Signed-off-by: Jens Axboe <ax...@fb.com> --- block/blk-core.c | 16 block/blk.h | 16 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index 61ba08

Re: [PATCHSET/RFC v2] blk-mq scheduling framework

2016-12-13 Thread Jens Axboe
On 12/13/2016 09:28 AM, Jens Axboe wrote: >>> No worries, ask away if you have questions. As you might have seen, it's >>> still a little bit of a moving target, but it's getting closer every >>> day. I'll post a v3 later today hopefully that will be a good fix point &g

Re: [PATCH 5/7] blk-mq-sched: add framework for MQ capable IO schedulers

2016-12-14 Thread Jens Axboe
On 12/14/2016 03:31 AM, Bart Van Assche wrote: > On 12/13/2016 04:14 PM, Jens Axboe wrote: >> On 12/13/2016 06:56 AM, Bart Van Assche wrote: >>> On 12/08/2016 09:13 PM, Jens Axboe wrote: >>>> +struct request *blk_mq_sched_alloc_shadow_r

Re: [PATCH RESEND v2 2/2] blk-mq: Avoid memory reclaim when remapping queues

2016-12-14 Thread Jens Axboe
simplest fix for this is to make allocations in this path > non-reclaimable, with GFP_NOIO. With this patch, We couldn't hit the > issue anymore. This looks fine. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message

<    1   2   3   4   5   6   7   8   9   10   >