qemu-devel
[Top][All Lists]
Advanced

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

Question about direct block chaining


From: Taylor Simpson
Subject: Question about direct block chaining
Date: Mon, 18 Apr 2022 14:54:46 +0000

I've been working on speeding up the Hexagon target by using direct block 
chaining.  Due to Hexagon's VLIW packet semantics (possibly multiple branches 
in a packet, not processing change-of-flow until packet commit), we have 
historically treated all change-of-flow as indirect.

I looked at the documentation here
https://qemu.readthedocs.io/en/latest/devel/tcg.html#direct-block-chaining

I implemented both approaches for inner loops and didn't see speedup in my 
benchmark.  So, I have a couple of questions
1) What are the pros and cons of the two approaches (lookup_and_goto_ptr and 
goto_tb + exit_tb)?
2) How can I verify that direct block chaining is working properly?
      With -d exec, I see lines like the following with goto_tb + exit_tb but 
NOT lookup_and_goto_ptr
      Linking TBs 0x7fda44172e00 [0050ac38] index 1 -> 0x7fda44173b40 [0050ac6c]

Thanks,
Taylor




reply via email to

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