[Qemu-devel] [PATCH v3] translate-all: use glib for all page descriptor allocations

2015-04-09 Thread Emilio G. Cota
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 c...@braap.org
---
 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));
 }
 
-- 
1.9.1




Re: [Qemu-devel] [PATCH v3] translate-all: use glib for all page descriptor allocations

2015-04-09 Thread Paolo Bonzini


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 c...@braap.org
 ---
  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