qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 83974c: cputlb: bring back tlb_flush_count un


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 83974c: cputlb: bring back tlb_flush_count under !TLB_DEBU...
Date: Wed, 11 Oct 2017 05:05:18 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 83974cf4f8a46513f799ff0d7c7eb151acafda7b
      
https://github.com/qemu/qemu/commit/83974cf4f8a46513f799ff0d7c7eb151acafda7b
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/cputlb.c
    M accel/tcg/translate-all.c
    M include/exec/cpu-defs.h
    M include/exec/cputlb.h

  Log Message:
  -----------
  cputlb: bring back tlb_flush_count under !TLB_DEBUG

Commit f0aff0f124 ("cputlb: add assert_cpu_is_self checks") buried
the increment of tlb_flush_count under TLB_DEBUG. This results in
"info jit" always (mis)reporting 0 TLB flushes when !TLB_DEBUG.

Besides, under MTTCG tlb_flush_count is updated by several threads,
so in order not to lose counts we'd either have to use atomic ops
or distribute the counter, which is more scalable.

This patch does the latter by embedding tlb_flush_count in CPUArchState.
The global count is then easily obtained by iterating over the CPU list.

Note that this change also requires updating the accessors to
tlb_flush_count to use atomic_read/set whenever there may be conflicting
accesses (as defined in C11) to it.

Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 0aecede6121e56ccc5d6a82243f2ccccdfabe6d5
      
https://github.com/qemu/qemu/commit/0aecede6121e56ccc5d6a82243f2ccccdfabe6d5
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  tcg: fix corruption of code_time profiling counter upon tb_flush

Whenever there is an overflow in code_gen_buffer (e.g. we run out
of space in it and have to flush it), the code_time profiling counter
ends up with an invalid value (that is, code_time -= profile_getclock(),
without later on getting += profile_getclock() due to the goto).

Fix it by using the ti variable, so that we only update code_time
when there is no overflow. Note that in case there is an overflow
we fail to account for the elapsed coding time, but this is quite rare
so we can probably live with it.

"info jit" before/after, roughly at the same time during debian-arm bootup:

- before:
Statistics:
TB flush count      1
TB invalidate count 4665
TLB flush count     998
JIT cycles          -615191529184601 (-256329.804 s at 2.4 GHz)
translated TBs      302310 (aborted=0 0.0%)
avg ops/TB          48.4 max=438
deleted ops/TB      8.54
avg temps/TB        32.31 max=38
avg host code/TB    361.5
avg search data/TB  24.5
cycles/op           -42014693.0
cycles/in byte      -121444900.2
cycles/out byte     -5629031.1
cycles/search byte     -83114481.0
  gen_interm time   -0.0%
  gen_code time     100.0%
optim./code time    -0.0%
liveness/code time  -0.0%
cpu_restore count   6236
  avg cycles        110.4

- after:
Statistics:
TB flush count      1
TB invalidate count 4665
TLB flush count     1010
JIT cycles          1996899624 (0.832 s at 2.4 GHz)
translated TBs      297961 (aborted=0 0.0%)
avg ops/TB          48.5 max=438
deleted ops/TB      8.56
avg temps/TB        32.31 max=38
avg host code/TB    361.8
avg search data/TB  24.5
cycles/op           138.2
cycles/in byte      398.4
cycles/out byte     18.5
cycles/search byte     273.1
  gen_interm time   14.0%
  gen_code time     86.0%
optim./code time    19.4%
liveness/code time  10.3%
cpu_restore count   6372
  avg cycles        111.0

Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: eb5e2b9e3b141de0c435eedc31c26cbbdefbee1b
      
https://github.com/qemu/qemu/commit/eb5e2b9e3b141de0c435eedc31c26cbbdefbee1b
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M include/exec/exec-all.h

  Log Message:
  -----------
  exec-all: fix typos in TranslationBlock's documentation

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 13e10947358f889d175c42e3db6fef368faeb7e0
      
https://github.com/qemu/qemu/commit/13e10947358f889d175c42e3db6fef368faeb7e0
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  translate-all: make have_tb_lock static

