[PATCH V5 1/5] virtio-scsi: redo allocation of target data

2013-03-19 Thread Wanlong Gao
-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 40 +++- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index b53ba9e..3256c51 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi

[PATCH V5 4/5] virtio-scsi: introduce multiqueue support

2013-03-19 Thread Wanlong Gao
-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 269 - 1 file changed, 241 insertions(+), 28 deletions(-) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 94a64ad..1d9

[PATCH V5 3/5] virtio-scsi: push vq lock/unlock into virtscsi_vq_done

2013-03-19 Thread Wanlong Gao
From: Paolo Bonzini Avoid duplicated code in all of the callers. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 22 +- 1 file changed, 9 insertions(+), 13 deletions(-) diff

[PATCH V5 5/5] virtio-scsi: reset virtqueue affinity when doing cpu hotplug

2013-03-19 Thread Wanlong Gao
Add hot cpu notifier to reset the request virtqueue affinity when doing cpu hotplug. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 29 + 1 file changed, 29 insertions

[PATCH V5 2/5] virtio-scsi: pass struct virtio_scsi to virtqueue completion function

2013-03-19 Thread Wanlong Gao
From: Paolo Bonzini This will be needed soon in order to retrieve the per-target struct. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 17 + 1 file changed, 9 insertions(+), 8

[PATCH V5 0/5] virtio-scsi multiqueue

2013-03-19 Thread Wanlong Gao
io-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (1): virtio-scsi: reset virtqueue affinity when doing cpu hotplug drivers/scsi/virtio_scsi.c | 359 - 1 file changed, 290 insertions(+), 69 d

[PATCH V6 0/5] virtio-scsi multiqueue

2013-03-20 Thread Wanlong Gao
an we get your Acked-by? Paolo Bonzini (3): virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (2): virtio-scsi: redo allocation of target data virtio-scsi: rese

[PATCH V6 1/5] virtio-scsi: redo allocation of target data

2013-03-20 Thread Wanlong Gao
y. Cc: James Bottomley Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 71 -- 1 file changed, 25 insertions(+), 46 deletions(-) diff --git a/drivers/scsi/virtio_scsi.c b/driver

[PATCH V6 3/5] virtio-scsi: push vq lock/unlock into virtscsi_vq_done

2013-03-20 Thread Wanlong Gao
From: Paolo Bonzini Avoid duplicated code in all of the callers. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 22 +- 1 file changed, 9 insertions(+), 13 deletions(-) diff

[PATCH V6 5/5] virtio-scsi: reset virtqueue affinity when doing cpu hotplug

2013-03-20 Thread Wanlong Gao
Add hot cpu notifier to reset the request virtqueue affinity when doing cpu hotplug. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 29 + 1 file changed, 29 insertions

[PATCH V6 4/5] virtio-scsi: introduce multiqueue support

2013-03-20 Thread Wanlong Gao
-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 282 - 1 file changed, 254 insertions(+), 28 deletions(-) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index dc2daec..13d

[PATCH V6 2/5] virtio-scsi: pass struct virtio_scsi to virtqueue completion function

2013-03-20 Thread Wanlong Gao
From: Paolo Bonzini This will be needed soon in order to retrieve the per-target struct. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 17 + 1 file changed, 9 insertions(+), 8

Re: [PATCH V5 4/5] virtio-scsi: introduce multiqueue support

2013-03-20 Thread Wanlong Gao
+ /* Does the affinity hint is set for virtqueues? */ > Could you rephrase that, please? Thank you, fixed in V6, please review. > > Tested on qemu and w/ Google Compute Engine's virtio-scsi device. Cool. > > Reviewed-and-tested-by: Venkatesh Srinivas Do you mind revi

Re: [PATCH V6 5/5] virtio-scsi: reset virtqueue affinity when doing cpu hotplug

2013-03-20 Thread Wanlong Gao
On 03/20/2013 03:24 PM, Asias He wrote: > On Wed, Mar 20, 2013 at 03:01:24PM +0800, Wanlong Gao wrote: >> Add hot cpu notifier to reset the request virtqueue affinity >> when doing cpu hotplug. >> >> Cc: linux-s...@vger.kernel.org >> Signed-off-by: Paolo Bonzi

Re: [PATCH V6 5/5] virtio-scsi: reset virtqueue affinity when doing cpu hotplug

2013-03-20 Thread Wanlong Gao
On 03/20/2013 03:24 PM, Asias He wrote: > On Wed, Mar 20, 2013 at 03:01:24PM +0800, Wanlong Gao wrote: >> Add hot cpu notifier to reset the request virtqueue affinity >> when doing cpu hotplug. >> >> Cc: linux-s...@vger.kernel.org >> Signed-off-by: Paolo Bonzi

