Re: [Xen-devel] [PATCHv5 12/14] xen-blkback: safely unmap grants in case they are still in use

2015-03-12 Thread Bob Liu
On 03/13/2015 02:25 AM, David Vrabel wrote: > On 12/03/15 03:30, Roger Pau Monné wrote: >> >> @@ -343,20 +353,19 @@ void xen_blkbk_unmap_purged_grants(struct work_struct >> *work) >> >> pages[segs_to_unmap] = persistent_gnt->page; >> >> -if (++segs_to_unmap == BLKIF_M

Re: [Xen-devel] [PATCHv5 12/14] xen-blkback: safely unmap grants in case they are still in use

2015-03-11 Thread Bob Liu
On 03/09/2015 07:02 PM, David Vrabel wrote: > On 09/03/15 10:51, Bob Liu wrote: >> >> On 03/09/2015 05:30 PM, David Vrabel wrote: >>> On 09/03/15 09:09, Bob Liu wrote: >>>> Hi David, >>>> >>>> Recently I met an issue which is likely

Re: [Xen-devel] [PATCHv5 12/14] xen-blkback: safely unmap grants in case they are still in use

2015-03-09 Thread Bob Liu
On 03/09/2015 07:22 PM, Roger Pau Monné wrote: > El 09/03/15 a les 12.02, David Vrabel ha escrit: >> On 09/03/15 10:51, Bob Liu wrote: >>> >>> On 03/09/2015 05:30 PM, David Vrabel wrote: >>>> On 09/03/15 09:09, Bob Liu wrote: >>>>> Hi Davi

Re: [Xen-devel] [PATCHv5 12/14] xen-blkback: safely unmap grants in case they are still in use

2015-03-09 Thread Bob Liu
On 03/09/2015 05:30 PM, David Vrabel wrote: > On 09/03/15 09:09, Bob Liu wrote: >> Hi David, >> >> Recently I met an issue which is likely related with this patch. It >> happened when running block benchmark on domU, the backend was an iSCSI >> disk connec

Re: [Xen-devel] [PATCHv5 12/14] xen-blkback: safely unmap grants in case they are still in use

2015-03-09 Thread Bob Liu
Hi David, Recently I met an issue which is likely related with this patch. It happened when running block benchmark on domU, the backend was an iSCSI disk connected to dom0. I got below panic at put_page_testzero() on dom0, at that time the ixgbe network card was freeing skb pages in __skb_frag_un

Re: [Xen-devel] [PATCH 04/10] xen/blkfront: separate ring information to an new struct

2015-03-04 Thread Bob Liu
On 03/05/2015 05:21 AM, Konrad Rzeszutek Wilk wrote: >>> David assertion that better performance and scalbility can be gained >>> with grant table locking and TLB flush avoidance is interesting - as >>> 1). The grant locking is going in Xen 4.6 but not earlier - so when running >>> on older hy

Re: [Xen-devel] [PATCH 04/10] xen/blkfront: separate ring information to an new struct

2015-02-27 Thread Bob Liu
On 02/21/2015 02:59 AM, Konrad Rzeszutek Wilk wrote: >> >> Agree, Life would be easier if we can remove the persistent feature. > > ..snip.. > > If Konrad/Bob agree I would like to send a patch to remove persistent > grants and then have the multiqueue series rebased on top of

Re: [Xen-devel] [PATCH 03/10] xen/blkfront: reorg info->io_lock after using blk-mq API

2015-02-18 Thread Bob Liu
On 02/19/2015 01:05 AM, Christoph Hellwig wrote: > On Sun, Feb 15, 2015 at 04:18:58PM +0800, Bob Liu wrote: >> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c >> index 3589436..5a90a51 100644 >> --- a/drivers/block/xen-blkfront.c >> +++ b/d

Re: [Xen-devel] [RFC PATCH 00/10] Multi-queue support for xen-block driver

