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

2012-12-18 Thread Rolf Eike Beer
Paolo Bonzini wrote: > Hi all, > > this series adds multiqueue support to the virtio-scsi driver, based > on Jason Wang's work on virtio-net. It uses a simple queue steering > algorithm that expects one queue per CPU. LUNs in the same target always > use the same queue (so that commands are not

[kbuild] [scsi:for-next 12/27] drivers/scsi/ipr.c:4883:17: sparse: context imbalance in '__ipr_eh_dev_reset' - different lock contexts for basic block

2012-12-18 Thread Dan Carpenter
[ The unlocks are inside the loops but they were supposed to only happen after the loop was finished ] Hi, FYI, there are new sparse warnings show up in tree: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next head: e3ff197a750d2912d0bb2a0161c23c18bad250ad commit: e7ef730

Re: [PATCH] megaraid: convert to work_struct

2012-12-18 Thread Tejun Heo
On Thu, Dec 13, 2012 at 04:53:18PM +0800, Xiaotian Feng wrote: > There's no need to use delayed work, convert to use work_struct and > cancel_work_sync(). > > Requested-by: Tejun Heo > Signed-off-by: Xiaotian Feng > Cc: Neela Syam Kolli > Cc: "James E.J. Bottomley" > Cc: linux-scsi@vger.kernel

megaraid_sas: problem with specific hardware only with kernel 3.2.5 and above

2012-12-18 Thread MichaƂ Miszewski
megaraid_sas driver fails to initialize the storage controller on some Intel platforms. The issue concerns at least the following hardware: Intel Server System R2000IP, which includes: - Intel Server Board S2600IP4 - Intel Integrated RAID Module RMS25CB080 with RES2SV240 RAID Expander Card The R

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

2012-12-18 Thread Michael S. Tsirkin
On Tue, Dec 18, 2012 at 04:51:28PM +0100, Paolo Bonzini wrote: > Il 18/12/2012 16:03, Michael S. Tsirkin ha scritto: > > On Tue, Dec 18, 2012 at 03:08:08PM +0100, Paolo Bonzini wrote: > >> Il 18/12/2012 14:57, Michael S. Tsirkin ha scritto: > -static int virtscsi_queuecommand(struct Scsi_Host

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

2012-12-18 Thread Paolo Bonzini
Il 18/12/2012 16:03, Michael S. Tsirkin ha scritto: > On Tue, Dec 18, 2012 at 03:08:08PM +0100, Paolo Bonzini wrote: >> Il 18/12/2012 14:57, Michael S. Tsirkin ha scritto: -static int virtscsi_queuecommand(struct Scsi_Host *sh, struct scsi_cmnd *sc) +static int virtscsi_queuecommand

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

2012-12-18 Thread Michael S. Tsirkin
On Tue, Dec 18, 2012 at 03:32:15PM +0100, Paolo Bonzini wrote: > Il 18/12/2012 14:59, Michael S. Tsirkin ha scritto: > >>> Can't we track state internally to the virtqueue? Exposing it > >>> seems to buy us nothing since you can't call add_buf between > >>> start and end anyway. > >> > >> I wanted

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

2012-12-18 Thread Michael S. Tsirkin
On Tue, Dec 18, 2012 at 03:08:08PM +0100, Paolo Bonzini wrote: > Il 18/12/2012 14:57, Michael S. Tsirkin ha scritto: > >> -static int virtscsi_queuecommand(struct Scsi_Host *sh, struct scsi_cmnd > >> *sc) > >> +static int virtscsi_queuecommand(struct virtio_scsi *vscsi, > >> +

Re: [PATCH] scsi: remove device when state is changed to deleted thru sysfs

2012-12-18 Thread David Milburn
Bart Van Assche wrote: On 12/18/12 00:26, David Milburn wrote: diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index ce5224c..6d72abb 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -596,7 +596,7 @@ static ssize_t store_state_field(struct device *de

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

2012-12-18 Thread Paolo Bonzini
Il 18/12/2012 14:59, Michael S. Tsirkin ha scritto: >>> Can't we track state internally to the virtqueue? Exposing it >>> seems to buy us nothing since you can't call add_buf between >>> start and end anyway. >> >> I wanted to keep the state for these functions separate from the >> rest. I don't t

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

2012-12-18 Thread Paolo Bonzini
Il 18/12/2012 14:57, Michael S. Tsirkin ha scritto: >> -static int virtscsi_queuecommand(struct Scsi_Host *sh, struct scsi_cmnd *sc) >> +static int virtscsi_queuecommand(struct virtio_scsi *vscsi, >> + struct virtio_scsi_target_state *tgt, >> +

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

2012-12-18 Thread Michael S. Tsirkin
On Tue, Dec 18, 2012 at 02:43:51PM +0100, Paolo Bonzini wrote: > Il 18/12/2012 14:36, Michael S. Tsirkin ha scritto: > > Some comments without arguing about whether the performance > > benefit is worth it. > > > > On Tue, Dec 18, 2012 at 01:32:48PM +0100, Paolo Bonzini wrote: > >> diff --git a/inc

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

2012-12-18 Thread Michael S. Tsirkin
On Tue, Dec 18, 2012 at 01:32:52PM +0100, Paolo Bonzini wrote: > This patch adds queue steering to virtio-scsi. When a target is sent > multiple requests, we always drive them to the same queue so that FIFO > processing order is kept. However, if a target was idle, we can choose > a queue arbitra

[PATCH v2] [SCSI] mpt2sas: fix for driver fails EEH, recovery from injected pci bus error

2012-12-18 Thread Tomas Henzl
This patch stops the driver to invoke kthread (which remove the dead ioc) for some time while EEH recovery has started. V2 adds a 'non_operational_loop' reset. Signed-off-by: Sreekanth Reddy Signed-off-by: Tomas Henzl --- drivers/scsi/mpt2sas/mpt2sas_base.c | 19 ++- drivers/sc

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

2012-12-18 Thread Paolo Bonzini
Il 18/12/2012 14:36, Michael S. Tsirkin ha scritto: > Some comments without arguing about whether the performance > benefit is worth it. > > On Tue, Dec 18, 2012 at 01:32:48PM +0100, Paolo Bonzini wrote: >> diff --git a/include/linux/virtio.h b/include/linux/virtio.h >> index cf8adb1..39d56c4 1006

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

2012-12-18 Thread Michael S. Tsirkin
On Tue, Dec 18, 2012 at 01:32:47PM +0100, Paolo Bonzini wrote: > Hi all, > > this series adds multiqueue support to the virtio-scsi driver, based > on Jason Wang's work on virtio-net. It uses a simple queue steering > algorithm that expects one queue per CPU. LUNs in the same target always > use

Re: [PATCH] [SCSI] mpt2sas: fix for driver fails EEH recovery from injected pci bus error

2012-12-18 Thread Tomas Henzl
On 12/18/2012 06:07 AM, Reddy, Sreekanth wrote: > Yes Thomas, we need to reset the non_operational_loop to zero after the > transient event. OK, so let me repost a V2 of the whole patch. > > Thanks, > Sreekanth. > > -Original Message- > From: Tomas Henzl [mailto:the...@redhat.com] > Se

Re: [PATCH v2 2/5] virtio-scsi: use functions for piecewise composition of buffers

2012-12-18 Thread Paolo Bonzini
Il 18/12/2012 14:37, Michael S. Tsirkin ha scritto: > On Tue, Dec 18, 2012 at 01:32:49PM +0100, Paolo Bonzini wrote: >> Using the new virtio_scsi_add_sg 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

Re: [PATCH v2 2/5] virtio-scsi: use functions for piecewise composition of buffers

2012-12-18 Thread Michael S. Tsirkin
On Tue, Dec 18, 2012 at 01:32:49PM +0100, Paolo Bonzini wrote: > Using the new virtio_scsi_add_sg 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). vq access still needs some protection: v

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

2012-12-18 Thread Michael S. Tsirkin
Some comments without arguing about whether the performance benefit is worth it. On Tue, Dec 18, 2012 at 01:32:48PM +0100, Paolo Bonzini wrote: > diff --git a/include/linux/virtio.h b/include/linux/virtio.h > index cf8adb1..39d56c4 100644 > --- a/include/linux/virtio.h > +++ b/include/linux/virtio

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

2012-12-18 Thread Paolo Bonzini
Hi all, this series adds multiqueue support to the virtio-scsi driver, based on Jason Wang's work on virtio-net. It uses a simple queue steering algorithm that expects one queue per CPU. LUNs in the same target always use the same queue (so that commands are not reordered); queue switching occur

[PATCH v2 3/5] virtio-scsi: redo allocation of target data

2012-12-18 Thread Paolo Bonzini
virtio_scsi_target_state is now empty, but we will find new uses for it in the next few patches. However, dropping the sglist lets us turn the array-of-pointers into a simple array, which simplifies the allocation. However, we do not leave the virtio_scsi_target_state structs in the flexible arra

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

2012-12-18 Thread Paolo Bonzini
This will be needed soon in order to retrieve the per-target struct. Signed-off-by: Paolo Bonzini --- drivers/scsi/virtio_scsi.c | 17 + 1 files changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 4a3abaf..4f6c6a3

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

2012-12-18 Thread Paolo Bonzini
The virtqueue_add_buf function has two limitations: 1) it requires the caller to provide all the buffers in a single call; 2) it does not support chained scatterlists: the buffers must be provided as an array of struct scatterlist; Because of these limitations, virtio-scsi has to copy each reque

[PATCH v2 2/5] virtio-scsi: use functions for piecewise composition of buffers

2012-12-18 Thread Paolo Bonzini
Using the new virtio_scsi_add_sg 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). The speedup is relatively small (2-4%) but it is worthwhile because of the code simplification---both in this

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

