Arnabjyoti Kalita <akal...@cs.stonybrook.edu> writes:
> Hello all, > > I have a requirement to use the single-threaded implementation of > multi-core emulation in TCG. This schedules the multiple cores in a > round robin fashion from what I understand, at the end of a set timer > interval. --accel tcg,thread=single will force the round robin scheduling you need. > I want to make a modification to this approach. I would like to > schedule the vCPUs in a round-robin fashion but at the end of every > Translation Block (TB)'s execution. So, instead of having a timer to > switch the vCPU, I would like to forcefully switch the vCPU when a > translation block has been executed. as a gross hack you can run with -d nochain and then ensure cpu_tb_exec does the equivalent of rr_kick_next_cpu after you execute the block. However before you go down this route I do have to ask why? What is it you are trying to achieve with this running mode? > What would be the best way to implement this approach? Do I need to > raise an interrupt at the end of the execution of every TB ? Where in > code should I start making changes ? I do not want the functionality > of the original TCG execution driver to change. > > Best Regards, > Arnabjyoti Kalita -- Alex Bennée