Re: [PATCH 17/24] fuse: Convert to separately allocated bdi

2017-02-07 Thread Miklos Szeredi
On Thu, Feb 2, 2017 at 6:34 PM, Jan Kara wrote: > Allocate struct backing_dev_info separately instead of embedding it > inside the superblock. This unifies handling of bdi among users. Acked-by: Miklos Szeredi A follow on patch could get rid of

Re: [PATCH 17/24] fuse: Convert to separately allocated bdi

2017-02-07 Thread Jan Kara
On Tue 07-02-17 10:16:58, Miklos Szeredi wrote: > On Thu, Feb 2, 2017 at 6:34 PM, Jan Kara wrote: > > Allocate struct backing_dev_info separately instead of embedding it > > inside the superblock. This unifies handling of bdi among users. > > Acked-by: Miklos Szeredi

Re: [PATCH 0/4 v2] BDI lifetime fix

2017-02-07 Thread Jan Kara
On Mon 06-02-17 13:26:53, Thiago Jung Bauermann wrote: > Am Montag, 6. Februar 2017, 12:48:42 BRST schrieb Thiago Jung Bauermann: > > 216 static inline void wb_get(struct bdi_writeback *wb) > > 217 { > > 218 if (wb != >bdi->wb) > > 219 percpu_ref_get(>refcnt); > > 220 } > >

[PATCH 2/4] block: enumify ELEVATOR_*_MERGE

2017-02-07 Thread Christoph Hellwig
Switch these constants to an enum, and make let the compiler ensure that all callers of blk_try_merge and elv_merge handle all potential values. Signed-off-by: Christoph Hellwig --- block/blk-core.c | 76 +--- block/blk-merge.c

[PATCH 1/4] block: move req_set_nomerge to blk.h

2017-02-07 Thread Christoph Hellwig
This makes it available outside of blk-merge.c, and inlining such a trivial helper seems pretty useful to start with. Signed-off-by: Christoph Hellwig --- block/blk-merge.c | 7 --- block/blk.h | 7 +++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git

support for multi-range discard requests

2017-02-07 Thread Christoph Hellwig
Hi all, this series adds support for merging discontiguous discard bios into a single request if the driver supports it. This reduces the number of discards sent to the device by about a factor of 5-6 for typical workloads on NVMe, and for slower devices that use I/O scheduling the number will

[PATCH 3/4] block: optionally merge discontiguous discard bios into a single request

2017-02-07 Thread Christoph Hellwig
Add a new merge strategy that merges discard bios into a request until the maximum number of discard ranges (or the maximum discard size) is reached from the plug merging code. I/O scheduler merging is not wired up yet but might also be useful, although not for fast devices like NVMe which are

Re: [PATCH] nbd: freeze the queue before making changes

2017-02-07 Thread Josef Bacik
On Mon, 2017-02-06 at 10:54 -0500, Josef Bacik wrote: > The way we make changes to the NBD device is inherently racey, as we > could be in the middle of a request and suddenly change the number of > connections.  In practice this isn't a big deal, but with timeouts we > have to take the

Re: [PATCH] genhd: Do not hold event lock when scheduling workqueue elements

2017-02-07 Thread Jens Axboe
On 02/06/2017 11:29 PM, Dexuan Cui wrote: >> From: linux-block-ow...@vger.kernel.org [mailto:linux-block- >> ow...@vger.kernel.org] On Behalf Of Dexuan Cui >> with the linux-next kernel. >> >> I can boot the guest with linux-next's next-20170130 without any issue, >> but since next-20170131 I

Re: [Lsf-pc] LSF/MM Question

2017-02-07 Thread James Bottomley
On Tue, 2017-02-07 at 16:09 +, Jim Mostek via Lsf-pc wrote: > wondering about the upcoming Linux Storage Filesystem & MM summint in > March. LSF/MM Question > > What presentations are there so far? LSF/MM is not really a conference, it's a summit. That means it's going to be discussion

Re: [PATCH 0/4 v2] BDI lifetime fix

2017-02-07 Thread Tejun Heo
Hello, On Tue, Feb 07, 2017 at 01:33:31PM +0100, Jan Kara wrote: > > We can see above that inode->i_wb is in r31, and the machine crashed at > > 0xc03799a0 so it was trying to dereference wb and crashed. > > r31 is NULL in the crash information. > > Thanks for report and the analysis.

[WIP PATCHSET 0/4] WIP branch for bfq-mq

2017-02-07 Thread Paolo Valente
Hi, I have finally pushed here [1] the current WIP branch of bfq for blk-mq, which I have tentatively named bfq-mq. This branch *IS NOT* meant for merging into mainline and contain code that mau easily violate code style, and not only, in many places. Commits implement the following main steps:

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

2017-02-07 Thread Paolo Valente
> Il giorno 02 feb 2017, alle ore 22:32, Jens Axboe ha scritto: > > On 02/02/2017 02:15 PM, Paolo Valente wrote: >> >>> Il giorno 02 feb 2017, alle ore 16:30, Jens Axboe ha scritto: >>> >>> On 02/02/2017 02:19 AM, Paolo Valente wrote: The scheme is clear.

[PATCH] bfq-mq: cause deadlock by executing exit_icq body immediately

2017-02-07 Thread Paolo Valente
Hi, this patch is meant to show that, if the body of the hook exit_icq is executed from inside that hook, and not as deferred work, then a circular deadlock occurs. It happens if, on a CPU - the body of icq_exit takes the scheduler lock, - it does so from inside the exit_icq hook, which is

