[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] xen-mapcache: don't unmap locked entry during m
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH] xen-mapcache: don't unmap locked entry during mapcache invalidation |
Date: |
Thu, 15 Mar 2012 17:14:53 +0000 |
User-agent: |
Alpine 2.00 (DEB 1167 2008-08-23) |
On Thu, 15 Mar 2012, Julien Grall wrote:
> When an IOREQ_TYPE_INVALIDATE is sent to QEMU, it invalidates all entry
> of the map cache even if it's locked.
>
> QEMU is not able to know that entry was invalidated, so when an IO
> access is requested a segfault occured.
The problem here is the long term mappings in QEMU that cannot easily be
re-created.
I am not sure whether this can cause any trouble to things like
xenpaging.
> Signed-off-by: Julien Grall <address@hidden>
> ---
> xen-mapcache.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/xen-mapcache.c b/xen-mapcache.c
> index 585b559..6e7e5ab 100644
> --- a/xen-mapcache.c
> +++ b/xen-mapcache.c
> @@ -370,6 +370,9 @@ void xen_invalidate_map_cache(void)
> continue;
> }
> + if (entry->lock > 0)
> + continue;
> +
> if (munmap(entry->vaddr_base, entry->size) != 0) {
> perror("unmap fails");
> exit(-1);
CODING_STYLE