Re: [RESEND PATCH 1/3] completion: Add support for initializing completion with lockdep_map

2017-10-20 Thread Byungchul Park
On Sat, Oct 21, 2017 at 4:58 AM, Bart Van Assche wrote: > Sorry but I'm not sure that's the best possible answer. In my opinion > avoiding that completion objects have dependencies on other lock objects, > e.g. by avoiding to wait on a completion object while holding a mutex, is a > far superior s

Re: [bug report] regression bisected to "block: Make most scsi_req_init() calls implicit"

2017-10-20 Thread Bart Van Assche
On Fri, 2017-10-20 at 16:54 -0600, dann frazier wrote: > hey, > I'm seeing a regression when executing 'dmraid -r -c' in an arm64 > QEMU guest, which I've bisected to the following commit: > > ca18d6f7 "block: Make most scsi_req_init() calls implicit" > > I haven't yet had time to try and deb

[bug report] regression bisected to "block: Make most scsi_req_init() calls implicit"

2017-10-20 Thread dann frazier
hey, I'm seeing a regression when executing 'dmraid -r -c' in an arm64 QEMU guest, which I've bisected to the following commit: ca18d6f7 "block: Make most scsi_req_init() calls implicit" I haven't yet had time to try and debug it yet, but wanted to get the report out there before the weekend.

Re: [PATCH 1/1] [RFC] blk-mq: fix queue stalling on shared hctx restart

2017-10-20 Thread Bart Van Assche
On Fri, 2017-10-20 at 11:39 +0200, Roman Penyaev wrote: > But what bothers me is these looong loops inside blk_mq_sched_restart(), > and since you are the author of the original 6d8c6c0f97ad ("blk-mq: Restart > a single queue if tag sets are shared") I want to ask what was the original > problem wh

Re: [RESEND PATCH 1/3] completion: Add support for initializing completion with lockdep_map

2017-10-20 Thread Bart Van Assche
On Fri, 2017-10-20 at 08:34 +0200, Thomas Gleixner wrote: > On Thu, 19 Oct 2017, Bart Van Assche wrote: > > Are there any completion objects for which the cross-release checking is > > useful? > > All of them by definition. Sorry but I'm not sure that's the best possible answer. In my opinion avo

Re: [PATCH 15/17] nvme: track shared namespaces

2017-10-20 Thread Javier González
Javier > On 18 Oct 2017, at 18.52, Christoph Hellwig wrote: > > Introduce a new struct nvme_ns_head that holds information about an actual > namespace, unlike struct nvme_ns, which only holds the per-controller > namespace information. For private namespaces there is a 1:1 relation of > the two,

Re: [PATCH 9/9] bsg: split handling of SCSI CDBs vs transport requeues

2017-10-20 Thread Benjamin Block
On Fri, Oct 20, 2017 at 06:26:30PM +0200, Christoph Hellwig wrote: > On Thu, Oct 19, 2017 at 05:59:33PM +0200, Benjamin Block wrote: > > > +#define ptr64(val) ((void __user *)(uintptr_t)(val)) > > > > Better to reflect the special property, that it is a user pointer, in > > the name of the macro.

Re: [PATCH 9/9] bsg: split handling of SCSI CDBs vs transport requeues

2017-10-20 Thread Christoph Hellwig
On Thu, Oct 19, 2017 at 05:59:33PM +0200, Benjamin Block wrote: > > +#define ptr64(val) ((void __user *)(uintptr_t)(val)) > > Better to reflect the special property, that it is a user pointer, in > the name of the macro. Maybe something like user_ptr(64). The same > comment for the same macro in b

[PATCH v2] block: fix peeking requests during PM

2017-10-20 Thread Christoph Hellwig
We need to look for an active PM request until the next softbarrier instead of looking for the first non-PM request. Otherwise any cause of request reordering might starve the PM request(s). Signed-off-by: Christoph Hellwig --- block/blk-core.c | 35 ++- 1 file c

Re: [PATCH v2 4/4] lockdep: Assign a lock_class per gendisk used for wait_for_completion()

