Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-12-06 Thread Valentin Schneider
Hi Steve, On 06/12/2018 16:40, Steven Sistare wrote: > [...] >> >> Ah yes, that would work. Thing is, I had excluded having the misfit masks >> being in the sd_llc_shareds, since from a logical standpoint they don't >> really belong there. >> >> With asymmetric CPU capacities we kind of disregard

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-12-06 Thread Valentin Schneider
Hi Steve, On 06/12/2018 16:40, Steven Sistare wrote: > [...] >> >> Ah yes, that would work. Thing is, I had excluded having the misfit masks >> being in the sd_llc_shareds, since from a logical standpoint they don't >> really belong there. >> >> With asymmetric CPU capacities we kind of disregard

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-12-06 Thread Steven Sistare
On 12/3/2018 11:56 AM, Valentin Schneider wrote: > Hi Steve, > On 26/11/2018 19:06, Steven Sistare wrote: >> [...] >>> Mmm I was thinking we could abuse the wrap() and start at >>> (fls(prev_span) + 1), but we're not guaranteed to have contiguous spans - >>> the Arm Juno for instance has [0, 3,

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-12-06 Thread Steven Sistare
On 12/3/2018 11:56 AM, Valentin Schneider wrote: > Hi Steve, > On 26/11/2018 19:06, Steven Sistare wrote: >> [...] >>> Mmm I was thinking we could abuse the wrap() and start at >>> (fls(prev_span) + 1), but we're not guaranteed to have contiguous spans - >>> the Arm Juno for instance has [0, 3,

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-12-03 Thread Valentin Schneider
Hi Steve, On 26/11/2018 19:06, Steven Sistare wrote: > [...] >> Mmm I was thinking we could abuse the wrap() and start at >> (fls(prev_span) + 1), but we're not guaranteed to have contiguous spans - >> the Arm Juno for instance has [0, 3, 4], [1, 2] as MC-level domains, so >> that goes down the

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-12-03 Thread Valentin Schneider
Hi Steve, On 26/11/2018 19:06, Steven Sistare wrote: > [...] >> Mmm I was thinking we could abuse the wrap() and start at >> (fls(prev_span) + 1), but we're not guaranteed to have contiguous spans - >> the Arm Juno for instance has [0, 3, 4], [1, 2] as MC-level domains, so >> that goes down the

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-26 Thread Steven Sistare
On 11/20/2018 7:42 AM, Valentin Schneider wrote: > On 19/11/2018 17:33, Steven Sistare wrote: > [...] >>> >>> Thinking about misfit stealing, we can't use the sd_llc_shared's because >>> on big.LITTLE misfit migrations happen across LLC domains. >>> >>> I was thinking of adding a misfit sparsemask

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-26 Thread Steven Sistare
On 11/20/2018 7:42 AM, Valentin Schneider wrote: > On 19/11/2018 17:33, Steven Sistare wrote: > [...] >>> >>> Thinking about misfit stealing, we can't use the sd_llc_shared's because >>> on big.LITTLE misfit migrations happen across LLC domains. >>> >>> I was thinking of adding a misfit sparsemask

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-20 Thread Valentin Schneider
On 19/11/2018 17:32, Steven Sistare wrote: > On 11/9/2018 12:38 PM, Valentin Schneider wrote: >> Hi Steve, >> >> On 09/11/2018 12:50, Steve Sistare wrote: >> [...] >>> @@ -482,6 +484,10 @@ static void update_top_cache_domain(int cpu) >>> dirty_sched_domain_sysctl(cpu); >>>

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-20 Thread Valentin Schneider
On 19/11/2018 17:32, Steven Sistare wrote: > On 11/9/2018 12:38 PM, Valentin Schneider wrote: >> Hi Steve, >> >> On 09/11/2018 12:50, Steve Sistare wrote: >> [...] >>> @@ -482,6 +484,10 @@ static void update_top_cache_domain(int cpu) >>> dirty_sched_domain_sysctl(cpu); >>>

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-20 Thread Valentin Schneider
On 19/11/2018 17:33, Steven Sistare wrote: [...] >> >> Thinking about misfit stealing, we can't use the sd_llc_shared's because >> on big.LITTLE misfit migrations happen across LLC domains. >> >> I was thinking of adding a misfit sparsemask to the root_domain, but >> then I thought we could do the

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-20 Thread Valentin Schneider
On 19/11/2018 17:33, Steven Sistare wrote: [...] >> >> Thinking about misfit stealing, we can't use the sd_llc_shared's because >> on big.LITTLE misfit migrations happen across LLC domains. >> >> I was thinking of adding a misfit sparsemask to the root_domain, but >> then I thought we could do the

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-19 Thread Steven Sistare
On 11/12/2018 11:42 AM, Valentin Schneider wrote: > Hi Steve, > > On 09/11/2018 12:50, Steve Sistare wrote: >> From: Steve Sistare >> >> Define and initialize a sparse bitmap of overloaded CPUs, per >> last-level-cache scheduling domain, for use by the CFS scheduling class. >> Save a pointer to

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-19 Thread Steven Sistare
On 11/12/2018 11:42 AM, Valentin Schneider wrote: > Hi Steve, > > On 09/11/2018 12:50, Steve Sistare wrote: >> From: Steve Sistare >> >> Define and initialize a sparse bitmap of overloaded CPUs, per >> last-level-cache scheduling domain, for use by the CFS scheduling class. >> Save a pointer to

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-19 Thread Steven Sistare
On 11/9/2018 12:38 PM, Valentin Schneider wrote: > Hi Steve, > > On 09/11/2018 12:50, Steve Sistare wrote: > [...] >> @@ -482,6 +484,10 @@ static void update_top_cache_domain(int cpu) >> dirty_sched_domain_sysctl(cpu); >> destroy_sched_domains(tmp); >> >> +sd =

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-19 Thread Steven Sistare
On 11/9/2018 12:38 PM, Valentin Schneider wrote: > Hi Steve, > > On 09/11/2018 12:50, Steve Sistare wrote: > [...] >> @@ -482,6 +484,10 @@ static void update_top_cache_domain(int cpu) >> dirty_sched_domain_sysctl(cpu); >> destroy_sched_domains(tmp); >> >> +sd =

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-12 Thread Valentin Schneider
Hi Steve, On 09/11/2018 12:50, Steve Sistare wrote: > From: Steve Sistare > > Define and initialize a sparse bitmap of overloaded CPUs, per > last-level-cache scheduling domain, for use by the CFS scheduling class. > Save a pointer to cfs_overload_cpus in the rq for efficient access. > >

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-12 Thread Valentin Schneider
Hi Steve, On 09/11/2018 12:50, Steve Sistare wrote: > From: Steve Sistare > > Define and initialize a sparse bitmap of overloaded CPUs, per > last-level-cache scheduling domain, for use by the CFS scheduling class. > Save a pointer to cfs_overload_cpus in the rq for efficient access. > >

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-09 Thread Valentin Schneider
Hi Steve, On 09/11/2018 12:50, Steve Sistare wrote: [...] > @@ -482,6 +484,10 @@ static void update_top_cache_domain(int cpu) > dirty_sched_domain_sysctl(cpu); > destroy_sched_domains(tmp); > > + sd = highest_flag_domain(cpu, SD_SHARE_PKG_RESOURCES); > + cfs_overload_cpus =

Re: [PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-09 Thread Valentin Schneider
Hi Steve, On 09/11/2018 12:50, Steve Sistare wrote: [...] > @@ -482,6 +484,10 @@ static void update_top_cache_domain(int cpu) > dirty_sched_domain_sysctl(cpu); > destroy_sched_domains(tmp); > > + sd = highest_flag_domain(cpu, SD_SHARE_PKG_RESOURCES); > + cfs_overload_cpus =

[PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-09 Thread Steve Sistare
From: Steve Sistare Define and initialize a sparse bitmap of overloaded CPUs, per last-level-cache scheduling domain, for use by the CFS scheduling class. Save a pointer to cfs_overload_cpus in the rq for efficient access. Signed-off-by: Steve Sistare --- include/linux/sched/topology.h | 1 +

[PATCH v3 03/10] sched/topology: Provide cfs_overload_cpus bitmap

2018-11-09 Thread Steve Sistare
From: Steve Sistare Define and initialize a sparse bitmap of overloaded CPUs, per last-level-cache scheduling domain, for use by the CFS scheduling class. Save a pointer to cfs_overload_cpus in the rq for efficient access. Signed-off-by: Steve Sistare --- include/linux/sched/topology.h | 1 +