Re: [PATCH V7 0/5] virtio-scsi multiqueue

2013-04-05 Thread Wanlong Gao
On 03/28/2013 10:22 AM, Wanlong Gao wrote: > On 03/23/2013 07:28 PM, Wanlong Gao wrote: >> This series implements virtio-scsi queue steering, which gives >> performance improvements of up to 50% (measured both with QEMU and >> tcm_vhost backends). >> >> This versi

Re: [PATCH V7 0/3] handle polling errors in vhost/vhost_net

2013-01-28 Thread Wanlong Gao
aitqueue after the polling > failure. Fix this by: > > - examing the POLLERR when setting backend and report erros to userspace > - let tun always add to waitqueue in .poll() after the queue is created even > if > it was detached. Fixed my kernel oops here, thank you. Tested-

Re: [PATCH V6 2/3] virtio-net: split out clean affinity function

2013-01-24 Thread Wanlong Gao
On 01/25/2013 11:28 AM, Jason Wang wrote: > On 01/21/2013 07:25 PM, Wanlong Gao wrote: >> Split out the clean affinity function to virtnet_clean_affinity(). >> >> Cc: Rusty Russell >> Cc: "Michael S. Tsirkin" >> Cc: Jason Wang >> Cc

Re: [PATCH V6 2/3] virtio-net: split out clean affinity function

2013-01-24 Thread Wanlong Gao
On 01/25/2013 01:13 PM, Jason Wang wrote: > On 01/25/2013 12:20 PM, Wanlong Gao wrote: >> On 01/25/2013 11:28 AM, Jason Wang wrote: >>> On 01/21/2013 07:25 PM, Wanlong Gao wrote: >>>> Split out the clean affinity function to virtnet_clean_affinity(). >>>>

Re: [PATCH 1/1] Drivers: scsi: storvsc: Initialize the sglist

2013-01-24 Thread Wanlong Gao
On 01/25/2013 09:04 AM, K. Y. Srinivasan wrote: > Properly initialize scatterlist before using it. > > Signed-off-by: K. Y. Srinivasan > Cc: Stable Reviewed-by: Wanlong Gao > --- > drivers/scsi/storvsc_drv.c |1 + > 1 files changed, 1 insertions(+), 0 deletions

Re: [PATCH V6 2/3] virtio-net: split out clean affinity function

2013-01-24 Thread Wanlong Gao
On 01/25/2013 02:12 PM, Jason Wang wrote: > On 01/25/2013 01:40 PM, Wanlong Gao wrote: >> On 01/25/2013 01:13 PM, Jason Wang wrote: >>> On 01/25/2013 12:20 PM, Wanlong Gao wrote: >>>> On 01/25/2013 11:28 AM, Jason Wang wrote: >>>>> On 01/21/2013 07:2

Re: [PATCH V6 2/3] virtio-net: split out clean affinity function

2013-01-24 Thread Wanlong Gao
On 01/25/2013 03:04 PM, Jason Wang wrote: > On 01/25/2013 02:42 PM, Wanlong Gao wrote: >> On 01/25/2013 02:12 PM, Jason Wang wrote: >>> On 01/25/2013 01:40 PM, Wanlong Gao wrote: >>>> On 01/25/2013 01:13 PM, Jason Wang wrote: >>>>> On 01/25/2013 12:20 P

[PATCH V7 1/3] virtio-net: fix the set affinity bug when CPU IDs are not consecutive

2013-01-25 Thread Wanlong Gao
Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Eric Dumazet Cc: "David S. Miller" Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao Acked-by: Michael S. Tsirkin --- V6->V7: serialize virtnet_set_queues to avoid

[PATCH V7 3/3] virtio-net: reset virtqueue affinity when doing cpu hotplug

2013-01-25 Thread Wanlong Gao
umazet Cc: "David S. Miller" Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao Acked-by: Michael S. Tsirkin --- V6->V7: no change V5->V6: deal with CPU_DOWN_PREPARE separately by just cleaning affinity V4->V5: Ne

[PATCH V7 2/3] virtio-net: split out clean affinity function

2013-01-25 Thread Wanlong Gao
Split out the clean affinity function to virtnet_clean_affinity(). Cc: Rusty Russell Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Eric Dumazet Cc: "David S. Miller" Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao

Re: [PATCH V7 1/3] virtio-net: fix the set affinity bug when CPU IDs are not consecutive

2013-01-25 Thread Wanlong Gao
On 01/25/2013 05:00 PM, Jason Wang wrote: > On 01/25/2013 04:36 PM, Wanlong Gao wrote: >> As Michael mentioned, set affinity and select queue will not work very >> well when CPU IDs are not consecutive, this can happen with hot unplug. >> Fix this bug by traversal the online C

Re: [PATCH V7 1/3] virtio-net: fix the set affinity bug when CPU IDs are not consecutive

2013-01-25 Thread Wanlong Gao
t_set = false; >>>> + } >>>> } >>> Sorry, looks like the issue of v6 still exists, we need set per-cpu >>> index unconditionally here (and also in 2/3), the cpus != queues check >>> may bypass this setting. >> This fixed in 2/3, when cpus !=

[PATCH V8 2/3] virtio-net: split out clean affinity function

2013-01-25 Thread Wanlong Gao
Split out the clean affinity function to virtnet_clean_affinity(). Cc: Rusty Russell Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Eric Dumazet Cc: "David S. Miller" Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao

[PATCH V8 1/3] virtio-net: fix the set affinity bug when CPU IDs are not consecutive

2013-01-25 Thread Wanlong Gao
Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Eric Dumazet Cc: "David S. Miller" Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao Acked-by: Michael S. Tsirkin --- V7->V8: set vq index uncondition

[PATCH V8 3/3] virtio-net: reset virtqueue affinity when doing cpu hotplug

2013-01-25 Thread Wanlong Gao
umazet Cc: "David S. Miller" Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao Acked-by: Michael S. Tsirkin --- V5->V6: deal with CPU_DOWN_PREPARE separately by just cleaning affinity V4->V5: New method to deal wi

Re: [PATCH 02/16] virtio_ring: virtqueue_add_sgs, to add multiple sgs.

2013-02-19 Thread Wanlong Gao
On 02/19/2013 03:56 PM, Rusty Russell wrote: > virtio_scsi can really use this, to avoid the current hack of copying > the whole sg array. Some other things get slightly neater, too. > > Signed-off-by: Rusty Russell I like this simple implementation. Reviewed-by:

[PATCH 17/16] virtio-scsi: use virtqueue_add_sgs for command buffers

2013-02-20 Thread Wanlong Gao
Using the new virtqueue_add_sgs function lets us simplify the queueing path. In particular, all data protected by the tgt_lock is just gone (multiqueue will find a new use for the lock). Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 93

Re: [PATCH 17/16] virtio-scsi: use virtqueue_add_sgs for command buffers

