Messages in this thread | | | Date | Mon, 26 Apr 2021 16:09:40 +0530 | From | Srikar Dronamraju <> | Subject | Re: [PATCH 00/10] sched/fair: wake_affine improvements |
| |
* Mel Gorman <mgorman@techsingularity.net> [2021-04-23 09:25:32]:
> On Thu, Apr 22, 2021 at 03:53:16PM +0530, Srikar Dronamraju wrote: > > Recently we found that some of the benchmark numbers on Power10 were lesser > > than expected. Some analysis showed that the problem lies in the fact that > > L2-Cache on Power10 is at core level i.e only 4 threads share the L2-cache. > > > > I didn't get the chance to review this properly although I am suspicious > of tracking idle_core and updating that more frequently. It becomes a very > hot cache line that bounces. I did experiement with tracking an idle core > but the data either went stale too quickly or the updates incurred more > overhead than a reduced search saved. >
This change does increase the number of times we read the idle-core. There are also more places where we try to update the idle-core. However I feel the number of times, we actually update the idle-core now will be much lesser than previous, because we are mostly doing a conditional update. i.e we are updating the idle-core only if the waking up CPU happens to be part of our core.
Also if the system is mostly lightly loaded, we check for available_idle_cpu, so we may not look for an idle-core. If the system is running a CPU intensive task, then the idle-core will most likely to be -1. Its only the cases where the system utilization keeps swinging between lightly loaded to heavy load, that we would end up checking and setting idle-core.
Do let me know your thoughts.
-- Thanks and Regards Srikar Dronamraju
| |