Re: [PATCH 8/8] blk-mq: add plug case for devices that implement ->commits_rqs()

2018-11-27 Thread Christoph Hellwig
> + } else if (plug && q->mq_ops->commit_rqs) { > + /* > + * If we have a ->commit_rqs(), then we know the driver can > + * batch submission doorbell updates. Add rq to plug list, > + * and flush if we exceed the plug count only. > +

Re: [PATCH 6/8] ataflop: implement mq_ops->commit_rqs() hook

2018-11-27 Thread Christoph Hellwig
On Mon, Nov 26, 2018 at 09:35:54AM -0700, Jens Axboe wrote: > We need this for blk-mq to kick things into gear, if we told it that > we had more IO coming, but then failed to deliver on that promise. queue_rq also calls finish_fdc under atari_disable_irq( IRQ_MFP_FDC ), do we need that here as

Re: [PATCH 5/8] virtio_blk: implement mq_ops->commit_rqs() hook

2018-11-27 Thread Christoph Hellwig
On Mon, Nov 26, 2018 at 09:35:53AM -0700, Jens Axboe wrote: > We need this for blk-mq to kick things into gear, if we told it that > we had more IO coming, but then failed to deliver on that promise. > > Signed-off-by: Jens Axboe Looks fine, Reviewed-by: Christoph Hellwig

Re: [PATCH 4/8] nvme: implement mq_ops->commit_rqs() hook

2018-11-27 Thread Christoph Hellwig
> +static inline int nvme_next_ring_index(struct nvme_queue *nvmeq, u16 index) > +{ > + if (++index == nvmeq->q_depth) > + return 0; > + > + return index; Can you please just drop this helper? It makes the code not only less readable but also longer. Otherwise the change

Re: [PATCH 3/8] blk-mq: add mq_ops->commit_rqs()

2018-11-27 Thread Christoph Hellwig
On Mon, Nov 26, 2018 at 09:35:51AM -0700, Jens Axboe wrote: > blk-mq passes information to the hardware about any given request being > the last that we will issue in this sequence. The point is that hardware > can defer costly doorbell type writes to the last request. But if we run > into errors

Re: [PATCH 5/8] virtio_blk: implement mq_ops->commit_rqs() hook

2018-11-27 Thread Michael S. Tsirkin
On Tue, Nov 27, 2018 at 03:45:38PM -0800, Omar Sandoval wrote: > On Mon, Nov 26, 2018 at 09:35:53AM -0700, Jens Axboe wrote: > > We need this for blk-mq to kick things into gear, if we told it that > > we had more IO coming, but then failed to deliver on that promise. > > Reviewed-by: Omar

Re: [PATCH 7/8] blk-mq: use bd->last == true for list inserts

2018-11-27 Thread Jens Axboe
On 11/27/18 6:49 PM, Ming Lei wrote: > On Mon, Nov 26, 2018 at 09:35:55AM -0700, Jens Axboe wrote: >> If we are issuing a list of requests, we know if we're at the last one. >> If we fail issuing, ensure that we call ->commits_rqs() to flush any >> potential previous requests. >> >> Signed-off-by:

Re: [PATCH 5/8] virtio_blk: implement mq_ops->commit_rqs() hook

2018-11-27 Thread Jens Axboe
On 11/27/18 7:10 PM, Ming Lei wrote: > On Mon, Nov 26, 2018 at 09:35:53AM -0700, Jens Axboe wrote: >> We need this for blk-mq to kick things into gear, if we told it that >> we had more IO coming, but then failed to deliver on that promise. >> >> Signed-off-by: Jens Axboe >> --- >>

Re: [PATCH 5/8] virtio_blk: implement mq_ops->commit_rqs() hook

2018-11-27 Thread Ming Lei
On Mon, Nov 26, 2018 at 09:35:53AM -0700, Jens Axboe wrote: > We need this for blk-mq to kick things into gear, if we told it that > we had more IO coming, but then failed to deliver on that promise. > > Signed-off-by: Jens Axboe > --- > drivers/block/virtio_blk.c | 15 +++ > 1 file

Re: [PATCH 2/2] nvme: create slaves/holder entries for multipath devices

2018-11-27 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH 1/2] block: move holder tracking from struct block_device to hd_struct

2018-11-27 Thread Sagi Grimberg
Reviewed-by: Sagi Grimberg

Re: [PATCH 7/8] blk-mq: use bd->last == true for list inserts

2018-11-27 Thread Ming Lei
On Mon, Nov 26, 2018 at 09:35:55AM -0700, Jens Axboe wrote: > If we are issuing a list of requests, we know if we're at the last one. > If we fail issuing, ensure that we call ->commits_rqs() to flush any > potential previous requests. > > Signed-off-by: Jens Axboe > --- > block/blk-core.c | 2

Re: [PATCH 3/8] blk-mq: add mq_ops->commit_rqs()

2018-11-27 Thread Ming Lei
On Mon, Nov 26, 2018 at 09:35:51AM -0700, Jens Axboe wrote: > blk-mq passes information to the hardware about any given request being > the last that we will issue in this sequence. The point is that hardware > can defer costly doorbell type writes to the last request. But if we run > into errors

[PATCH] block: update documentation

2018-11-27 Thread Damien Le Moal
Add the description of the zoned, nr_zones and chunk_sectors sysfs queue attributes to Documentation/block/queue-sysfs.txt. The description of the zoned and chunk_sector attributes are mostly copied from ABI/testing/sysfs-block. While at it, also fix a typo in the description of the io_poll_delay

[PATCH v5 2/2] arm64: crypto: add NEON accelerated XOR implementation

2018-11-27 Thread Jackie Liu
This is a NEON acceleration method that can improve performance by approximately 20%. I got the following data from the centos 7.5 on Huawei's HISI1616 chip: [ 93.837726] xor: measuring software checksum speed [ 93.874039] 8regs : 7123.200 MB/sec [ 93.914038] 32regs : 7180.300 MB/sec [

[PATCH v5 1/2] arm64/neon: add workaround for ambiguous C99 stdint.h types

2018-11-27 Thread Jackie Liu
In a way similar to ARM commit 09096f6a0ee2 ("ARM: 7822/1: add workaround for ambiguous C99 stdint.h types"), this patch redefines the macros that are used in stdint.h so its definitions of uint64_t and int64_t are compatible with those of the kernel. This patch comes from:

Re: [PATCH 2/8] block: improve logic around when to sort a plug list

2018-11-27 Thread Jens Axboe
On 11/27/18 5:05 PM, Omar Sandoval wrote: >> +static void blk_add_rq_to_plug(struct blk_plug *plug, struct request *rq) >> +{ >> +list_add_tail(>queuelist, >mq_list); >> +plug->rq_count++; >> +if (!plug->multiple_queues && !list_is_singular(>mq_list)) { >> +struct request

Re: [PATCH 2/8] block: improve logic around when to sort a plug list

2018-11-27 Thread Omar Sandoval
On Tue, Nov 27, 2018 at 04:59:14PM -0700, Jens Axboe wrote: > On 11/27/18 4:49 PM, Jens Axboe wrote: > > On 11/27/18 4:31 PM, Omar Sandoval wrote: > >> On Mon, Nov 26, 2018 at 09:35:50AM -0700, Jens Axboe wrote: > >>> Do it for the nr_hw_queues == 1 case, but only do it for the multi queue > >>>

Re: [PATCH 2/8] block: improve logic around when to sort a plug list

2018-11-27 Thread Jens Axboe
On 11/27/18 4:49 PM, Jens Axboe wrote: > On 11/27/18 4:31 PM, Omar Sandoval wrote: >> On Mon, Nov 26, 2018 at 09:35:50AM -0700, Jens Axboe wrote: >>> Do it for the nr_hw_queues == 1 case, but only do it for the multi queue >>> case if we have requests for multiple devices in the plug. >>> >>>

Re: [PATCH 2/8] block: improve logic around when to sort a plug list

2018-11-27 Thread Omar Sandoval
On Tue, Nov 27, 2018 at 04:49:27PM -0700, Jens Axboe wrote: > On 11/27/18 4:31 PM, Omar Sandoval wrote: > > On Mon, Nov 26, 2018 at 09:35:50AM -0700, Jens Axboe wrote: > >> Do it for the nr_hw_queues == 1 case, but only do it for the multi queue > >> case if we have requests for multiple devices

Re: [PATCH 7/8] blk-mq: use bd->last == true for list inserts

2018-11-27 Thread Jens Axboe
On 11/27/18 4:49 PM, Omar Sandoval wrote: > On Mon, Nov 26, 2018 at 09:35:55AM -0700, Jens Axboe wrote: >> If we are issuing a list of requests, we know if we're at the last one. >> If we fail issuing, ensure that we call ->commits_rqs() to flush any >> potential previous requests. > > One

Re: [PATCH 7/8] blk-mq: use bd->last == true for list inserts

2018-11-27 Thread Omar Sandoval
On Mon, Nov 26, 2018 at 09:35:55AM -0700, Jens Axboe wrote: > If we are issuing a list of requests, we know if we're at the last one. > If we fail issuing, ensure that we call ->commits_rqs() to flush any > potential previous requests. One comment below, otherwise Reviewed-by: Omar Sandoval >

Re: [PATCH 2/8] block: improve logic around when to sort a plug list

2018-11-27 Thread Jens Axboe
On 11/27/18 4:31 PM, Omar Sandoval wrote: > On Mon, Nov 26, 2018 at 09:35:50AM -0700, Jens Axboe wrote: >> Do it for the nr_hw_queues == 1 case, but only do it for the multi queue >> case if we have requests for multiple devices in the plug. >> >> Signed-off-by: Jens Axboe >> --- >>

Re: [PATCH 6/8] ataflop: implement mq_ops->commit_rqs() hook

2018-11-27 Thread Omar Sandoval
On Mon, Nov 26, 2018 at 09:35:54AM -0700, Jens Axboe wrote: > We need this for blk-mq to kick things into gear, if we told it that > we had more IO coming, but then failed to deliver on that promise. Who converted this one? Oh yeah, it was me... Reviewed-by: Omar Sandoval > Signed-off-by: Jens

Re: [PATCH 5/8] virtio_blk: implement mq_ops->commit_rqs() hook

2018-11-27 Thread Omar Sandoval
On Mon, Nov 26, 2018 at 09:35:53AM -0700, Jens Axboe wrote: > We need this for blk-mq to kick things into gear, if we told it that > we had more IO coming, but then failed to deliver on that promise. Reviewed-by: Omar Sandoval But also cc'd the virtio-blk maintainers. > Signed-off-by: Jens

Re: [PATCH 3/8] blk-mq: add mq_ops->commit_rqs()

2018-11-27 Thread Omar Sandoval
On Mon, Nov 26, 2018 at 09:35:51AM -0700, Jens Axboe wrote: > blk-mq passes information to the hardware about any given request being > the last that we will issue in this sequence. The point is that hardware > can defer costly doorbell type writes to the last request. But if we run > into errors

Re: [PATCH 2/8] block: improve logic around when to sort a plug list

2018-11-27 Thread Omar Sandoval
On Mon, Nov 26, 2018 at 09:35:50AM -0700, Jens Axboe wrote: > Do it for the nr_hw_queues == 1 case, but only do it for the multi queue > case if we have requests for multiple devices in the plug. > > Signed-off-by: Jens Axboe > --- > block/blk-core.c | 1 + > block/blk-mq.c | 7

Re: [PATCH v3 2/2] arm64: crypto: add NEON accelerated XOR implementation

2018-11-27 Thread Will Deacon
On Tue, Nov 27, 2018 at 01:46:48PM +0100, Ard Biesheuvel wrote: > (add maintainers back to cc) > > On Tue, 27 Nov 2018 at 12:49, Ard Biesheuvel > wrote: > > > > On Tue, 27 Nov 2018 at 11:10, Jackie Liu wrote: > > > > > > This is a NEON acceleration method that can improve > > > performance by

Re: [PATCH 17/20] aio: support for IO polling

2018-11-27 Thread Jens Axboe
On 11/27/18 2:53 AM, Benny Halevy wrote: >> @@ -818,11 +853,15 @@ static int kill_ioctx(struct mm_struct *mm, struct >> kioctx *ctx, >> { >> struct kioctx_table *table; >> >> +mutex_lock(>getevents_lock); >> spin_lock(>ioctx_lock); >> if (atomic_xchg(>dead, 1)) { >>

Re: [PATCH 2/7] block: have ->poll_fn() return number of entries polled

2018-11-27 Thread Jens Axboe
On 11/27/18 3:10 AM, Sagi Grimberg wrote: >> No, it'll be exactly the same, and believe me, I've done plenty of >> performance testing to ensure that it works well. In fact, with the >> changes queued up and this on top, polling is both faster and more >> efficient than it ever has been before,

Re: [PATCH v3 2/2] arm64: crypto: add NEON accelerated XOR implementation

2018-11-27 Thread JackieLiu
Yes, I got it. Thanks for review these patch. BR. Jackie > 在 2018年11月27日,20:46,Ard Biesheuvel 写道: > > (add maintainers back to cc) > > On Tue, 27 Nov 2018 at 12:49, Ard Biesheuvel > wrote: >> >> On Tue, 27 Nov 2018 at 11:10, Jackie Liu wrote: >>> >>> This is a NEON acceleration method

Re: [PATCH v3 2/2] arm64: crypto: add NEON accelerated XOR implementation

2018-11-27 Thread Ard Biesheuvel
(add maintainers back to cc) On Tue, 27 Nov 2018 at 12:49, Ard Biesheuvel wrote: > > On Tue, 27 Nov 2018 at 11:10, Jackie Liu wrote: > > > > This is a NEON acceleration method that can improve > > performance by approximately 20%. I got the following > > data from the centos 7.5 on Huawei's

Re: [PATCH v4 1/1] arm64/neon: add workaround for ambiguous C99 stdint.h types

2018-11-27 Thread Ard Biesheuvel
(add maintainers back to cc) On Tue, 27 Nov 2018 at 13:38, Jackie Liu wrote: > > In a way similar to ARM commit 09096f6a0ee2 ("ARM: 7822/1: add workaround > for ambiguous C99 stdint.h types"), this patch redefines the macros that > are used in stdint.h so its definitions of uint64_t and int64_t

[PATCH v4 1/1] arm64/neon: add workaround for ambiguous C99 stdint.h types

2018-11-27 Thread Jackie Liu
In a way similar to ARM commit 09096f6a0ee2 ("ARM: 7822/1: add workaround for ambiguous C99 stdint.h types"), this patch redefines the macros that are used in stdint.h so its definitions of uint64_t and int64_t are compatible with those of the kernel. This patch comes from:

Re: [PATCH v3 2/2] arm64: crypto: add NEON accelerated XOR implementation

2018-11-27 Thread JackieLiu
> 在 2018年11月27日,19:49,Ard Biesheuvel 写道: > > On Tue, 27 Nov 2018 at 11:10, Jackie Liu wrote: >> >> This is a NEON acceleration method that can improve >> performance by approximately 20%. I got the following >> data from the centos 7.5 on Huawei's HISI1616 chip: >> >> [ 93.837726] xor:

Re: [PATCH v3 2/2] arm64: crypto: add NEON accelerated XOR implementation

2018-11-27 Thread Ard Biesheuvel
On Tue, 27 Nov 2018 at 11:10, Jackie Liu wrote: > > This is a NEON acceleration method that can improve > performance by approximately 20%. I got the following > data from the centos 7.5 on Huawei's HISI1616 chip: > > [ 93.837726] xor: measuring software checksum speed > [ 93.874039] 8regs :

Re: [PATCH v3 1/2] arm64/neon: add workaround for ambiguous C99 stdint.h types

2018-11-27 Thread Ard Biesheuvel
On Tue, 27 Nov 2018 at 11:10, Jackie Liu wrote: > > In a way similar to ARM commit 09096f6a0ee2 ("ARM: 7822/1: add workaround > for ambiguous C99 stdint.h types"), this patch redefines the macros that > are used in stdint.h so its definitions of uint64_t and int64_t are > compatible with those of

Re: [PATCH 2/7] block: have ->poll_fn() return number of entries polled

2018-11-27 Thread Sagi Grimberg
We currently only really support sync poll, ie poll with 1 IO in flight. This prepares us for supporting async poll. Hey Jens, So are we sure that this is fine to simply replace the poll functionality? you say that that we support poll with only 1 I/O inflight but is it entirely true?

[PATCH v3 2/2] arm64: crypto: add NEON accelerated XOR implementation

2018-11-27 Thread Jackie Liu
This is a NEON acceleration method that can improve performance by approximately 20%. I got the following data from the centos 7.5 on Huawei's HISI1616 chip: [ 93.837726] xor: measuring software checksum speed [ 93.874039] 8regs : 7123.200 MB/sec [ 93.914038] 32regs : 7180.300 MB/sec [

[PATCH v3 1/2] arm64/neon: add workaround for ambiguous C99 stdint.h types

2018-11-27 Thread Jackie Liu
In a way similar to ARM commit 09096f6a0ee2 ("ARM: 7822/1: add workaround for ambiguous C99 stdint.h types"), this patch redefines the macros that are used in stdint.h so its definitions of uint64_t and int64_t are compatible with those of the kernel. This patch comes from:

Re: [PATCH v2 1/2] arm64: add workaround for ambiguous C99 stdint.h types

2018-11-27 Thread JackieLiu
Yep, you are right. I will change code later. But now, I found an new problem, when build the kernel, I got follow message: WARNING: EXPORT symbol "xor_block_inner_neon" [arch/arm64/lib/xor-neon.ko] version generation failed, symbol will not be versioned. I don’t know why, do you have any

Re: [PATCH 17/20] aio: support for IO polling

2018-11-27 Thread Benny Halevy
On Mon, 2018-11-26 at 09:45 -0700, Jens Axboe wrote: > Add polled variants of PREAD/PREADV and PWRITE/PWRITEV. These act > like their non-polled counterparts, except we expect to poll for > completion of them. The polling happens at io_getevent() time, and > works just like non-polled IO. > > To

Re: [PATCH 04/20] block: wire up block device iopoll method

2018-11-27 Thread Johannes Thumshirn
Reviewed-by: Johannes Thumshirn -- Johannes ThumshirnSUSE Labs jthumsh...@suse.de+49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg)

Re: [PATCH 03/20] fs: add an iopoll method to struct file_operations

2018-11-27 Thread Johannes Thumshirn
Reviewed-by: Johannes Thumshirn -- Johannes ThumshirnSUSE Labs jthumsh...@suse.de+49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg)

Re: [PATCH v2 1/2] arm64: add workaround for ambiguous C99 stdint.h types

2018-11-27 Thread Ard Biesheuvel
On Tue, 27 Nov 2018 at 06:28, Jackie Liu wrote: > > In a way similar to ARM commit 09096f6a0ee2 ("ARM: 7822/1: add workaround > for ambiguous C99 stdint.h types"), this patch redefines the macros that > are used in stdint.h so its definitions of uint64_t and int64_t are > compatible with those of

Re: [PATCH 02/20] aio: clear IOCB_HIPRI

2018-11-27 Thread Johannes Thumshirn
Reviewed-by: Johannes Thumshirn -- Johannes ThumshirnSUSE Labs jthumsh...@suse.de+49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg)

Re: [PATCH 01/20] aio: fix failure to put the file pointer

2018-11-27 Thread Johannes Thumshirn
Reivewed-by: Johannes Thumshirn -- Johannes ThumshirnSUSE Labs jthumsh...@suse.de+49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg)