Using Dolphin under linux causes massive performance problems when Hyper-Threading is activated.
I have tested latest dolphin build under (Ubuntu 14.04) with i7-4770k and enabled Hyper-Threading.
The problem here is that the Linux scheduler sometimes assign both dolphin threads to two logical CPU cores which share same physical_id.
As you can see in the attached pictures CPU2 and CPU6 (which are on the same physical core) are both at 100%.
This causes a frame rate drop of ~40% until the assignment changes.
The issue can be fixed by either forcing the task to run on cores with different physical_id or deactivating Hyper-Threading.
I tried to find out why this happens because the linux scheduler should normally be aware of SMT and should avoid those situations!?
Maybe we should let dolphin lock its threads to predefined cores to get around this problem?
I have tested latest dolphin build under (Ubuntu 14.04) with i7-4770k and enabled Hyper-Threading.
The problem here is that the Linux scheduler sometimes assign both dolphin threads to two logical CPU cores which share same physical_id.
As you can see in the attached pictures CPU2 and CPU6 (which are on the same physical core) are both at 100%.
This causes a frame rate drop of ~40% until the assignment changes.
The issue can be fixed by either forcing the task to run on cores with different physical_id or deactivating Hyper-Threading.
I tried to find out why this happens because the linux scheduler should normally be aware of SMT and should avoid those situations!?
Maybe we should let dolphin lock its threads to predefined cores to get around this problem?