All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 05/10] dma-helpers: add dma_buf_read and dma_buf_write
Date: Thu, 11 Aug 2011 16:37:28 +0200	[thread overview]
Message-ID: <4E43E928.8060208@redhat.com> (raw)
In-Reply-To: <4E43E619.601@redhat.com>

Am 11.08.2011 16:24, schrieb Paolo Bonzini:
> On 08/11/2011 03:29 PM, Stefan Hajnoczi wrote:
>>>>
>>>>  What do you think about passing the residual bytes for short transfers?
>>>>    Should I look into updating BlockDriverCompletionFunc, or is the approach
>>>>  of patch 2 okay?  If I have an excuse to learn more about Coccinelle, that
>>>>  can be fun.:)
>> The bdrv_aio_readv() and bdrv_aio_writev() functions don't have the
>> concept of residual bytes.  They only work on fully completed I/O
>> operations.  If there is an error they pass -errno.
> 
> But if a transfer was split due to failure of cpu_physical_memory_map, 
> and only the second part fails, you can have a short transfer and you 
> need to pass residual bytes back.  The only way out of this is to make a 
> bounce buffer as big as all the unmappable parts of the S/G list, which 
> is undesirable of course.  So the residual bytes are a general DMA 
> concept, not specific to SCSI.
> 
>> Therefore I don't think BlockDriverCompletionFunc is the right type
>> to add residual bytes to.
> 
> Right, I would rather update BlockDriverCompletionFunc to pass the AIOCB 
> as a third parameter, and store the residual bytes in the DMAAIOCB (with 
> a getter that the completion function can use).

Isn't the DMAAIOCB already passed as opaque to the callback?

Kevin

  reply	other threads:[~2011-08-11 14:34 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-04 17:14 [Qemu-devel] [PATCH 00/10] SCSI scatter/gather support Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 01/10] dma-helpers: allow including from target-independent code Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 02/10] dma-helpers: track position in the QEMUSGList Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 03/10] dma-helpers: rewrite completion/cancellation Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 04/10] dma-helpers: prepare for adding dma_buf_* functions Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 05/10] dma-helpers: add dma_buf_read and dma_buf_write Paolo Bonzini
2011-08-11  7:58   ` Stefan Hajnoczi
2011-08-11 12:10     ` Paolo Bonzini
2011-08-11 13:29       ` Stefan Hajnoczi
2011-08-11 14:24         ` Paolo Bonzini
2011-08-11 14:37           ` Kevin Wolf [this message]
2011-08-11 15:05             ` Paolo Bonzini
2011-08-11 15:12               ` Kevin Wolf
2011-08-11 15:27                 ` Paolo Bonzini
2011-08-11 20:06                   ` Stefan Hajnoczi
2011-08-04 17:14 ` [Qemu-devel] [PATCH 06/10] scsi: pass residual amount to command_complete Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 07/10] scsi: add scatter/gather functionality Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 08/10] scsi-disk: commonize iovec creation between reads and writes Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 09/10] scsi-disk: lazily allocate bounce buffer Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 10/10] scsi-disk: enable scatter/gather functionality Paolo Bonzini
2011-08-04 17:14 ` [Qemu-devel] [PATCH 11/11] sample pvscsi driver with s/g support Paolo Bonzini
2011-08-11  7:57 ` [Qemu-devel] [PATCH 00/10] SCSI scatter/gather support Stefan Hajnoczi

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=4E43E928.8060208@redhat.com \
    --to=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /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.