It is only used by this object, and it's not exported to any other.

Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 841710c78e022cbc1f798cced035789725702dac
      
https://github.com/qemu/qemu/commit/841710c78e022cbc1f798cced035789725702dac
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/cpu-exec.c

  Log Message:
  -----------
  cpu-exec: rename have_tb_lock to acquired_tb_lock in tb_find

Reusing the have_tb_lock name, which is also defined in translate-all.c,
makes code reviewing unnecessarily harder.

Avoid potential confusion by renaming the local have_tb_lock variable
to something else.

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: e268f4c036d2b47a4f8bf293c1371b328e03ca04
      
https://github.com/qemu/qemu/commit/e268f4c036d2b47a4f8bf293c1371b328e03ca04
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M tcg/i386/tcg-target.inc.c

  Log Message:
  -----------
  tcg/i386: constify tcg_target_callee_save_regs

Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: d453ec78251d03cbd4ffc28dbf6070931c8ae469
      
https://github.com/qemu/qemu/commit/d453ec78251d03cbd4ffc28dbf6070931c8ae469
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M tcg/mips/tcg-target.inc.c

  Log Message:
  -----------
  tcg/mips: constify tcg_target_callee_save_regs

Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7f11636dbee89b0e4d03e9e2b96e14649a7db778
      
https://github.com/qemu/qemu/commit/7f11636dbee89b0e4d03e9e2b96e14649a7db778
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/tcg-runtime.c
    M accel/tcg/tcg-runtime.h
    M target/alpha/translate.c
    M target/arm/translate-a64.c
    M target/arm/translate.c
    M target/hppa/translate.c
    M target/i386/translate.c
    M target/mips/translate.c
    M target/s390x/translate.c
    M target/sh4/translate.c
    M tcg/tcg-op.c
    M tcg/tcg-op.h

  Log Message:
  -----------
  tcg: remove addr argument from lookup_tb_ptr

It is unlikely that we will ever want to call this helper passing
an argument other than the current PC. So just remove the argument,
and use the pc we already get from cpu_get_tb_cpu_state.

This change paves the way to having a common "tb_lookup" function.

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f6bb84d53110398f4899c19dab4e0fe9908ec060
      
https://github.com/qemu/qemu/commit/f6bb84d53110398f4899c19dab4e0fe9908ec060
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/tcg-runtime.c
    A include/exec/tb-lookup.h

  Log Message:
  -----------
  tcg: consolidate TB lookups in tb_lookup__cpu_state

This avoids duplicating code. cpu_exec_step will also use the
new common function once we integrate parallel_cpus into tb->cflags.

Note that in this commit we also fix a race, described by Richard Henderson
during review. Think of this scenario with threads A and B:

   (A) Lookup succeeds for TB in hash without tb_lock
  (B) Sets the TB's tb->invalid flag
  (B) Removes the TB from tb_htable
  (B) Clears all CPU's tb_jmp_cache
   (A) Store TB into local tb_jmp_cache

Given that order of events, (A) will keep executing that invalid TB until
another flush of its tb_jmp_cache happens, which in theory might never happen.
We can fix this by checking the tb->invalid flag every time we look up a TB
from tb_jmp_cache, so that in the above scenario, next time we try to find
that TB in tb_jmp_cache, we won't, and will therefore be forced to look it
up in tb_htable.

Performance-wise, I measured a small improvement when booting debian-arm.
Note that inlining pays off:

 Performance counter stats for 'taskset -c 0 qemu-system-arm \
        -machine type=virt -nographic -smp 1 -m 4096 \
        -netdev user,id=unet,hostfwd=tcp::2222-:22 \
        -device virtio-net-device,netdev=unet \
        -drive file=jessie.qcow2,id=myblock,index=0,if=none \
        -device virtio-blk-device,drive=myblock \
        -kernel kernel.img -append console=ttyAMA0 root=/dev/vda1 \
        -name arm,debug-threads=on -smp 1' (10 runs):

