[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] translate-all: use glib for all page descrip
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v3] translate-all: use glib for all page descriptor allocations |
Date: |
Thu, 09 Apr 2015 22:21:39 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 09/04/2015 22:07, Emilio G. Cota wrote:
> Since commit
>
> b7b5233a "bsd-user/mmap.c: Don't try to override g_malloc/g_free"
>
> the exception we make here for usermode has been unnecessary.
> Get rid of it.
>
> Signed-off-by: Emilio G. Cota <address@hidden>
> ---
> translate-all.c | 18 ++----------------
> 1 file changed, 2 insertions(+), 16 deletions(-)
>
> diff --git a/translate-all.c b/translate-all.c
> index 4d05898..acf792c 100644
> --- a/translate-all.c
> +++ b/translate-all.c
> @@ -389,18 +389,6 @@ static PageDesc *page_find_alloc(tb_page_addr_t index,
> int alloc)
> void **lp;
> int i;
>
> -#if defined(CONFIG_USER_ONLY)
> - /* We can't use g_malloc because it may recurse into a locked mutex. */
> -# define ALLOC(P, SIZE) \
> - do { \
> - P = mmap(NULL, SIZE, PROT_READ | PROT_WRITE, \
> - MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); \
> - } while (0)
> -#else
> -# define ALLOC(P, SIZE) \
> - do { P = g_malloc0(SIZE); } while (0)
> -#endif
> -
> /* Level 1. Always allocated. */
> lp = l1_map + ((index >> V_L1_SHIFT) & (V_L1_SIZE - 1));
>
> @@ -412,7 +400,7 @@ static PageDesc *page_find_alloc(tb_page_addr_t index,
> int alloc)
> if (!alloc) {
> return NULL;
> }
> - ALLOC(p, sizeof(void *) * V_L2_SIZE);
> + p = g_new0(void *, V_L2_SIZE);
> *lp = p;
> }
>
> @@ -424,12 +412,10 @@ static PageDesc *page_find_alloc(tb_page_addr_t index,
> int alloc)
> if (!alloc) {
> return NULL;
> }
> - ALLOC(pd, sizeof(PageDesc) * V_L2_SIZE);
> + pd = g_new0(PageDesc, V_L2_SIZE);
> *lp = pd;
> }
>
> -#undef ALLOC
> -
> return pd + (index & (V_L2_SIZE - 1));
> }
>
>
Thanks, looks good.
Paolo