qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/4] introduce cpu_physical_memory_map_fast


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 0/4] introduce cpu_physical_memory_map_fast
Date: Mon, 06 Jun 2011 07:56:52 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10

On 06/06/2011 07:27 AM, Paolo Bonzini wrote:
On 05/31/2011 11:16 AM, Paolo Bonzini wrote:
On 05/12/2011 04:51 PM, Paolo Bonzini wrote:
On 05/03/2011 06:49 PM, Paolo Bonzini wrote:
Paravirtualized devices (and also some real devices) can assume they
are going to access RAM. For this reason, provide a fast-path
function with the following properties:

1) it will never allocate a bounce buffer

2) it can be used for read-modify-write operations

3) unlike qemu_get_ram_ptr, it is safe because it recognizes "short"
blocks

Patches 3 and 4 use this function for virtio devices and the milkymist
GPU. The latter is only compile-tested.

Another function checks if it is possible to split a contiguous
physical
address range into multiple subranges, all of which use the fast path.
I will introduce later a use for this function.

Paolo Bonzini (4):
exec: extract cpu_physical_memory_map_internal
exec: introduce cpu_physical_memory_map_fast and
cpu_physical_memory_map_check
virtio: use cpu_physical_memory_map_fast
milkymist: use cpu_physical_memory_map_fast

cpu-common.h | 4 ++
exec.c | 108 +++++++++++++++++++++++++++++++++++++-------------
hw/milkymist-tmu2.c | 39 ++++++++++--------
hw/vhost.c | 10 ++--
hw/virtio.c | 2 +-
5 files changed, 111 insertions(+), 52 deletions(-)


Ping?

Ping^2?

Ping^3?

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.

You're just trying to avoid having to handle map failures, right? So it's not really cpu_physical_memory_map_fast, it's really cpu_physical_memory_map_simple?

I'd prefer that a device just treat failures as fatal vs. using a new API.

Regards,

Anthony Liguori

Paolo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]