[WIP PATCHSET 4/4] Modify interface and operation to comply with blk-mq-sched

2017-02-07 Thread Paolo Valente
As for modifications of the operation, the major changes are the introduction of a scheduler lock, and the moving to deferred work of the body of the hook exit_icq. The latter change has been made to avoid deadlocks caused by the combination of the following facts: 1) such a body takes the

[WIP PATCHSET 3/4] Embed bfq-ioc.c and add locking on request queue

2017-02-07 Thread Paolo Valente
The version of bfq-ioc.c for bfq-iosched.c is not correct any more for bfq-mq, because, in bfq-mq, the request queue lock is not being held when bfq_bic_lookup is invoked. That function must then take that look on its own. This commit removes the inclusion of bfq-ioc.c, copies the content of

[WIP PATCHSET 1/4] blk-mq: pass bio to blk_mq_sched_get_rq_priv

2017-02-07 Thread Paolo Valente
bio is used in bfq-mq's get_rq_priv, to get the request group. We could pass directly the group here, but I thought that passing the bio was more general, giving the possibility to get other pieces of information if needed. Signed-off-by: Paolo Valente ---

[WIP PATCHSET 2/4] Move thinktime from bic to bfqq

2017-02-07 Thread Paolo Valente
Prep change to make it possible to protect this field with a scheduler lock. Signed-off-by: Paolo Valente --- block/bfq-mq-iosched.c | 28 ++-- block/bfq-mq.h | 30 -- 2 files changed, 30 insertions(+), 28

Re: [PATCH] bfq-mq: cause deadlock by executing exit_icq body immediately

2017-02-07 Thread Omar Sandoval
On Tue, Feb 07, 2017 at 06:33:46PM +0100, Paolo Valente wrote: > Hi, > this patch is meant to show that, if the body of the hook exit_icq is > executed > from inside that hook, and not as deferred work, then a circular deadlock > occurs. > > It happens if, on a CPU > - the body of icq_exit

[GIT PULL] WRITE_SAME regression fix for 4.10

2017-02-07 Thread Jens Axboe
Hi Linus, Please pull the below branch for a single fix that should go into 4.10, fixing a regression on some devices with the WRITE_SAME command. git://git.kernel.dk/linux-block.git for-linus Christoph Hellwig (1):

[PATCH] nbd: cleanup ioctl handling

2017-02-07 Thread Josef Bacik
Break the ioctl handling out into helper functions, some of these things are getting pretty big and unwieldy. Signed-off-by: Josef Bacik --- drivers/block/nbd.c | 265 ++-- 1 file changed, 130 insertions(+), 135 deletions(-) diff

[PATCH] nbd: ref count the socks array

2017-02-07 Thread Josef Bacik
In preparation for allowing seamless reconnects we need a way to make sure that we don't free the socks array out from underneath ourselves. So a socks_ref counter in order to keep track of who is using the socks array, and only free it and change num_connections once our reference reduces to

Re: [lustre-devel] [PATCH 06/24] lustre: Convert to separately allocated bdi

2017-02-07 Thread Dilger, Andreas
On Feb 2, 2017, at 10:34, Jan Kara wrote: > > Allocate struct backing_dev_info separately instead of embedding it > inside superblock. This unifies handling of bdi among users. > > CC: Oleg Drokin > CC: Andreas Dilger > CC: James

Re: [PATCH 4/4] nvme: support ranged discard requests

2017-02-07 Thread Christoph Hellwig
On Tue, Feb 07, 2017 at 01:34:54PM -0500, Keith Busch wrote: > On Tue, Feb 07, 2017 at 05:46:58PM +0100, Christoph Hellwig wrote: > > @@ -1233,6 +1243,8 @@ static void nvme_set_queue_limits(struct nvme_ctrl > > *ctrl, > > if (ctrl->vwc & NVME_CTRL_VWC_PRESENT) > > vwc = true; > >

Re: [PATCH 1/9] virtio_pci: remove struct virtio_pci_vq_info

2017-02-07 Thread Jason Wang
On 2017年02月07日 17:38, Christoph Hellwig wrote: On Tue, Feb 07, 2017 at 03:17:02PM +0800, Jason Wang wrote: The check is still there. Meh, I could swear I fixed it up. Here is an updated version: --- From bf5e3b7fd272aea32388570503f00d0ab592fc2a Mon Sep 17 00:00:00 2001 From: Christoph

Re: [lustre-devel] [PATCH 04/24] fs: Provide infrastructure for dynamic BDIs in filesystems

2017-02-07 Thread Dilger, Andreas
On Feb 2, 2017, at 10:34, Jan Kara wrote: > > Provide helper functions for setting up dynamically allocated > backing_dev_info structures for filesystems and cleaning them up on > superblock destruction. > > CC: linux-...@lists.infradead.org > CC: linux-...@vger.kernel.org > CC:

Re: [PATCH 4/4] nvme: support ranged discard requests

2017-02-07 Thread Keith Busch
On Tue, Feb 07, 2017 at 05:46:58PM +0100, Christoph Hellwig wrote: > @@ -1233,6 +1243,8 @@ static void nvme_set_queue_limits(struct nvme_ctrl > *ctrl, > if (ctrl->vwc & NVME_CTRL_VWC_PRESENT) > vwc = true; > blk_queue_write_cache(q, vwc, vwc); > +