Messages in this thread | | | Date | Tue, 6 Feb 2024 18:17:22 +0100 | Subject | Re: [PATCH v4 1/2] sched/fair: Check a task has a fitting cpu when updating misfit | From | Dietmar Eggemann <> |
| |
On 06/02/2024 16:06, Qais Yousef wrote: > On 02/05/24 20:49, Dietmar Eggemann wrote: >> On 26/01/2024 02:46, Qais Yousef wrote: >>> On 01/25/24 18:40, Vincent Guittot wrote: >>>> On Wed, 24 Jan 2024 at 23:30, Qais Yousef <qyousef@layalina.io> wrote: >>>>> >>>>> On 01/23/24 09:26, Vincent Guittot wrote: >>>>>> On Fri, 5 Jan 2024 at 23:20, Qais Yousef <qyousef@layalina.io> wrote: >>>>>>> >>>>>>> From: Qais Yousef <qais.yousef@arm.com>
[...]
>>> It seems we flatten topologies but not sched domains. I see all cpus shown as >>> core_siblings. The DT for apple silicon sets clusters in the cpu-map - which >>> seems the flatten topology stuff detect LLC correctly but still keeps the >>> sched-domains not flattened. Is this a bug? I thought we will end up with one >>> sched domain still. >> >> IMHO, if you have a cpu_map entry with > 1 cluster in your dtb, you end >> up with MC and PKG (former DIE) Sched Domain (SD) level. And misfit load > > Hmm, okay. I thought the detection of topology where we know the LLC is shared > will cause the sched domains to collapse too. > >> balance takes potentially longer on PKG than to MC. > > Why potentially longer? We iterate through the domains the CPU belong to. If > the first iteration (at MC) pulled something, then once we go to PKG then we're > less likely to pull again?
There are a couple of mechanisms in place to let load-balance on higher sd levels happen less frequently, eg:
load_balance() -> should_we_balance() + continue_balancing
interval = get_sd_balance_interval(sd, busy) in rebalance_domains()
rq->avg_idle versus sd->max_newidle_lb_cost
> Anyway. I think I am hitting a bug here. The behavior doesn't look right to me > given the delays I'm seeing and the fact we do the ilb but for some reason fail > to pull
[...]
| |