From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60154) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YgIfl-0007ss-JM for qemu-devel@nongnu.org; Thu, 09 Apr 2015 16:03:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YgIff-0002tn-H8 for qemu-devel@nongnu.org; Thu, 09 Apr 2015 16:03:33 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:53983) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YgIff-0002ti-Cf for qemu-devel@nongnu.org; Thu, 09 Apr 2015 16:03:27 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 3E99C2031D for ; Thu, 9 Apr 2015 16:03:21 -0400 (EDT) From: "Emilio G. Cota" Date: Thu, 9 Apr 2015 16:03:44 -0400 Message-Id: <1428609824-25613-1-git-send-email-cota@braap.org> In-Reply-To: <5526CDE9.5060209@redhat.com> References: <5526CDE9.5060209@redhat.com> Subject: [Qemu-devel] [PATCH v2] translate-all: use glib for all page descriptor allocations List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Peter Maydell , qemu-devel@nongnu.org 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 --- translate-all.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/translate-all.c b/translate-all.c index 4d05898..c8f0e8c 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_malloc0(sizeof(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_malloc0(sizeof(PageDesc) * V_L2_SIZE); *lp = pd; } -#undef ALLOC - return pd + (index & (V_L2_SIZE - 1)); } -- 1.9.1