All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Hannes Reinecke <hare@suse.de>
Cc: Christoph Hellwig <hch@lst.de>,
	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: Tue, 03 Nov 2009 22:03:25 +0100	[thread overview]
Message-ID: <4AF09A9D.8020501@redhat.com> (raw)
In-Reply-To: <4AEA9FD8.6070007@suse.de>

On 10/30/09 09:12, Hannes Reinecke wrote:
> Gerd Hoffmann wrote:
>> http://repo.or.cz/w/qemu/kraxel.git?a=shortlog;h=refs/heads/scsi.v1
>>
>> It is far from being completed, will continue tomorrow.  Should give a
>> idea of the direction I'm heading to though.  Comments welcome.
>>
> Yep, this looks good.

More bits available now at:

http://repo.or.cz/w/qemu/kraxel.git/shortlog/refs/heads/scsi.v3

Please have a look at the new interface, this commit:

http://repo.or.cz/w/qemu/kraxel.git/commitdiff/9c825dac540282dd4d5f5f660ca13af617888037

The workflow I have in mind is:

   ->request_new()

Returns a parsed request, i.e. all fields of req->cmd are filled 
already, so the host adapter can easily check whenever it is a read or 
write and how many bytes will be transfered.

   ->request_run()

Execute the command.  iovec is passed to the dma_bdrv_*() functions, 
which means it should contain guest physical addresses.

When the request is done the complete callback is called.  For commands 
which complete immediately the callback might be called before 
request_run() returns.  Or maybe don't call the callback at all then? 
We can easily indicate using the return value that we are done already.

   ->request_del()

Release request when done.

Questions & comments are welcome.

cheers,
   Gerd

WARNING: multiple messages have this Message-ID (diff)
From: Gerd Hoffmann <kraxel@redhat.com>
To: Hannes Reinecke <hare@suse.de>
Cc: virtualization@lists.linux-foundation.org,
	Christoph Hellwig <hch@lst.de>,
	kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/4] megaraid_sas HBA emulation
Date: Tue, 03 Nov 2009 22:03:25 +0100	[thread overview]
Message-ID: <4AF09A9D.8020501@redhat.com> (raw)
In-Reply-To: <4AEA9FD8.6070007@suse.de>

On 10/30/09 09:12, Hannes Reinecke wrote:
> Gerd Hoffmann wrote:
>> http://repo.or.cz/w/qemu/kraxel.git?a=shortlog;h=refs/heads/scsi.v1
>>
>> It is far from being completed, will continue tomorrow.  Should give a
>> idea of the direction I'm heading to though.  Comments welcome.
>>
> Yep, this looks good.

More bits available now at:

http://repo.or.cz/w/qemu/kraxel.git/shortlog/refs/heads/scsi.v3

Please have a look at the new interface, this commit:

http://repo.or.cz/w/qemu/kraxel.git/commitdiff/9c825dac540282dd4d5f5f660ca13af617888037

The workflow I have in mind is:

   ->request_new()

Returns a parsed request, i.e. all fields of req->cmd are filled 
already, so the host adapter can easily check whenever it is a read or 
write and how many bytes will be transfered.

   ->request_run()

Execute the command.  iovec is passed to the dma_bdrv_*() functions, 
which means it should contain guest physical addresses.

When the request is done the complete callback is called.  For commands 
which complete immediately the callback might be called before 
request_run() returns.  Or maybe don't call the callback at all then? 
We can easily indicate using the return value that we are done already.

   ->request_del()

Release request when done.

Questions & comments are welcome.

cheers,
   Gerd

  parent reply	other threads:[~2009-11-03 21:03 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-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 10:54       ` Gerd Hoffmann
2009-10-28 13:58       ` Gerd Hoffmann
2009-10-28 19:25         ` Hannes Reinecke
2009-10-28 19:25         ` Hannes Reinecke
2009-10-29  4:37           ` Christoph Hellwig
2009-10-29  4:37           ` Christoph Hellwig
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 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: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-29 15:14                 ` Anthony Liguori
2009-10-30  8:12               ` Hannes Reinecke
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 [this message]
2009-11-03 21:03                   ` Gerd Hoffmann
2009-10-28 13:58       ` 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=4AF09A9D.8020501@redhat.com \
    --to=kraxel@redhat.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --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.