2015-02-18 Thread Bob Liu
On 02/19/2015 02:22 AM, Felipe Franciosi wrote: > > >> -Original Message----- >> From: Bob Liu [mailto:bob@oracle.com] >> Sent: 15 February 2015 08:19 >> To: xen-devel@lists.xen.org >> Cc: David Vrabel; linux-ker...@vger.kernel.org; Roger Pau Monn

Re: [Xen-devel] [PATCH 04/10] xen/blkfront: separate ring information to an new struct

2015-02-18 Thread Bob Liu
On 02/19/2015 02:08 AM, Felipe Franciosi wrote: >> -Original Message- >> From: Konrad Rzeszutek Wilk [mailto:konrad.w...@oracle.com] >> Sent: 18 February 2015 17:38 >> To: Roger Pau Monne >> Cc: Bob Liu; xen-devel@lists.xen.org; David Vrabel; linux- >

[Xen-devel] [PATCH 01/10] xen/blkfront: convert to blk-mq API

2015-02-15 Thread Bob Liu
This patch convert xen-blkfront driver to use the block multiqueue API and force to use only one hardware queue at this time. Signed-off-by: Arianna Avanzini Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c | 118 --- 1 file changed, 100

[Xen-devel] [PATCH 03/10] xen/blkfront: reorg info->io_lock after using blk-mq API

2015-02-15 Thread Bob Liu
Drop unnecessary holding of info->io_lock when calling into blk-mq apis. Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c | 38 -- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/

[Xen-devel] [PATCH 10/10] xen/blkfront: use work queue to fast blkif interrupt return

2015-02-15 Thread Bob Liu
de2dd600 88028f4ee330 0086 880283f75038 Call Trace: [] ? __hrtimer_start_range_ns+0x269/0x27b [] ? hrtimer_start+0x13/0x15 [] ? rcu_eqs_enter+0x66/0x79 [] ? default_idle+0x9/0xd [] ? arch_cpu_idle+0xa/0xc [] ? cpu_startup_entry+0x118/0x253 [] ? start_secondary+0x12e/0x132 Signed-off-by: Bob Li

[Xen-devel] [PATCH 09/10] xen/blkback: get hardware queue number from blkfront

2015-02-15 Thread Bob Liu
Backend advertise the max number it supported to "multi-queue-max-queues", and read the negotiate value from "multi-queue-num-queues". Signed-off-by: Bob Liu --- drivers/block/xen-blkback/blkback.c | 8 drivers/block/xen-blkback/xenbus.c | 36 +++

[Xen-devel] [RFC PATCH 00/10] Multi-queue support for xen-block driver

2015-02-15 Thread Bob Liu
% 16 68k284k+410% 32 65k196k+300% 64 63k183k+290% More results are coming, there was also big improvement on both write-IOPS and latency. Any comments or suggestions are welcome. Thank

[Xen-devel] [PATCH 05/10] xen/blkback: separate ring information out of struct xen_blkif

2015-02-15 Thread Bob Liu
This patch separate ring information from struct xen_blkif to an new struct xen_blkif_ring to make preparation for real multi hardware queues supporting. Signed-off-by: Arianna Avanzini Signed-off-by: Bob Liu --- drivers/block/xen-blkback/blkback.c | 362

[Xen-devel] [PATCH 06/10] xen/blkfront: pseudo support for multi hardware queues

2015-02-15 Thread Bob Liu
Prepare patch for multi hardware queues, the ring number was mandatory set to 1. Signed-off-by: Arianna Avanzini Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c | 408 +-- 1 file changed, 234 insertions(+), 174 deletions(-) diff --git a/drivers

[Xen-devel] [PATCH 02/10] xen/blkfront: drop legacy block layer support

2015-02-15 Thread Bob Liu
As Christoph suggested, remove the legacy support similar to most drivers coverted (virtio, mtip, and nvme). Signed-off-by: Arianna Avanzini Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c | 167 +-- 1 file changed, 32 insertions(+), 135

[Xen-devel] [PATCH 07/10] xen/blkback: pseudo support for multi hardware queues