2012-12-18 Thread Paolo Bonzini
This patch adds queue steering to virtio-scsi. When a target is sent multiple requests, we always drive them to the same queue so that FIFO processing order is kept. However, if a target was idle, we can choose a queue arbitrarily. In this case the queue is chosen according to the current VCPU,

Re: [GIT PULL] exofs: 3 changes to exofs & osd

2012-12-18 Thread Boaz Harrosh
On 12/18/2012 01:28 PM, James Bottomley wrote: <> >> Both these patches where in linux-next for a long time. So I believe >> the merge will go just fine. Lets leave it like this, or I can rebase >> and remove it? > > If it merges OK, I'd just leave it as is. It wouldn't be anywhere close > to the

Re: [GIT PULL] exofs: 3 changes to exofs & osd

2012-12-18 Thread James Bottomley
On Tue, 2012-12-18 at 13:18 +0200, Boaz Harrosh wrote: > On 12/18/2012 12:58 PM, James Bottomley wrote: > > On Mon, 2012-12-17 at 18:53 +0200, Boaz Harrosh wrote: > >> Hi Linus. > >> > >> Please pull the following changes since commit [ddffeb8c] Linux 3.7-rc1 > >> They are available in the git repo

Re: [GIT PULL] exofs: 3 changes to exofs & osd

2012-12-18 Thread Boaz Harrosh
On 12/18/2012 12:58 PM, James Bottomley wrote: > On Mon, 2012-12-17 at 18:53 +0200, Boaz Harrosh wrote: >> Hi Linus. >> >> Please pull the following changes since commit [ddffeb8c] Linux 3.7-rc1 >> They are available in the git repository at: >> >> git://git.open-osd.org/linux-open-osd.git for-li

Re: [GIT PULL] exofs: 3 changes to exofs & osd

2012-12-18 Thread James Bottomley
On Mon, 2012-12-17 at 18:53 +0200, Boaz Harrosh wrote: > Hi Linus. > > Please pull the following changes since commit [ddffeb8c] Linux 3.7-rc1 > They are available in the git repository at: > > git://git.open-osd.org/linux-open-osd.git for-linus > > for you to fetch changes up to > [861d

Re: [PATCH v9 06/10] ata: zpodd: check zero power ready status

2012-12-18 Thread Aaron Lu
Hi Everyone, Due to lack of information, I think I'll go ahead and pick up a simple solution for this(i.e. the code I attached previously to set a flag event_driven in scsi_device to let sr skip events poll) and send a new series out for you to review. After all, I can't wait forever... Please fe