qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/4] introduce cpu_physical_memory_map_fast
Date: Mon, 06 Jun 2011 10:44:15 -0500	[thread overview]
Message-ID: <4DECF5CF.5040405@codemonkey.ws> (raw)
In-Reply-To: <4DECD17F.2040307@redhat.com>

On 06/06/2011 08:09 AM, Paolo Bonzini wrote:
> On 06/06/2011 02:56 PM, Anthony Liguori wrote:
>>
>> Oh, the patch series basically died for me when I saw:
>>
>> Avi> What performance benefit does this bring?
>>
>> Paolo> Zero
>
> :)
>
>> Especially given Avi's efforts to introduce a new RAM API, I don't want
>> yet another special case to handle.
>
> This is not a special case, the existing functions are all mapped onto
> the new cpu_physical_memory_map_internal. I don't think this is in any
> way related to Avi's RAM API which is (mostly) for MMIO.
>
>> You're just trying to avoid having to handle map failures, right?
>
> Not just that. If you had a memory block at say 1 GB - 2 GB, and another
> at 2 GB - 3 GB, a DMA operation that crosses the two could be
> implemented with cpu_physical_memory_map_fast; you would simply build a
> two-element iovec in two steps, something the current API does not allow.

You cannot assume RAM blocks are contiguous.  This has nothing to do 
with PV or not PV but how the RAM API works today.

>
> The patch does not change virtio to do the split, but it is possible to
> do that. The reason I'm not doing the virtio change, is that I know mst
> has pending changes to virtio and I'd rather avoid the conflicts for
> now. However, for vmw_pvscsi I'm going to handle it using the new
> functions.

Virtio can handle all of this today because it uses 
cpu_physical_memory_rw for ring access and then calls map for SG 
elements.  SG elements are usually 4k so it's never really an issue to 
get a partial mapping.  We could be more robust about it but in 
practice, it's not a problem.

Regards,

Anthony Liguori

>
> Paolo
>

  reply	other threads:[~2011-06-06 15:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-03 16:49 [Qemu-devel] [PATCH 0/4] introduce cpu_physical_memory_map_fast Paolo Bonzini
2011-05-03 16:49 ` [Qemu-devel] [PATCH 1/4] exec: extract cpu_physical_memory_map_internal Paolo Bonzini
2011-05-03 16:49 ` [Qemu-devel] [PATCH 2/4] exec: introduce cpu_physical_memory_map_fast and cpu_physical_memory_map_check Paolo Bonzini
2011-05-03 16:49 ` [Qemu-devel] [PATCH 3/4] virtio: use cpu_physical_memory_map_fast Paolo Bonzini
2011-05-03 16:49 ` [Qemu-devel] [PATCH 4/4] milkymist: " Paolo Bonzini
2011-05-04 21:56   ` Michael Walle
2011-05-12 14:51 ` [Qemu-devel] [PATCH 0/4] introduce cpu_physical_memory_map_fast Paolo Bonzini
2011-05-31  9:16   ` Paolo Bonzini
2011-06-06 12:27     ` Paolo Bonzini
2011-06-06 12:56       ` Anthony Liguori
2011-06-06 13:09         ` Paolo Bonzini
2011-06-06 15:44           ` Anthony Liguori [this message]
2011-06-06 15:55             ` Paolo Bonzini
2011-05-12 15:32 ` Avi Kivity
2011-05-13  6:33   ` Paolo Bonzini

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=4DECF5CF.5040405@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).