General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
This commit is contained in:
parent
e6f8bde74b
commit
7020d498c5
11 changed files with 87 additions and 13 deletions
|
@ -118,9 +118,11 @@ void CpuManager::MultiCoreRunGuestLoop() {
|
|||
host_context.reset();
|
||||
while (true) {
|
||||
auto& physical_core = kernel.CurrentPhysicalCore();
|
||||
system.EnterDynarmicProfile();
|
||||
while (!physical_core.IsInterrupted()) {
|
||||
physical_core.Run();
|
||||
}
|
||||
system.ExitDynarmicProfile();
|
||||
physical_core.ClearExclusive();
|
||||
auto& scheduler = physical_core.Scheduler();
|
||||
scheduler.TryDoContextSwitch();
|
||||
|
@ -216,6 +218,7 @@ void CpuManager::SingleCoreRunGuestLoop() {
|
|||
host_context.reset();
|
||||
while (true) {
|
||||
auto& physical_core = kernel.CurrentPhysicalCore();
|
||||
system.EnterDynarmicProfile();
|
||||
while (!physical_core.IsInterrupted()) {
|
||||
physical_core.Run();
|
||||
preemption_count++;
|
||||
|
@ -224,6 +227,7 @@ void CpuManager::SingleCoreRunGuestLoop() {
|
|||
}
|
||||
}
|
||||
physical_core.ClearExclusive();
|
||||
system.ExitDynarmicProfile();
|
||||
PreemptSingleCore();
|
||||
auto& scheduler = kernel.Scheduler(current_core);
|
||||
scheduler.TryDoContextSwitch();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue