All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: kvm <kvm@vger.kernel.org>
Subject: Re: device-assignment: difference between assigned_dev_iomem_map and ...map_slow
Date: Thu, 21 Apr 2011 10:44:39 -0600	[thread overview]
Message-ID: <1303404279.3050.13.camel@x201> (raw)
In-Reply-To: <4DB059E5.7000003@siemens.com>

On Thu, 2011-04-21 at 18:23 +0200, Jan Kiszka wrote:
> Hi,
> 
> latest qemu-kvm bails out on cleanup as it tries to call
> cpu_register_physical_memory with a zero-sized region of an assigned
> device. That made me dig into the setup/cleanup of memory mapped io
> regions, trying to consolidate and fix the code.

The teardown is gated by memory_index, so that means it's tearing down a
region that wasn't mapped by the guest?

> What are the differences between normal and slow mmio regions? The
> former are mapped directly to the physical device (via
> qemu_ram_alloc_from_ptr + cpu_register_physical_memory), the latter have
> to be dispatched in user land (thus cpu_register_io_memory +
> cpu_register_physical_memory), right?

Right.

> But why do we need to postpone cpu_register_io_memory to
> assigned_dev_iomem_map_slow? It looks like that's effectively the only
> difference between both mapping callbacks (subtracting some bugs and
> dead code). Can't we set up the io region in
> assigned_dev_register_regions analogously to normal regions?

I imagine it was an attempt not to overload memory_index, for tests like
the one above, but apparently it's not working out so well.  I don't see
any reason we shouldn't do the cpu_register_io_memory on setup.

> BTW, the current code is leaking the slow io region on cleanup.

Yep, I don't see an cpu_unregister_io_memory() for that region either.

> Comments appreciated, will translate them into a cleanup patch series.

Thanks!

Alex



      reply	other threads:[~2011-04-21 17:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-21 16:23 device-assignment: difference between assigned_dev_iomem_map and ...map_slow Jan Kiszka
2011-04-21 16:44 ` Alex Williamson [this message]

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=1303404279.3050.13.camel@x201 \
    --to=alex.williamson@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm@vger.kernel.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.