Before:
      18714.917392 task-clock                #    0.952 CPUs utilized           
 ( +-  0.95% )
      23,142 context-switches          #    0.001 M/sec                    ( +- 
 0.50% )
           1 CPU-migrations            #    0.000 M/sec
      10,558 page-faults               #    0.001 M/sec                    ( +- 
 0.95% )
    53,957,727,252 cycles                    #    2.883 GHz                     
 ( +-  0.91% ) [83.33%]
    24,440,599,852 stalled-cycles-frontend   #   45.30% frontend cycles idle    
 ( +-  1.20% ) [83.33%]
    16,495,714,424 stalled-cycles-backend    #   30.57% backend  cycles idle    
 ( +-  0.95% ) [66.66%]
    76,267,572,582 instructions              #    1.41  insns per cycle
                                       #    0.32  stalled cycles per insn  ( +- 
 0.87% ) [83.34%]
    12,692,186,323 branches                  #  678.186 M/sec                   
 ( +-  0.92% ) [83.35%]
       263,486,879 branch-misses             #    2.08% of all branches         
 ( +-  0.73% ) [83.34%]

      19.648474449 seconds time elapsed                                         
 ( +-  0.82% )

After, w/ inline (this patch):
      18471.376627 task-clock                #    0.955 CPUs utilized           
 ( +-  0.96% )
      23,048 context-switches          #    0.001 M/sec                    ( +- 
 0.48% )
           1 CPU-migrations            #    0.000 M/sec
      10,708 page-faults               #    0.001 M/sec                    ( +- 
 0.81% )
    53,208,990,796 cycles                    #    2.881 GHz                     
 ( +-  0.98% ) [83.34%]
    23,941,071,673 stalled-cycles-frontend   #   44.99% frontend cycles idle    
 ( +-  0.95% ) [83.34%]
    16,161,773,848 stalled-cycles-backend    #   30.37% backend  cycles idle    
 ( +-  0.76% ) [66.67%]
    75,786,269,766 instructions              #    1.42  insns per cycle
                                       #    0.32  stalled cycles per insn  ( +- 
 1.24% ) [83.34%]
    12,573,617,143 branches                  #  680.708 M/sec                   
 ( +-  1.34% ) [83.33%]
       260,235,550 branch-misses             #    2.07% of all branches         
 ( +-  0.66% ) [83.33%]

      19.340502161 seconds time elapsed                                         
 ( +-  0.56% )

After, w/o inline:
      18791.253967 task-clock                #    0.954 CPUs utilized           
 ( +-  0.78% )
      23,230 context-switches          #    0.001 M/sec                    ( +- 
 0.42% )
           1 CPU-migrations            #    0.000 M/sec
      10,563 page-faults               #    0.001 M/sec                    ( +- 
 1.27% )
    54,168,674,622 cycles                    #    2.883 GHz                     
 ( +-  0.80% ) [83.34%]
    24,244,712,629 stalled-cycles-frontend   #   44.76% frontend cycles idle    
 ( +-  1.37% ) [83.33%]
    16,288,648,572 stalled-cycles-backend    #   30.07% backend  cycles idle    
 ( +-  0.95% ) [66.66%]
    77,659,755,503 instructions              #    1.43  insns per cycle
                                       #    0.31  stalled cycles per insn  ( +- 
 0.97% ) [83.34%]
    12,922,780,045 branches                  #  687.702 M/sec                   
 ( +-  1.06% ) [83.34%]
       261,962,386 branch-misses             #    2.03% of all branches         
 ( +-  0.71% ) [83.35%]

      19.700174670 seconds time elapsed                                         
 ( +-  0.56% )

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 84f1c148da2b35fbb5a436597872765257e8914e
      
https://github.com/qemu/qemu/commit/84f1c148da2b35fbb5a436597872765257e8914e
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/translate-all.c
    M include/exec/exec-all.h
    M include/exec/tb-lookup.h

  Log Message:
  -----------
  exec-all: bring tb->invalid into tb->cflags

This gets rid of a hole in struct TranslationBlock.

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 424079c13b692cfcd08866bc9ffec77b887fed4e
      
https://github.com/qemu/qemu/commit/424079c13b692cfcd08866bc9ffec77b887fed4e
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  translate-all: define and use DEBUG_TB_FLUSH_GATE

This gets rid of some ifdef checks while ensuring that the debug code
is compiled, which prevents bit rot.

