OSDN Git Service

exec: Advise huge pages for the TCG code gen buffer
authorRichard Henderson <rth@twiddle.net>
Thu, 1 Nov 2012 22:20:46 +0000 (09:20 +1100)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 8 Dec 2012 14:18:37 +0000 (14:18 +0000)
After allocating 32MB or more contiguous memory, huge pages
would seem to be ideal.

Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
exec.c

diff --git a/exec.c b/exec.c
index 8435de0..0594b07 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -607,6 +607,8 @@ static inline void code_gen_alloc(size_t tb_size)
         exit(1);
     }
 
+    qemu_madvise(code_gen_buffer, code_gen_buffer_size, QEMU_MADV_HUGEPAGE);
+
     /* Steal room for the prologue at the end of the buffer.  This ensures
        (via the MAX_CODE_GEN_BUFFER_SIZE limits above) that direct branches
        from TB's to the prologue are going to be in range.  It also means