All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Hannes Reinecke <hare@suse.de>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org
Subject: Re: [Qemu-devel] [PATCH 0/4] megaraid_sas HBA emulation
Date: Thu, 29 Oct 2009 05:37:08 +0100	[thread overview]
Message-ID: <20091029043708.GA3552@lst.de> (raw)
In-Reply-To: <20091028202522.r53660olwsk8cokk@imap.suse.de>

On Wed, Oct 28, 2009 at 08:25:22PM +0100, Hannes Reinecke wrote:
> I don't think we really need two modes.
> My preferred interface here is to pass down scatter-gather lists down
> with every xfer; this way it'll be the responsibility of the driver to
> create the lists in the first place. If it has hardware scatter-gather
> support it can just pass them down, if not it can as easily create a
> scatter-gather list with just one element as a bounce buffer.

Yes.  If this really causes performance problems for esp we can add
bounce buffering in that driver later.

> So something like
> - Get next request
> - Attach iovec/bounc-buffer
> - handle request (command/write/read)
> - complete request (callback)

Btw, from some previuous attempts to sort out this code here are some
thing that I think would be beneficial:

 - try to create generic scsi device/request structures that the hba
   driver can access, and which contain additional private data for
   scsi-disk/generic.  Information in the generic one would include
   the information about the data transfer, the tag and the command
   block.
 - try to get rid of the tag indexing stuff by just using a pointer to
   the generic scsi request in the hba drivers.  That should get rid
   of a lot of useless list searching.


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Hannes Reinecke <hare@suse.de>
Cc: virtualization@lists.linux-foundation.org,
	Gerd Hoffmann <kraxel@redhat.com>,
	kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/4] megaraid_sas HBA emulation
Date: Thu, 29 Oct 2009 05:37:08 +0100	[thread overview]
Message-ID: <20091029043708.GA3552@lst.de> (raw)
In-Reply-To: <20091028202522.r53660olwsk8cokk@imap.suse.de>

On Wed, Oct 28, 2009 at 08:25:22PM +0100, Hannes Reinecke wrote:
> I don't think we really need two modes.
> My preferred interface here is to pass down scatter-gather lists down
> with every xfer; this way it'll be the responsibility of the driver to
> create the lists in the first place. If it has hardware scatter-gather
> support it can just pass them down, if not it can as easily create a
> scatter-gather list with just one element as a bounce buffer.

Yes.  If this really causes performance problems for esp we can add
bounce buffering in that driver later.

> So something like
> - Get next request
> - Attach iovec/bounc-buffer
> - handle request (command/write/read)
> - complete request (callback)

Btw, from some previuous attempts to sort out this code here are some
thing that I think would be beneficial:

 - try to create generic scsi device/request structures that the hba
   driver can access, and which contain additional private data for
   scsi-disk/generic.  Information in the generic one would include
   the information about the data transfer, the tag and the command
   block.
 - try to get rid of the tag indexing stuff by just using a pointer to
   the generic scsi request in the hba drivers.  That should get rid
   of a lot of useless list searching.

  parent reply	other threads:[~2009-10-29  4:37 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-27 15:26 [PATCH 0/4] megaraid_sas HBA emulation Hannes Reinecke
2009-10-27 15:26 ` [Qemu-devel] " Hannes Reinecke
2009-10-27 16:47 ` Gerd Hoffmann
2009-10-27 16:47   ` Gerd Hoffmann
2009-10-28  8:11   ` Hannes Reinecke
2009-10-28  8:11   ` Hannes Reinecke
2009-10-28  8:11     ` Hannes Reinecke
2009-10-28  8:20     ` Avi Kivity
2009-10-28  8:20     ` Avi Kivity
2009-10-28  8:20       ` Avi Kivity
2009-10-28  8:40     ` Christoph Hellwig
2009-10-28  8:40     ` Christoph Hellwig
2009-10-28  8:40       ` Christoph Hellwig
2009-10-28 10:54     ` Gerd Hoffmann
2009-10-28 10:54       ` Gerd Hoffmann
2009-10-28 13:58       ` Gerd Hoffmann
2009-10-28 13:58       ` Gerd Hoffmann
2009-10-28 19:25         ` Hannes Reinecke
2009-10-29  4:37           ` Christoph Hellwig
2009-10-29  4:37           ` Christoph Hellwig [this message]
2009-10-29  4:37             ` Christoph Hellwig
2009-10-29  8:47             ` Gerd Hoffmann
2009-10-29  8:47               ` Gerd Hoffmann
2009-10-29  8:47             ` Gerd Hoffmann
2009-10-29 12:57             ` Gerd Hoffmann
2009-10-29 12:57               ` Gerd Hoffmann
2009-10-29 14:57               ` Christoph Hellwig
2009-10-29 14:57               ` Christoph Hellwig
2009-10-29 14:57                 ` Christoph Hellwig
2009-10-29 15:14                 ` Anthony Liguori
2009-10-29 15:14                 ` Anthony Liguori
2009-10-29 15:14                   ` Anthony Liguori
2009-10-29 15:15                   ` Christoph Hellwig
2009-10-29 15:15                     ` Christoph Hellwig
2009-10-29 15:25                     ` Anthony Liguori
2009-10-29 15:25                       ` Anthony Liguori
2009-10-30  8:55                       ` Gerd Hoffmann
2009-10-30  8:55                       ` Gerd Hoffmann
2009-10-30  8:55                         ` Gerd Hoffmann
2009-10-29 15:25                     ` Anthony Liguori
2009-10-29 15:15                   ` Christoph Hellwig
2009-10-30  8:12               ` Hannes Reinecke
2009-10-30  8:12                 ` Hannes Reinecke
2009-11-03 21:03                 ` Gerd Hoffmann
2009-11-03 21:03                 ` Gerd Hoffmann
2009-11-03 21:03                   ` Gerd Hoffmann
2009-10-30  8:12               ` Hannes Reinecke
2009-10-29 12:57             ` Gerd Hoffmann
2009-10-28 19:25         ` Hannes Reinecke
2009-10-28 10:54     ` Gerd Hoffmann
2009-10-27 16:47 ` Gerd Hoffmann
2009-11-11  1:49 ` Paul Brook
2009-11-11  1:49 ` Paul Brook

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091029043708.GA3552@lst.de \
    --to=hch@lst.de \
    --cc=hare@suse.de \
    --cc=kraxel@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.