Suggested-by: Alex Bennée <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 67a5b5d2f6eb6d3b980570223ba5c478487ddb6f
      
https://github.com/qemu/qemu/commit/67a5b5d2f6eb6d3b980570223ba5c478487ddb6f
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/translate-all.c
    M include/exec/exec-all.h

  Log Message:
  -----------
  exec-all: introduce TB_PAGE_ADDR_FMT

And fix the following warning when DEBUG_TB_INVALIDATE is enabled
in translate-all.c:

  CC      mipsn32-linux-user/accel/tcg/translate-all.o
/data/src/qemu/accel/tcg/translate-all.c: In function ‘tb_alloc_page’:
/data/src/qemu/accel/tcg/translate-all.c:1201:16: error: format ‘%lx’ expects 
argument of type ‘long unsigned int’, but argument 2 has type ‘tb_page_addr_t 
{aka unsigned int}’ [-Werror=format=]
   printf("protecting code page: 0x" TARGET_FMT_lx "\n",
          ^
cc1: all warnings being treated as errors
/data/src/qemu/rules.mak:66: recipe for target 'accel/tcg/translate-all.o' 
failed
make[1]: *** [accel/tcg/translate-all.o] Error 1
Makefile:328: recipe for target 'subdir-mipsn32-linux-user' failed
make: *** [subdir-mipsn32-linux-user] Error 2
address@hidden:/data/src/qemu/build ((18f3fe1...) *$)$

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: dae9e03aed8e652f5dce2e5cab05dff83aa193b8
      
https://github.com/qemu/qemu/commit/dae9e03aed8e652f5dce2e5cab05dff83aa193b8
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  translate-all: define and use DEBUG_TB_INVALIDATE_GATE

This gets rid of an ifdef check while ensuring that the debug code
is compiled, which prevents bit rot.

Suggested-by: Alex Bennée <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 6eb062abd66611333056633899d3f09c2e795f4c
      
https://github.com/qemu/qemu/commit/6eb062abd66611333056633899d3f09c2e795f4c
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  translate-all: define and use DEBUG_TB_CHECK_GATE

This prevents bit rot by ensuring the debug code is compiled when
building a user-mode target.

Unfortunately the helpers are user-mode-only so we cannot fully
get rid of the ifdef checks. Add a comment to explain this.

Suggested-by: Alex Bennée <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: e7e168f41364c6e83d0f75fc1b3ce7f9c41ccf76
      
https://github.com/qemu/qemu/commit/e7e168f41364c6e83d0f75fc1b3ce7f9c41ccf76
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/tcg-runtime.c
    M accel/tcg/translate-all.c
    M include/exec/exec-all.h
    M tcg/tcg.c

  Log Message:
  -----------
  exec-all: extract tb->tc_* into a separate struct tc_tb

In preparation for adding tc.size to be able to keep track of
TB's using the binary search tree implementation from glib.

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 5e75150cdf573d9aa21fc9e8552aa2cc6a48bcb1
      
https://github.com/qemu/qemu/commit/5e75150cdf573d9aa21fc9e8552aa2cc6a48bcb1
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M tcg/tci.c

  Log Message:
  -----------
  tci: move tci_regs to tcg_qemu_tb_exec's stack

Groundwork for supporting multiple TCG contexts.

Compile-tested for all targets on an x86_64 host.

Suggested-by: Richard Henderson <address@hidden>
Acked-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 619205fd1facd5078d127cd94e4713b590770f96
      
https://github.com/qemu/qemu/commit/619205fd1facd5078d127cd94e4713b590770f96
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M tcg/tcg.c
    M tcg/tcg.h

  Log Message:
  -----------
  tcg: take .helpers out of TCGContext

Groundwork for supporting multiple TCG contexts.

The hash table becomes read-only after it is filled in,
so we can save space by keeping just a global pointer to it.

Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 3637cf58f9441ad277fd70299a29d0e39b32c96c
      
https://github.com/qemu/qemu/commit/3637cf58f9441ad277fd70299a29d0e39b32c96c
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M exec.c
    M include/exec/cpu-all.h
    M include/qemu/osdep.h
    M util/Makefile.objs
    A util/pagesize.c

  Log Message:
  -----------
  util: move qemu_real_host_page_size/mask to osdep.h

These only depend on the host and therefore belong in the common
osdep, not in a target-dependent object.

While at it, query the host during an init constructor, which guarantees
the page size will be well-defined throughout the execution of the program.

Suggested-by: Richard Henderson <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: a505785cd221994dd3713bde860861869a059940
      
https://github.com/qemu/qemu/commit/a505785cd221994dd3713bde860861869a059940
  Author: Emilio G. Cota <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: define TCG_HIGHWATER

Will come in handy very soon.

Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 8df8d529ed958de4e23dcbf38bd34eff1a4716f2
      
https://github.com/qemu/qemu/commit/8df8d529ed958de4e23dcbf38bd34eff1a4716f2
  Author: Jiang Biao <address@hidden>
  Date:   2017-10-10 (Tue, 10 Oct 2017)

  Changed paths:
    M tcg/mips/tcg-target.inc.c

  Log Message:
  -----------
  tcg/mips: delete commented out extern keyword.

Delete commented out extern keyword on link_error().

Signed-off-by: Jiang Biao <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: e74c0cfa57323e5806894c65086f411112168820
      
https://github.com/qemu/qemu/commit/e74c0cfa57323e5806894c65086f411112168820
  Author: Peter Maydell <address@hidden>
  Date:   2017-10-11 (Wed, 11 Oct 2017)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/cputlb.c
    M accel/tcg/tcg-runtime.c
    M accel/tcg/tcg-runtime.h
    M accel/tcg/translate-all.c
    M exec.c
    M include/exec/cpu-all.h
    M include/exec/cpu-defs.h
    M include/exec/cputlb.h
    M include/exec/exec-all.h
    A include/exec/tb-lookup.h
    M include/qemu/osdep.h
    M target/alpha/translate.c
    M target/arm/translate-a64.c
    M target/arm/translate.c
    M target/hppa/translate.c
    M target/i386/translate.c
    M target/mips/translate.c
    M target/s390x/translate.c
    M target/sh4/translate.c
    M tcg/i386/tcg-target.inc.c
    M tcg/mips/tcg-target.inc.c
    M tcg/tcg-op.c
    M tcg/tcg-op.h
    M tcg/tcg.c
    M tcg/tcg.h
    M tcg/tci.c
    M util/Makefile.objs
    A util/pagesize.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20171010' into staging

Queued TCG patches

# gpg: Signature made Tue 10 Oct 2017 20:23:12 BST
# gpg:                using RSA key 0x64DF38E8AF7E215F
# gpg: Good signature from "Richard Henderson <address@hidden>"
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth/tags/pull-tcg-20171010:
  tcg/mips: delete commented out extern keyword.
  tcg: define TCG_HIGHWATER
  util: move qemu_real_host_page_size/mask to osdep.h
  tcg: take .helpers out of TCGContext
  tci: move tci_regs to tcg_qemu_tb_exec's stack
  exec-all: extract tb->tc_* into a separate struct tc_tb
  translate-all: define and use DEBUG_TB_CHECK_GATE
  translate-all: define and use DEBUG_TB_INVALIDATE_GATE
  exec-all: introduce TB_PAGE_ADDR_FMT
  translate-all: define and use DEBUG_TB_FLUSH_GATE
  exec-all: bring tb->invalid into tb->cflags
  tcg: consolidate TB lookups in tb_lookup__cpu_state
  tcg: remove addr argument from lookup_tb_ptr
  tcg/mips: constify tcg_target_callee_save_regs
  tcg/i386: constify tcg_target_callee_save_regs
  cpu-exec: rename have_tb_lock to acquired_tb_lock in tb_find
  translate-all: make have_tb_lock static
  exec-all: fix typos in TranslationBlock's documentation
  tcg: fix corruption of code_time profiling counter upon tb_flush
  cputlb: bring back tlb_flush_count under !TLB_DEBUG

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/567d0a19c799...e74c0cfa5732

reply via email to

[Prev in Thread] Current Thread [Next in Thread]