On Sun, 2018-03-25 at 23:34 +0200, Rafael J. Wysocki wrote: > On Sunday, March 25, 2018 10:15:52 PM CEST Rik van Riel wrote: > > > > I plan to try two more things: > > > > 1) Disable polling on SMT systems, with > > the idea that putting one thread to > > sleep with monitor/mwait in C1 will > > allow the other thread to run faster. > > Sounds plausible.
Plausible, but wrong. Tests showed that CPU use during the peak load of this test increased from about 71% to about 78% with this change, or just under 10% increase relative to the baseline. Coincidentally, that is the same CPU use increase I have seen with the poll_idle() changes. Not sure if that means anything... > > 2) Insert more cpu_relax() calls into the > > main loop, so the CPU core spends more > > of its time in cpu_relax() and less > > time doing other things: > > Well, maybe it's a matter of doing cpu_relax() between any other bits > of > significant computation in there: I tried that, as well, and some other variations. Every single change to poll_idle() that I tried seems to result in a 9-10% relative increase in CPU use during the peak load of the test. During the busiest parts of the load, every CPU sees on the order of 20k context switches a second. kind regards, Rik -- All Rights Reversed.
signature.asc
Description: This is a digitally signed message part