2015-02-15 Thread Bob Liu
Prepare patch for multi hardware queues, the ring number was mandatory set to 1. Signed-off-by: Arianna Avanzini Signed-off-by: Bob Liu --- drivers/block/xen-blkback/common.h | 3 +- drivers/block/xen-blkback/xenbus.c | 368 +++-- 2 files changed, 233

[Xen-devel] [PATCH 04/10] xen/blkfront: separate ring information to an new struct

2015-02-15 Thread Bob Liu
A ring is the representation of a hardware queue, this patch separate ring information from blkfront_info to an new struct blkfront_ring_info to make preparation for real multi hardware queues supporting. Signed-off-by: Arianna Avanzini Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c

[Xen-devel] [PATCH 08/10] xen/blkfront: negotiate hardware queue number with backend

2015-02-15 Thread Bob Liu
multi-queue-num-queues". Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c | 71 1 file changed, 66 insertions(+), 5 deletions(-) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index d551be0..32caf85 100644 ---

Re: [Xen-devel] [PATCH 2/2] drivers: xen/block: add multi-page ring support

2015-02-06 Thread Bob Liu
On 02/06/2015 07:01 PM, Wei Liu wrote: > On Fri, Feb 06, 2015 at 06:47:17PM +0800, Bob Liu wrote: >> >> On 02/02/2015 06:43 PM, Roger Pau Monné wrote: >>> El 23/01/15 a les 10.14, Bob Liu ha escrit: >>>> Extend xen/block to support multi-page ring. >>>

Re: [Xen-devel] [PATCH 2/2] drivers: xen/block: add multi-page ring support

2015-02-06 Thread Bob Liu
On 02/02/2015 06:43 PM, Roger Pau Monné wrote: > El 23/01/15 a les 10.14, Bob Liu ha escrit: >> Extend xen/block to support multi-page ring. >> * xen-blkback notify blkfront with feature-multi-ring-pages >> * xen-blkfront write to xenstore about how many pages are used

Re: [Xen-devel] [PATCH 2/2] drivers: xen/block: add multi-page ring support

2015-02-06 Thread Bob Liu
s.xen.org > [mailto:xen-devel-boun...@lists.xen.org] On Behalf Of Bob Liu > Sent: 23 January 2015 10:15 > To: xen-devel@lists.xen.org > Cc: Wei Liu; linux-ker...@vger.kernel.org; Bob Liu; David Vrabel; > boris.ostrov...@oracle.com; Roger Pau Monne > Subject: [Xen-devel] [PATCH 2/2] d

[Xen-devel] [PATCH 2/2] drivers: xen/block: add multi-page ring support

2015-01-23 Thread Bob Liu
system. Signed-off-by: Bob Liu --- drivers/block/xen-blkback/xenbus.c | 86 + drivers/block/xen-blkfront.c | 94 ++-- 2 files changed, 133 insertions(+), 47 deletions(-) diff --git a/drivers/block/xen-blkback/xenbus.c b

[Xen-devel] [PATCH 1/2] xenbus_client: extend interface to suppurt multi-page ring

2015-01-23 Thread Bob Liu
off-by: Bob Liu --- drivers/block/xen-blkback/xenbus.c |5 +- drivers/block/xen-blkfront.c |5 +- drivers/char/tpm/xen-tpmfront.c|5 +- drivers/net/xen-netback/netback.c |4 +- drivers/net/xen-netfront.c |9 +- drivers/pci/xen-pcifront.c |

[Xen-devel] [RESEND PATCH] xen/blkfront: increase the default value of xen_blkif_max_segments

2015-01-20 Thread Bob Liu
The default max size(128k) is not appropriate anymore, this patch increases it to 128(128*4k=512k). Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c in

Re: [Xen-devel] [PATCH] xen/blkfront: restart request queue when there is enough persistent_gnts_c

2015-01-13 Thread Bob Liu
On 01/12/2015 07:36 PM, Roger Pau Monné wrote: > El 12/01/15 a les 8.09, Bob Liu ha escrit: >> >> On 01/09/2015 11:51 PM, Roger Pau Monné wrote: >>> El 06/01/15 a les 14.19, Bob Liu ha escrit: >>>> When there is no enough free grants, gnttab_alloc_grant_r

Re: [Xen-devel] [PATCH] xen/blkfront: restart request queue when there is enough persistent_gnts_c

2015-01-13 Thread Bob Liu
On 01/12/2015 07:36 PM, Roger Pau Monné wrote: > El 12/01/15 a les 8.09, Bob Liu ha escrit: >> >> On 01/09/2015 11:51 PM, Roger Pau Monné wrote: >>> El 06/01/15 a les 14.19, Bob Liu ha escrit: >>>> When there is no enough free grants, gnttab_alloc_grant_r

Re: [Xen-devel] [PATCH] xen/blkfront: restart request queue when there is enough persistent_gnts_c

2015-01-11 Thread Bob Liu
On 01/09/2015 11:51 PM, Roger Pau Monné wrote: > El 06/01/15 a les 14.19, Bob Liu ha escrit: >> When there is no enough free grants, gnttab_alloc_grant_references() >> will fail and block request queue will stop. >> If the system is always lack of grants, blkif_restart_q

Re: [Xen-devel] [PATCH] xen/blkfront: restart request queue when there is enough persistent_gnts_c

2015-01-11 Thread Bob Liu
On 01/09/2015 11:51 PM, Roger Pau Monné wrote: > El 06/01/15 a les 14.19, Bob Liu ha escrit: >> When there is no enough free grants, gnttab_alloc_grant_references() >> will fail and block request queue will stop. >> If the system is always lack of grants, blkif_restart_q

[Xen-devel] [PATCH] xen/blkfront: restart request queue when there is enough persistent_gnts_c

2015-01-06 Thread Bob Liu
r requests complete, some grants may free to persistent_gnts_c, we can give the request queue another chance to restart and avoid block hang. Reported-by: Junxiao Bi Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers

Re: [Xen-devel] [PATCH] xen/blkfront: increase the default value of xen_blkif_max_segments

2014-12-17 Thread Bob Liu
On 12/16/2014 06:32 PM, Roger Pau Monné wrote: > El 16/12/14 a les 11.11, Bob Liu ha escrit: >> The default maximum value of segments in indirect requests was 32, IO >> operations with bigger block size(>32*4k) would be split and performance >> start >> to drop.

[Xen-devel] [PATCH] xen/blkfront: increase the default value of xen_blkif_max_segments

2014-12-16 Thread Bob Liu
The default size 128k was not very appropriate, this patch increases the default maximum value to 128(128*4k=512k). Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/

Re: [Xen-devel] A good way to speed up the xl destroy time(guest page scrubbing)

2014-12-08 Thread Bob Liu
On 12/08/2014 04:34 PM, Jan Beulich wrote: On 07.12.14 at 14:43, wrote: > >> On 12/05/2014 08:24 PM, Jan Beulich wrote: >> On 05.12.14 at 11:00, wrote: 5. Potential workaround 5.1 Use per-cpu list in idle_loop() Delist a batch of pages from heap_list to a per-cpu list, t

Re: [Xen-devel] A good way to speed up the xl destroy time(guest page scrubbing)

2014-12-07 Thread Bob Liu
On 12/05/2014 08:24 PM, Jan Beulich wrote: On 05.12.14 at 11:00, wrote: >> 5. Potential workaround >> 5.1 Use per-cpu list in idle_loop() >> Delist a batch of pages from heap_list to a per-cpu list, then scrub the >> per-cpu list and free back to heap_list. >> >> But Jan disagree with this s

[Xen-devel] A good way to speed up the xl destroy time(guest page scrubbing)

2014-12-05 Thread Bob Liu
Hey folks, In recent months I've been working on speed up the 'xl des' time of XEN guest with large RAM, but there is still no good solution yet. I'm looking forward to get more suggestions and appreciate for all of your input. (1) The problem When 'xl destory' a guest with large memory, we have

<    1   2   3