2013-02-20 Thread Wanlong Gao
On 02/20/2013 05:38 PM, Asias He wrote: > On 02/20/2013 04:37 PM, Wanlong Gao wrote: >> Using the new virtqueue_add_sgs function lets us simplify the queueing >> path. In particular, all data protected by the tgt_lock is just gone >> (multiqueue will find a new use for the lo

[PATCH 17/16 V2] virtio-scsi: use virtqueue_add_sgs for command buffers

2013-02-20 Thread Wanlong Gao
Using the new virtqueue_add_sgs function lets us simplify the queueing path. In particular, all data protected by the tgt_lock is just gone (multiqueue will find a new use for the lock). Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao --- V1->V2: add the lost comments (As

Re: [PATCH 07/16] virtio_ring: don't count elements twice for add_buf path.

2013-02-20 Thread Wanlong Gao
On 02/19/2013 03:56 PM, Rusty Russell wrote: > Extract the post-counting code into virtqueue_add(), make both callers > use it. > > Signed-off-by: Rusty Russell Reviewed-by: Wanlong Gao > --- > drivers/virtio/virtio_ring.c | 147 > +++

Re: [PATCH 08/16] virtio_ring: virtqueue_add_outbuf / virtqueue_add_inbuf.

2013-02-20 Thread Wanlong Gao
> FIXME: I'm not sure about the unclean sglist bit. I had a more > ambitious one which conditionally ignored end markers in the iterator, > but it was ugly and I suspect this is just as fast. Maybe we should > just fix all the drivers? > > Signed-off-by: Rusty Russell

Re: [PATCH 09/16] virtio_net: use simplified virtqueue accessors.

2013-02-20 Thread Wanlong Gao
On 02/19/2013 03:56 PM, Rusty Russell wrote: > We never add buffers with input and output parts, so use the new accessors. > > Signed-off-by: Rusty Russell Reviewed-by: Wanlong Gao > --- > drivers/net/virtio_net.c | 11 +-- > 1 file changed, 5 insertio

Re: [PATCH 11/16] virtio_rng: use simplified virtqueue accessors.

2013-02-20 Thread Wanlong Gao
On 02/19/2013 03:56 PM, Rusty Russell wrote: > We never add buffers with input and output parts, so use the new accessors. > > Signed-off-by: Rusty Russell Reviewed-by: Wanlong Gao > --- > drivers/char/hw_random/virtio-rng.c |2 +- > 1 file changed, 1 insert

Re: [PATCH 14/16] virtio_rpmsg_bus: use simplified virtqueue accessors.

2013-02-20 Thread Wanlong Gao
On 02/19/2013 03:56 PM, Rusty Russell wrote: > We never add buffers with input and output parts, so use the new accessors. > > Signed-off-by: Rusty Russell Reviewed-by: Wanlong Gao > --- > drivers/rpmsg/virtio_rpmsg_bus.c |8 > 1 file changed, 4 insertio

Re: [PATCH 15/16] virtio_balloon: use simplified virtqueue accessors.

2013-02-20 Thread Wanlong Gao
On 02/19/2013 03:56 PM, Rusty Russell wrote: > We never add buffers with input and output parts, so use the new accessors. > > Signed-off-by: Rusty Russell Reviewed-by: Wanlong Gao > --- > drivers/virtio/virtio_balloon.c |6 +++--- > 1 file changed, 3 insertio

Re: [PATCH 13/16] caif_virtio: use simplified virtqueue accessors.

2013-02-20 Thread Wanlong Gao
On 02/19/2013 03:56 PM, Rusty Russell wrote: > We never add buffers with input and output parts, so use the new accessors. > > Signed-off-by: Rusty Russell Reviewed-by: Wanlong Gao > --- > drivers/net/caif/caif_virtio.c |3 +-- > 1 file changed, 1 insertion(+), 2 dele

Re: [PATCH 12/16] virtio_console: use simplified virtqueue accessors.

2013-02-20 Thread Wanlong Gao
On 02/19/2013 03:56 PM, Rusty Russell wrote: > We never add buffers with input and output parts, so use the new accessors. > > Signed-off-by: Rusty Russell Reviewed-by: Wanlong Gao > --- > drivers/char/virtio_console.c |6 +++--- > 1 file changed, 3 insertio

Re: [PATCH 10/16] virtio_net: use virtqueue_add_sgs[] for command buffers.

2013-02-20 Thread Wanlong Gao
return status */ > + BUG_ON(!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)); > > - ctrl.class = class; > - ctrl.cmd = cmd; The class and cmd assignment of ctrl header is forgotten? Thanks, Wanlong Gao > + /* Add header */ > + sg_init_one(&

Re: [PATCH 10/16] virtio_net: use virtqueue_add_sgs[] for command buffers.

2013-02-21 Thread Wanlong Gao
net eth0: Failed to disable allmulti mode. [7.549744] net eth0: Failed to set MAC fitler table. [7.550705] net eth0: Failed to disable promisc mode. [7.551603] net eth0: Failed to disable allmulti mode. [7.552504] net eth0: Failed to set MAC fitler table. [7.553423] net eth0: Fa

Re: [PATCH 10/16] virtio_net: use virtqueue_add_sgs[] for command buffers.

2013-02-21 Thread Wanlong Gao
On 02/21/2013 05:41 PM, Jason Wang wrote: > On 02/21/2013 04:30 PM, Wanlong Gao wrote: >> On 02/19/2013 03:56 PM, Rusty Russell wrote: >>> It's a bit cleaner to hand multiple sgs, rather than one big one. >>> >>> Signed-off-by: Rusty Russell >

[PATCH] mm: fix mmap overflow checking

2012-09-04 Thread Wanlong Gao
ot;); close(fd); munmap(pa, len); return 1; Cc: Andrew Morton Cc: KOSAKI Motohiro Cc: linux...@kvack.org (open list:MEMORY MANAGEMENT) Signed-off-by: Wanlong Gao --- mm/mmap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/mmap.c b/mm/mma

Re: [PATCH 4/5] video:omap3isp:fix up ENOIOCTLCMD error handling

2012-09-13 Thread Wanlong Gao
On 09/13/2012 12:03 PM, Laurent Pinchart wrote: > Hi Wanlong, > > Thanks for the patch. > > On Monday 27 August 2012 15:23:15 Wanlong Gao wrote: >> At commit 07d106d0, Linus pointed out that ENOIOCTLCMD should be >> translated as ENOTTY to user mode. >> >

Re: [PATCH 1/3] zsmalloc: promote to lib/

2012-09-26 Thread Wanlong Gao
loc/Kconfig > create mode 100644 lib/zsmalloc/Makefile > create mode 100644 lib/zsmalloc/zsmalloc.c Since there's just one file here, why not just move to lib flatly without creating a new directory? Thanks, Wanlong Gao -- To unsubscribe from this list: send the line "unsubscribe

Re: [PATCH] mm: fix mmap overflow checking

2012-09-07 Thread Wanlong Gao
t; >>> Please don't think do_mmap_pgoff() is for mmap(2) specific and read a >>> past thread before resend >>> a patch. >> >> So, what's your opinion about this bug? How to fix it in your mind? > > Fix glibc instead of kernel. > OK,

Re: [PATCH 1/1] regulator: new driver for LP8755

2012-12-02 Thread Wanlong Gao
i2c_client *client) Ditto. > +{ > + int icnt; > + struct lp8755_chip *pchip = i2c_get_clientdata(client); > + > + for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) <..> > +static struct i2c_driver lp8755_i2c_driver = { > + .driver = { >

[PATCH 5/5] virtio-scsi: tidy up the goto label in init()

2012-11-07 Thread Wanlong Gao
Tidy up the goto label in init(), and remove the useless NULL pointer assignment. Cc: James E.J. Bottomley Cc: Paolo Bonzini Cc: Rusty Russell Cc: linux-s...@vger.kernel.org Cc: k...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 28

[PATCH 4/5] virtio-scsi: create a separate work queue for virtio-scsi

2012-11-07 Thread Wanlong Gao
Create a separate work queue for virtio-scsi to improve the performance. Cc: James E.J. Bottomley Cc: Paolo Bonzini Cc: Rusty Russell Cc: linux-s...@vger.kernel.org Cc: k...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 15 ++- 1 file changed, 14

[PATCH 3/5] virtio-scsi: use pr_err instead of printk

2012-11-07 Thread Wanlong Gao
Use pr_err() instead of printk() for code cleanups. Cc: James E.J. Bottomley Cc: Paolo Bonzini Cc: Rusty Russell Cc: linux-s...@vger.kernel.org Cc: k...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff

[PATCH 1/5] virtio-scsi: remove the useless assignment

2012-11-07 Thread Wanlong Gao
Reassign err is not needed, just a cleanup. Cc: James E.J. Bottomley Cc: Paolo Bonzini Cc: Rusty Russell Cc: linux-s...@vger.kernel.org Cc: k...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/scsi

[PATCH 2/5] virtio-scsi: remove the needless variable gfp_mask

2012-11-07 Thread Wanlong Gao
Just use the macro instead of define a variable. Cc: James E.J. Bottomley Cc: Paolo Bonzini Cc: Rusty Russell Cc: linux-s...@vger.kernel.org Cc: k...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git

[PATCH 0/5] virtio-scsi: create a separate workqueue

2012-11-07 Thread Wanlong Gao
=4820/3169, in_queue=7991, util=90.62% sdb: ios=6364/5358, merge=39/53, ticks=3810/2816, in_queue=6615, util=84.63% sdc: ios=6458/5352, merge=74/47, ticks=4425/3048, in_queue=7459, util=88.41% Wanlong Gao (5): virtio-scsi: remove the useless assignment virtio-scsi: remove the needless

Re: [PATCH 0/5] virtio-scsi: create a separate workqueue

2012-11-07 Thread Wanlong Gao
On 11/07/2012 08:23 PM, Asias He wrote: > On Wed, Nov 7, 2012 at 6:18 PM, Wanlong Gao wrote: >> patch 1-3,5 are some cleanups. >> patch 4: create a separate work queue for virtio-scsi >> to improve the performance, I tested with tmpfs backed >> disk, the config fil

Re: [PATCH 0/5] virtio-scsi: create a separate workqueue

2012-11-07 Thread Wanlong Gao
d the improvement, because the code you > touched (complete_event) shouldn't ever run during a normal benchmark. > It's only used for hotplug/hot-unplug. > > Nevertheless, I'll queue the cleanup patches. Thanks for those. Oops, got it, I will investigate more. Thank you

Re: [PATCH] virtio-scsi: Fix incorrect lock release order in virtscsi_kick_cmd

2012-11-08 Thread Wanlong Gao
2 +0200 > > [SCSI] virtio-scsi: split scatterlist per target > > Go ahead and make sure that vq->vq_lock is relinquished w/ spin_unlock > first, then release tgt->tgt_lock w/ spin_unlock_irqrestore. Did you hit any error? I don't think this order is wrong. Thanks, Wanlong

[RFC PATCH] virtio-net: reset virtqueue affinity when doing cpu hotplug

2012-12-25 Thread Wanlong Gao
irtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/net/virtio_net.c | 39 ++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index a6fcf15..9710

Re: [RFC PATCH] virtio-net: reset virtqueue affinity when doing cpu hotplug

2012-12-26 Thread Wanlong Gao
On 12/26/2012 06:06 PM, Jason Wang wrote: > On 12/26/2012 03:06 PM, Wanlong Gao wrote: >> Add a cpu notifier to virtio-net, so that we can reset the >> virtqueue affinity if the cpu hotplug happens. It improve >> the performance through enabling or disabling the virtqueue &g

Re: [RFC PATCH] virtio-net: reset virtqueue affinity when doing cpu hotplug

2012-12-26 Thread Wanlong Gao
On 12/27/2012 11:28 AM, Jason Wang wrote: > On 12/26/2012 06:19 PM, Wanlong Gao wrote: >> On 12/26/2012 06:06 PM, Jason Wang wrote: >>> On 12/26/2012 03:06 PM, Wanlong Gao wrote: >>>> Add a cpu notifier to virtio-net, so that we can reset the >>>> virtque

Re: [PATCH 2/2] vhost: handle polling failure

2012-12-27 Thread Wanlong Gao
On 12/27/2012 02:39 PM, Jason Wang wrote: > Currently, polling error were ignored in vhost. This may lead some issues (e.g > kenrel crash when passing a tap fd to vhost before calling TUNSETIFF). Fix > this > by: Can this kernel crash be reproduced by hand? Thanks, Wanlong Gao &

Re: [PATCH v2 1/5] virtio: add functions for piecewise addition of buffers

2013-01-03 Thread Wanlong Gao
io=34625MB, aggrb=247902KB/s, minb=247902KB/s, maxb=247902KB/s, mint=143025msec, maxt=143025msec Chained: Run status group 0 (all jobs): READ: io=34863MB, aggrb=242320KB/s, minb=242320KB/s, maxb=242320KB/s, mint=147325msec, maxt=147325msec WRITE: io=34437MB, aggrb=

Re: [PATCH v2 0/5] Multiqueue virtio-scsi, and API for piecewise buffer submission

2012-12-23 Thread Wanlong Gao
n here. > Without this data it is possible that your host > is undersubscribed and you are drinking up more host CPU. > > Another thing to note is that ATM you might need to > test with idle=poll on host otherwise we have strange interaction > with power management where reducing

Re: [PATCH v2 5/5] virtio-scsi: introduce multiqueue support

2012-12-25 Thread Wanlong Gao
if (err) >>>>>> return err; >>>>>> >>>>>> -virtscsi_init_vq(&vscsi->ctrl_vq, vqs[0]); >>>>>> -virtscsi_init_vq(&vscsi->event_vq, vqs[1]); >>>>>>

Re: [BUG REPORT] Kernel panic on 3.9.0-rc7-4-gbb33db7

2013-04-18 Thread Wanlong Gao
On 04/18/2013 09:35 PM, Jens Axboe wrote: > On Thu, Apr 18 2013, Wanlong Gao wrote: >>> A bio is always fully initialized, regardless of which internal >>> allocator it came from. If people are doing private kmallocs, then they >>> better be using bio_init() as well

Re: [BUG REPORT] Kernel panic on 3.9.0-rc7-4-gbb33db7

2013-04-18 Thread Wanlong Gao
On 04/18/2013 10:30 PM, Jens Axboe wrote: > On Thu, Apr 18 2013, Wanlong Gao wrote: >> On 04/18/2013 09:35 PM, Jens Axboe wrote: >>> On Thu, Apr 18 2013, Wanlong Gao wrote: >>>>> A bio is always fully initialized, regardless of which internal >>>>

Re: [BUG REPORT] Kernel panic on 3.9.0-rc7-4-gbb33db7

2013-04-18 Thread Wanlong Gao
On 04/18/2013 10:30 PM, Jens Axboe wrote: > On Thu, Apr 18 2013, Wanlong Gao wrote: >> On 04/18/2013 09:35 PM, Jens Axboe wrote: >>> On Thu, Apr 18 2013, Wanlong Gao wrote: >>>>> A bio is always fully initialized, regardless of which internal >>>>

Re: [BUG REPORT] Kernel panic on 3.9.0-rc7-4-gbb33db7

2013-04-18 Thread Wanlong Gao
ay without the new TP. Thank you for investigating this. And sorry for my incompleted panic picture before that let you detour. :-( Regards, Wanlong Gao > > Thanks. > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message

[PATCH V7 0/5] virtio-scsi multiqueue

2013-03-23 Thread Wanlong Gao
ecause of the prerequisites. James, can we get your Acked-by? Paolo Bonzini (3): virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (2): virtio-scsi: redo all

[PATCH V7 3/5] virtio-scsi: push vq lock/unlock into virtscsi_vq_done

2013-03-23 Thread Wanlong Gao
From: Paolo Bonzini Avoid duplicated code in all of the callers. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 22 +- 1 file changed, 9 insertions(+), 13 deletions(-) diff

[PATCH V7 2/5] virtio-scsi: pass struct virtio_scsi to virtqueue completion function

2013-03-23 Thread Wanlong Gao
From: Paolo Bonzini This will be needed soon in order to retrieve the per-target struct. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 17 + 1 file changed, 9 insertions(+), 8

[PATCH V7 4/5] virtio-scsi: introduce multiqueue support

2013-03-23 Thread Wanlong Gao
-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He Tested-by: Venkatesh Srinivas --- drivers/scsi/virtio_scsi.c | 282 - 1 file changed, 254 insertions(+), 28 deletions(-) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio

[PATCH V7 1/5] virtio-scsi: redo allocation of target data

2013-03-23 Thread Wanlong Gao
y. Cc: James Bottomley Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 71 -- 1 file changed, 25 insertions(+), 46 deletions(-) diff --git a/driver

Re: [PATCH V6 5/5] virtio-scsi: reset virtqueue affinity when doing cpu hotplug

2013-03-23 Thread Wanlong Gao
On 03/23/2013 02:36 PM, Paolo Bonzini wrote: > Il 20/03/2013 08:56, Wanlong Gao ha scritto: >>> This one does not apply on top of virtio-next + patch 1-4 in this series. >> >> I'm very sorry. >> >> This fault is because I modified the 4/5 from >>

[PATCH V7 5/5] virtio-scsi: reset virtqueue affinity when doing cpu hotplug

2013-03-23 Thread Wanlong Gao
Add hot cpu notifier to reset the request virtqueue affinity when doing cpu hotplug. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao Reviewed-by: Asias He --- drivers/scsi/virtio_scsi.c | 29 + 1 file changed, 29 insertions

Re: [PATCH V7 0/5] virtio-scsi multiqueue

2013-04-06 Thread Wanlong Gao
On 04/06/2013 04:40 PM, James Bottomley wrote: > On Fri, 2013-04-05 at 16:55 +0800, Wanlong Gao wrote: >> On 03/28/2013 10:22 AM, Wanlong Gao wrote: >>> On 03/23/2013 07:28 PM, Wanlong Gao wrote: >>>> This series implements virtio-scsi queue steering, which gives &g

Re: [PATCH V7 0/5] virtio-scsi multiqueue

2013-03-27 Thread Wanlong Gao
On 03/23/2013 07:28 PM, Wanlong Gao wrote: > This series implements virtio-scsi queue steering, which gives > performance improvements of up to 50% (measured both with QEMU and > tcm_vhost backends). > > This version rebased on Rusty's virtio ring rework patches, which >

[PATCH V4 5/5] virtio-scsi: reset virtqueue affinity when doing cpu hotplug

2013-03-10 Thread Wanlong Gao
Add hot cpu notifier to reset the request virtqueue affinity when doing cpu hotplug. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 29 + 1 file changed, 29 insertions(+) diff --git a/drivers

[PATCH V4 3/5] virtio-scsi: push vq lock/unlock into virtscsi_vq_done

2013-03-10 Thread Wanlong Gao
From: Paolo Bonzini Avoid duplicated code in all of the callers. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 22 +- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/scsi

[PATCH V4 4/5] virtio-scsi: introduce multiqueue support

2013-03-10 Thread Wanlong Gao
-by: Paolo Bonzini Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 269 - 1 file changed, 241 insertions(+), 28 deletions(-) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 3573704..7a54293 100644 --- a/drivers/sc

[PATCH V4 1/5] virtio-scsi: redo allocation of target data

2013-03-10 Thread Wanlong Gao
structs in the flexible array member at the end of struct virtio_scsi, because we will place the virtqueues there in the next patches. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 45

[PATCH V4 2/5] virtio-scsi: pass struct virtio_scsi to virtqueue completion function

2013-03-10 Thread Wanlong Gao
From: Paolo Bonzini This will be needed soon in order to retrieve the per-target struct. Cc: linux-s...@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 17 + 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a

[PATCH V4 0/5] virtio-scsi multiqueue

2013-03-10 Thread Wanlong Gao
d-by? Paolo Bonzini (4): virtio-scsi: redo allocation of target data virtio-scsi: pass struct virtio_scsi to virtqueue completion function virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: introduce multiqueue support Wanlong Gao (1): virtio-scsi: reset virtqueue affinity

[PATCH 0/5] drivers: fix up ENOIOCTLCMD error handling

2012-08-27 Thread Wanlong Gao
nus Torvalds Linus pointed out that ENOIOCTLCMD should be translated as ENOTTY to user mode, and we should fix up the broken drivers then. Wanlong Gao (5): drivers:tty:fix up ENOIOCTLCMD error handling net:atm:fix up ENOIOCTLCMD error handling media:dvb:fix up ENOIOCTLCMD error handling v

[PATCH 2/5] net:atm:fix up ENOIOCTLCMD error handling

2012-08-27 Thread Wanlong Gao
At commit 07d106d0, Linus pointed out that ENOIOCTLCMD should be translated as ENOTTY to user mode. Cc: "David S. Miller" Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao --- net/atm/resources.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/atm/resourc

[PATCH 5/5] s390:block:fix up ENOIOCTLCMD error handling

2012-08-27 Thread Wanlong Gao
At commit 07d106d0, Linus pointed out that ENOIOCTLCMD should be translated as ENOTTY to user mode. Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux...@de.ibm.com Cc: linux-s...@vger.kernel.org (open list:S390) Signed-off-by: Wanlong Gao --- drivers/s390/block/dasd_ioctl.c | 2 +- 1 file

[PATCH 4/5] video:omap3isp:fix up ENOIOCTLCMD error handling

2012-08-27 Thread Wanlong Gao
At commit 07d106d0, Linus pointed out that ENOIOCTLCMD should be translated as ENOTTY to user mode. Cc: Laurent Pinchart Cc: Mauro Carvalho Chehab Cc: linux-me...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/media/video/omap3isp/ispvideo.c | 10 +- 1 file changed, 5

[PATCH 3/5] media:dvb:fix up ENOIOCTLCMD error handling

2012-08-27 Thread Wanlong Gao
At commit 07d106d0, Linus pointed out that ENOIOCTLCMD should be translated as ENOTTY to user mode. Cc: Mauro Carvalho Chehab Cc: linux-me...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/media/dvb/dvb-core/dvbdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a

[PATCH 1/5] drivers:tty:fix up ENOIOCTLCMD error handling

2012-08-27 Thread Wanlong Gao
At commit 07d106d0, Linus pointed out that ENOIOCTLCMD should be translated as ENOTTY to user mode. For example: fd = open("/dev/tty", O_RDWR); ioctl(fd, -1, &argp); then the errno should be ENOTTY but not EINVAL. Cc: Greg Kroah-Hartman Signed-off-by: Wanlong Gao

[PATCH V6 1/3] virtio-net: fix the set affinity bug when CPU IDs are not consecutive

2013-01-21 Thread Wanlong Gao
Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Eric Dumazet Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao --- V5->V6: remove {get|put}_online_cpus from virtnet_del_vqs (Jason) V4->V5: Add get/put_online_cpus to

[PATCH V6 2/3] virtio-net: split out clean affinity function

2013-01-21 Thread Wanlong Gao
Split out the clean affinity function to virtnet_clean_affinity(). Cc: Rusty Russell Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Eric Dumazet Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao --- V5->V6: NEW drivers/net/virt

[PATCH V6 3/3] virtio-net: reset virtqueue affinity when doing cpu hotplug

2013-01-21 Thread Wanlong Gao
umazet Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao --- V5->V6: deal with CPU_DOWN_PREPARE separately by just cleaning affinity V4->V5: New method to deal with the cpu hotplug actions (Rusty) drivers/net/v

Re: [PATCH V6 1/3] virtio-net: fix the set affinity bug when CPU IDs are not consecutive

2013-01-23 Thread Wanlong Gao
On 01/22/2013 09:12 AM, Rusty Russell wrote: > Wanlong Gao writes: > >> As Michael mentioned, set affinity and select queue will not work very >> well when CPU IDs are not consecutive, this can happen with hot unplug. >> Fix this bug by traversal the online CPUs, and c

Re: [PATCH v3 0/5] virtio-scsi multiqueue

2013-02-18 Thread Wanlong Gao
ur Acked-by? I can't apply this series on top of Rusty's virtio-next, I missed something or needed rebase them ? Thanks, Wanlong Gao > > Paolo > > Paolo Bonzini (4): > virtio-scsi: redo allocation of target data > virtio-scsi: pass struct virtio_scsi to

[PATCH V4 2/2] virtio-net: reset virtqueue affinity when doing cpu hotplug

2013-01-10 Thread Wanlong Gao
umazet Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao --- drivers/net/virtio_net.c | 30 ++ 1 file changed, 30 insertions(+) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index ca17a58..e0b1f25 10

[PATCH V4 1/2] virtio-net: fix the set affinity bug when CPU IDs are not consecutive

2013-01-10 Thread Wanlong Gao
Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Eric Dumazet Cc: virtualizat...@lists.linux-foundation.org Cc: net...@vger.kernel.org Signed-off-by: Wanlong Gao --- V3->V4: move vq_index into virtnet_info (Jason) change the mapping value when not setting af

[PATCH 1/2] virtio-scsi: split out request queue set affinity function

2013-01-15 Thread Wanlong Gao
These two patches are based on the multi-queue virtio-scsi patch set. We set cpu affinity when the num_queues equals to the number of VCPUs. Split out the set affinity function, this also fix the bug when CPU IDs are not consecutive. Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c

[PATCH 2/2] virtio-scsi: reset virtqueue affinity when doing cpu hotplug

2013-01-15 Thread Wanlong Gao
Add hot cpu notifier to reset the request virtqueue affinity when doing cpu hotplug. Signed-off-by: Wanlong Gao --- drivers/scsi/virtio_scsi.c | 30 ++ 1 file changed, 30 insertions(+) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index

  1   2   >