2017-10-20 Thread Christoph Hellwig
The Subject prefix for this should be "block:". > @@ -945,7 +945,7 @@ int submit_bio_wait(struct bio *bio) > { > struct submit_bio_ret ret; > > - init_completion(&ret.event); > + init_completion_with_map(&ret.event, &bio->bi_disk->lockdep_map); FYI, I have an outstanding patch to

Re: [GIT PULL] nvme fixes for 4.14

2017-10-20 Thread Jens Axboe
On 10/20/2017 08:17 AM, Christoph Hellwig wrote: > Hi Jens, > > below are two regression fixes each for RDMA and FC, and a fix for a SQHD > update race in the target. > > The following changes since commit 639812a1ed9bf49ae2c026086fbf975339cd1eef: > > nbd: don't set the device size until we're

[GIT PULL] nvme fixes for 4.14

2017-10-20 Thread Christoph Hellwig
Hi Jens, below are two regression fixes each for RDMA and FC, and a fix for a SQHD update race in the target. The following changes since commit 639812a1ed9bf49ae2c026086fbf975339cd1eef: nbd: don't set the device size until we're connected (2017-10-09 12:29:22 -0600) are available in the git

Re: [PATCH V8 00/14] mmc: Add Command Queue support

2017-10-20 Thread Adrian Hunter
On 19/10/17 14:44, Adrian Hunter wrote: > On 18/10/17 09:16, Adrian Hunter wrote: >> On 11/10/17 16:58, Ulf Hansson wrote: >>> On 11 October 2017 at 14:58, Adrian Hunter wrote: On 11/10/17 15:13, Ulf Hansson wrote: > On 10 October 2017 at 15:31, Adrian Hunter > wrote: >> On 10/1

RE: [PATCH 0/6] v4 block refcount conversion patches

2017-10-20 Thread Reshetova, Elena
> Elena Reshetova writes: > > Elena Reshetova (6): > > block: convert bio.__bi_cnt from atomic_t to refcount_t > > block: convert blk_queue_tag.refcnt from atomic_t to refcount_t > > block: convert blkcg_gq.refcnt from atomic_t to refcount_t > > block: convert io_context.active_ref from a

Re: [PATCH 1/1] [RFC] blk-mq: fix queue stalling on shared hctx restart

2017-10-20 Thread Roman Penyaev
Hi Bart, On Thu, Oct 19, 2017 at 7:47 PM, Bart Van Assche wrote: > On Wed, 2017-10-18 at 12:22 +0200, Roman Pen wrote: >> the patch below fixes queue stalling when shared hctx marked for restart >> (BLK_MQ_S_SCHED_RESTART bit) but q->shared_hctx_restart stays zero. The >> root cause is that hctx

Re: [PATCH 0/6] v4 block refcount conversion patches

2017-10-20 Thread Johannes Thumshirn
Elena Reshetova writes: > Elena Reshetova (6): > block: convert bio.__bi_cnt from atomic_t to refcount_t > block: convert blk_queue_tag.refcnt from atomic_t to refcount_t > block: convert blkcg_gq.refcnt from atomic_t to refcount_t > block: convert io_context.active_ref from atomic_t to re

[PATCH 1/6] block: convert bio.__bi_cnt from atomic_t to refcount_t

2017-10-20 Thread Elena Reshetova
atomic_t variables are currently used to implement reference counters with the following properties: - counter is initialized to 1 using atomic_set() - a resource is freed upon counter reaching zero - once counter reaches zero, its further increments aren't allowed - counter schema uses basi

[PATCH 0/6] v4 block refcount conversion patches

2017-10-20 Thread Elena Reshetova
Changes in v4: - Improved commit messages and signoff info. - Rebase on top of linux-next as of yesterday. - WARN_ONs are restored since x86 refcount_t does not WARN on zero Changes in v3: No changes in patches apart from trivial rebases, but now by default refcount_t = atomic_t and uses all at

[PATCH 3/6] block: convert blkcg_gq.refcnt from atomic_t to refcount_t

2017-10-20 Thread Elena Reshetova
atomic_t variables are currently used to implement reference counters with the following properties: - counter is initialized to 1 using atomic_set() - a resource is freed upon counter reaching zero - once counter reaches zero, its further increments aren't allowed - counter schema uses basi

[PATCH 2/6] block: convert blk_queue_tag.refcnt from atomic_t to refcount_t

2017-10-20 Thread Elena Reshetova
atomic_t variables are currently used to implement reference counters with the following properties: - counter is initialized to 1 using atomic_set() - a resource is freed upon counter reaching zero - once counter reaches zero, its further increments aren't allowed - counter schema uses basi

[PATCH 6/6] drivers, block: convert xen_blkif.refcnt from atomic_t to refcount_t

2017-10-20 Thread Elena Reshetova
atomic_t variables are currently used to implement reference counters with the following properties: - counter is initialized to 1 using atomic_set() - a resource is freed upon counter reaching zero - once counter reaches zero, its further increments aren't allowed - counter schema uses basi

[PATCH 4/6] block: convert io_context.active_ref from atomic_t to refcount_t

2017-10-20 Thread Elena Reshetova
atomic_t variables are currently used to implement reference counters with the following properties: - counter is initialized to 1 using atomic_set() - a resource is freed upon counter reaching zero - once counter reaches zero, its further increments aren't allowed - counter schema uses basi

[PATCH 5/6] block: convert bsg_device.ref_count from atomic_t to refcount_t

2017-10-20 Thread Elena Reshetova
atomic_t variables are currently used to implement reference counters with the following properties: - counter is initialized to 1 using atomic_set() - a resource is freed upon counter reaching zero - once counter reaches zero, its further increments aren't allowed - counter schema uses basi