Re: Question about the ipi_raise filter usage and output

2024-02-06 Thread Valentin Schneider
On 06/02/24 16:42, richard clark wrote: > On Tue, Feb 6, 2024 at 12:05 AM Valentin Schneider > wrote: >> >> The CPUS{} thingie only works with an event field that is either declared as >> a >> cpumask (__cpumask) or a scalar. That's not the case for ipi_raise,

Re: Question about the ipi_raise filter usage and output

2024-02-05 Thread Valentin Schneider
On 05/02/24 14:39, Mark Rutland wrote: > [adding Valentin] > Thanks! > On Mon, Feb 05, 2024 at 08:06:09AM -0500, Steven Rostedt wrote: >> On Mon, 5 Feb 2024 10:28:57 + >> Mark Rutland wrote: >> >> > > I try to write below: >> > > echo 'target_cpus == 11 && reason == "Function call

Re: [syzbot] WARNING in kthread_is_per_cpu

2021-04-20 Thread Valentin Schneider
On 20/04/21 12:11, Peter Zijlstra wrote: > On Tue, Apr 20, 2021 at 10:43:43AM +0100, Valentin Schneider wrote: >> On 20/04/21 10:51, Peter Zijlstra wrote: > >> > I think free_kthread_struct() is ok, because a task at that point in its >> > lifetime cannot be also

Re: [syzbot] WARNING in kthread_is_per_cpu

2021-04-20 Thread Valentin Schneider
On 20/04/21 10:51, Peter Zijlstra wrote: > On Mon, Apr 19, 2021 at 08:58:26PM +0100, Valentin Schneider wrote: > >> Looks about right, IIUC the key being: >> >> p->flags & PF_KTHREAD + p->set_child_tid => the struct kthread is >> persistent >

Re: [syzbot] WARNING in kthread_is_per_cpu

2021-04-19 Thread Valentin Schneider
On 19/04/21 20:45, Peter Zijlstra wrote: > On Mon, Apr 19, 2021 at 12:31:22PM +0100, Valentin Schneider wrote: > >> if ((p->flags & PF_KTHREAD) && kthread_is_per_cpu(p)) >> `\ >>

Re: [PATCH 2/2] sched/fair: Relax task_hot() for misfit tasks

2021-04-19 Thread Valentin Schneider
On 19/04/21 08:59, Phil Auld wrote: > On Fri, Apr 16, 2021 at 10:43:38AM +0100 Valentin Schneider wrote: >> On 15/04/21 16:39, Rik van Riel wrote: >> > On Thu, 2021-04-15 at 18:58 +0100, Valentin Schneider wrote: >> >> @@ -7672,6 +7698,15 @@ int can_migrate_task(struc

Re: [PATCH 2/2] sched/fair: Relax task_hot() for misfit tasks

2021-04-19 Thread Valentin Schneider
On 16/04/21 15:51, Vincent Guittot wrote: > Le jeudi 15 avril 2021 � 18:58:46 (+0100), Valentin Schneider a �crit : >> + >> +/* >> + * What does migrating this task do to our capacity-aware scheduling >> criterion? >> + * >> + * Returns 1, if the task n

Re: [PATCH 1/2] sched/fair: Filter out locally-unsolvable misfit imbalances

2021-04-19 Thread Valentin Schneider
On 16/04/21 15:29, Vincent Guittot wrote: > On Thu, 15 Apr 2021 at 19:58, Valentin Schneider > wrote: >> @@ -9441,8 +9465,8 @@ static struct rq *find_busiest_queue(struct lb_env >> *env, >> * average load. >> */ >>

Re: [syzbot] WARNING in kthread_is_per_cpu

2021-04-19 Thread Valentin Schneider
On 19/04/21 03:36, syzbot wrote: > Hello, > > syzbot found the following issue on: > > HEAD commit:1216f02e Add linux-next specific files for 20210415 > git tree: linux-next > console output: https://syzkaller.appspot.com/x/log.txt?x=1032ba29d0 > kernel config:

Re: [PATCH] sched,fair: skip newidle_balance if a wakeup is pending

2021-04-19 Thread Valentin Schneider
On 18/04/21 22:17, Rik van Riel wrote: > @@ -10661,7 +10669,8 @@ static int newidle_balance(struct rq *this_rq, struct > rq_flags *rf) >* Stop searching for tasks to pull if there are >* now runnable tasks on this rq. >*/ > - if

Re: [PATCH v2 0/1] arm: topology: parse the topology from the dt

2021-04-16 Thread Valentin Schneider
On 16/04/21 12:39, Dietmar Eggemann wrote: > On 16/04/2021 11:32, Valentin Schneider wrote: >> On 16/04/21 15:47, Ruifeng Zhang wrote: >>> For more requirements, if all cores in one physical cluster, the >>> {aff2} of all cores are the same value. >>> i.e. the

Re: [PATCH 2/2] sched/fair: Relax task_hot() for misfit tasks

2021-04-16 Thread Valentin Schneider
On 15/04/21 16:39, Rik van Riel wrote: > On Thu, 2021-04-15 at 18:58 +0100, Valentin Schneider wrote: >> Consider the following topology: >> >> Long story short, preempted misfit tasks are affected by task_hot(), >> while >> currently running misfit

Re: [PATCH v2 0/1] arm: topology: parse the topology from the dt

2021-04-16 Thread Valentin Schneider
On 16/04/21 15:47, Ruifeng Zhang wrote: > For more requirements, if all cores in one physical cluster, the > {aff2} of all cores are the same value. > i.e. the sc9863a, > core0: 8100 > core1: 81000100 > core2: 81000200 > core3: 81000300 > core4: 81000400

Re: [PATCH v2 1/1] arm: topology: parse the topology from the dt

2021-04-15 Thread Valentin Schneider
On 14/04/21 20:23, Ruifeng Zhang wrote: > From: Ruifeng Zhang > > The arm topology still parse from the MPIDR, but it is incomplete. When > the armv8.2 or above cpu runs kernel in EL1 with aarch32 mode, it will > parse out the wrong topology. > Per my other email, isn't the problem that MPIDR

Re: [PATCH v2 0/1] arm: topology: parse the topology from the dt

2021-04-15 Thread Valentin Schneider
On 14/04/21 20:23, Ruifeng Zhang wrote: > From: Ruifeng Zhang > > In Unisoc, the sc9863a SoC which using cortex-a55, it has two software > version, one of them is the kernel running on EL1 using aarch32. > user(EL0) kernel(EL1) > sc9863a_go aarch32

[PATCH 2/2] sched/fair: Relax task_hot() for misfit tasks

2021-04-15 Thread Valentin Schneider
-capacity CPU. Align detach_tasks() with the active-balance logic and let it pick a cache-hot misfit task when the destination CPU can provide a capacity uplift. Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 36 1 file changed, 36 insertions(+)

[PATCH 1/2] sched/fair: Filter out locally-unsolvable misfit imbalances

2021-04-15 Thread Valentin Schneider
queue() can now iterate over CPUs with a higher capacity than the local CPU's, so add a capacity check there. Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 63 - 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/kernel/sched/

[PATCH 0/2] sched/fair: (The return of) misfit task load-balance tweaks

2021-04-15 Thread Valentin Schneider
7870-1-valentin.schnei...@arm.com [2]: http://lore.kernel.org/r/20210217120854.1280-1-clingu...@codeaurora.org Cheers, Valentin Valentin Schneider (2): sched/fair: Filter out locally-unsolvable misfit imbalances sched/fair: Relax task_hot() for misfit tasks ke

Re: [PATCH 3/3] sched: Use cpu_dying() to fix balance_push vs hotplug-rollback

2021-04-15 Thread Valentin Schneider
On 15/04/21 17:29, Peter Zijlstra wrote: > On Thu, Apr 15, 2021 at 03:32:11PM +0100, Valentin Schneider wrote: >> I'd word that "is enabled below sched_cpu_activate()", since >> sched_cpu_deactivate() is now out of the picture. > > I are confused (again!). Did

Re: [PATCH 3/3] sched: Use cpu_dying() to fix balance_push vs hotplug-rollback

2021-04-15 Thread Valentin Schneider
On 15/04/21 10:59, Peter Zijlstra wrote: > Can't make sense of what I did.. I've removed that hunk. Patch now looks > like this. > Small nit below, but regardless feel free to apply to the whole lot: Reviewed-by: Valentin Schneider @VincentD, ISTR you had tested the initia

Re: [PATCH v2 7/9] sched,debug: Convert sysctl sched_domains to debugfs

2021-04-15 Thread Valentin Schneider
On 15/04/21 11:06, Peter Zijlstra wrote: > On Tue, Apr 13, 2021 at 03:55:15PM +0100, Valentin Schneider wrote: >> On 12/04/21 12:14, Peter Zijlstra wrote: >> > Stop polluting sysctl, move to debugfs for SCHED_DEBUG stuff. >> > >> > Signed-off-by: Peter Zijlstr

Re: [sched/fair] 38ac256d1c: stress-ng.vm-segv.ops_per_sec -13.8% regression

2021-04-14 Thread Valentin Schneider
lance pulls") > url: > https://github.com/0day-ci/linux/commits/Valentin-Schneider/sched-fair-load-balance-vs-capacity-margins/20210408-060830 > base: https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git > 0a2b65c03e9b47493e1442bf9c84badc60d9bffb > > in testcase: stress-ng

Re: [PATCH v2 7/9] sched,debug: Convert sysctl sched_domains to debugfs

2021-04-13 Thread Valentin Schneider
On 12/04/21 12:14, Peter Zijlstra wrote: > Stop polluting sysctl, move to debugfs for SCHED_DEBUG stuff. > > Signed-off-by: Peter Zijlstra (Intel) > Reviewed-by: Dietmar Eggemann On my Juno (2+4 big.LITTLE), sys/kernel/debug/sched/domains/ is now empty. I think that's because of

Re: [PATCH 1/1] arm: topology: parse the topology from the dt

2021-04-13 Thread Valentin Schneider
On 13/04/21 14:13, Ruifeng Zhang wrote: > Valentin Schneider 于2021年4月12日周一 下午11:33写道: >> I'm not fluent at all in armv7 (or most aarch32 compat mode stuff), but >> I couldn't find anything about MPIDR format differences: >> >> DDI 0487G.a G8.2.113 >> "

Re: [PATCH 3/3] sched: Use cpu_dying() to fix balance_push vs hotplug-rollback

2021-04-12 Thread Valentin Schneider
On 12/04/21 14:03, Peter Zijlstra wrote: > On Thu, Mar 11, 2021 at 03:13:04PM +0000, Valentin Schneider wrote: >> Peter Zijlstra writes: >> > @@ -7910,6 +7908,14 @@ int sched_cpu_deactivate(unsigned int cp >> >} >> >rq_unlock_irqrestore(rq, ); >&g

Re: [PATCH 1/1] arm: topology: parse the topology from the dt

2021-04-12 Thread Valentin Schneider
On 12/04/21 20:20, Ruifeng Zhang wrote: > There is a armv8.3 cpu which should work normally both on aarch64 and aarch32. > The MPIDR has been written to the chip register in armv8.3 format. > For example, > core0: 8000 > core1: 8100 > core2: 8200 > ... > > Its

Re: [PATCH 1/1] arm: topology: parse the topology from the dt

2021-04-12 Thread Valentin Schneider
Hi, On 12/04/21 15:08, Ruifeng Zhang wrote: > From: Ruifeng Zhang > > The arm topology still parse from the MPIDR, but it is incomplete. When > the armv8.3 cpu runs in aarch32 mode, it will parse out the wrong topology. > > armv7 (A7) mpidr is: > [11:8] [7:2] [1:0] > cluster

Re: [RFC/PATCH] powerpc/smp: Add SD_SHARE_PKG_RESOURCES flag to MC sched-domain

2021-04-12 Thread Valentin Schneider
On 12/04/21 10:37, Mel Gorman wrote: > On Mon, Apr 12, 2021 at 11:54:36AM +0530, Srikar Dronamraju wrote: >> * Gautham R. Shenoy [2021-04-02 11:07:54]: >> >> > >> > To remedy this, this patch proposes that the LLC be moved to the MC >> > level which is a group of cores in one half of the chip. >>

[tip: sched/core] sched/fair: Introduce a CPU capacity comparison helper

2021-04-09 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 4aed8aa41524a1fc6439171881c2bb7ace197528 Gitweb: https://git.kernel.org/tip/4aed8aa41524a1fc6439171881c2bb7ace197528 Author:Valentin Schneider AuthorDate:Wed, 07 Apr 2021 23:06:28 +01:00

[tip: sched/core] sched/fair: Clean up active balance nr_balance_failed trickery

2021-04-09 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 23fb06d9602b0fcfa1a16357a5d7a7f7076a39e2 Gitweb: https://git.kernel.org/tip/23fb06d9602b0fcfa1a16357a5d7a7f7076a39e2 Author:Valentin Schneider AuthorDate:Wed, 07 Apr 2021 23:06:27 +01:00

[tip: sched/core] sched/fair: Clean up active balance nr_balance_failed trickery

2021-04-09 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 03149668b42785918f362a88106094863db73b63 Gitweb: https://git.kernel.org/tip/03149668b42785918f362a88106094863db73b63 Author:Valentin Schneider AuthorDate:Wed, 07 Apr 2021 23:06:27 +01:00

[tip: sched/core] sched/fair: Introduce a CPU capacity comparison helper

2021-04-09 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 816969e4af7a56bfd284d2e0fa11511900ab93e3 Gitweb: https://git.kernel.org/tip/816969e4af7a56bfd284d2e0fa11511900ab93e3 Author:Valentin Schneider AuthorDate:Wed, 07 Apr 2021 23:06:28 +01:00

[tip: sched/core] sched/fair: Introduce a CPU capacity comparison helper

2021-04-09 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 47a861395636ff9477d0d737856f87bd86793ae5 Gitweb: https://git.kernel.org/tip/47a861395636ff9477d0d737856f87bd86793ae5 Author:Valentin Schneider AuthorDate:Wed, 07 Apr 2021 23:06:28 +01:00

[tip: sched/core] sched/fair: Clean up active balance nr_balance_failed trickery

2021-04-09 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 91771246031b9196279c8c6c2d43bbb433324eab Gitweb: https://git.kernel.org/tip/91771246031b9196279c8c6c2d43bbb433324eab Author:Valentin Schneider AuthorDate:Wed, 07 Apr 2021 23:06:27 +01:00

Re: [RFC PATCH 01/10] genirq: Add chip flag to denote automatic IRQ (un)masking

2021-04-09 Thread Valentin Schneider
Hi Jonathan, Thanks for taking a peek :) On 09/04/21 10:17, Jonathan Cameron wrote: > On Thu, 8 Apr 2021 16:43:17 +0100 > Valentin Schneider wrote: >> diff --git a/include/linux/irq.h b/include/linux/irq.h >> index bee82809107c..580b1b6b1799 100644 >> --- a/include/linu

[RFC PATCH 10/10] irqchip/gic-v3: Convert to handle_strict_flow_irq()

2021-04-08 Thread Valentin Schneider
_mask() call. Despite not having an Active state, LPIs are made to use handle_strict_flow_irq() as well. This lets them re-use gic_eoimode1_chip.irq_ack() as Priority Drop, rather than special-case them in gic_handle_irq(). EOImode=0 handling remains unchanged. Signed-off-by: Valentin Schneider

[RFC PATCH 07/10] genirq, irq-gic-v3: Make NMI flow handlers use ->irq_ack() if available

2021-04-08 Thread Valentin Schneider
Subsequent patches will make the gic-v3 irqchip use an ->irq_ack() callback. As a preparation, make the NMI flow handlers call said callback if it is available. Since this departs from the fasteoi scheme of only issuing a suffix ->eoi(), rename the NMI flow handlers. Signed-off-by: Va

[RFC PATCH 08/10] irqchip/gic-v3-its: Use irq_chip_ack_parent()

2021-04-08 Thread Valentin Schneider
MSI and fMSI ? Signed-off-by: Valentin Schneider --- drivers/irqchip/irq-gic-v3-its-pci-msi.c | 1 + drivers/irqchip/irq-gic-v3-its.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/irqchip/irq-gic-v3-its-pci-msi.c b/drivers/irqchip/irq-gic-v3-its-pci-msi.c index

[RFC PATCH 09/10] irqchip/gic: Convert to handle_strict_flow_irq()

2021-04-08 Thread Valentin Schneider
_mask() call. EOImode=0 handling remains unchanged. Signed-off-by: Valentin Schneider --- drivers/irqchip/irq-gic.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index b1d9c22caf2e..4919478c3e41 100644 -

[RFC PATCH 05/10] genirq: Let purely flow-masked ONESHOT irqs through unmask_threaded_irq()

2021-04-08 Thread Valentin Schneider
A subsequent patch will let IRQs end up in irq_finalize_oneshot() without IRQD_IRQ_MASKED, but with IRQD_IRQ_FLOW_MASKED set instead. Let such IRQs receive their final ->irq_eoi(). Signed-off-by: Valentin Schneider --- kernel/irq/manage.c | 2 +- 1 file changed, 1 insertion(+), 1 delet

[RFC PATCH 06/10] genirq: Don't mask IRQ within flow handler if IRQ is flow-masked

2021-04-08 Thread Valentin Schneider
IRQ and are bounded by a final eoi_irq() - this is the case for chips with IRQCHIP_AUTOMASKS_FLOW and IRQCHIP_EOI_THREADED. Make handle_strict_flow_irq() leverage IRQCHIP_AUTOMASKS_FLOW and issue an ack_irq() rather than a mask_ack_irq() when possible. Signed-off-by: Valentin Schneider --- kernel/irq/chi

[RFC PATCH 04/10] genirq: Add handle_strict_flow_irq() flow handler

2021-04-08 Thread Valentin Schneider
ollowed by a single ->irq_eoi(). No more, no less, and in that order. Introduce a new flow handler which guarantees said ack / eoi pairing. Note that it is strikingly similar to handle_fasteoi_mask_irq() for now, but will be further modified in later patches Signed-off-by: Valentin Schneider --

[RFC PATCH 03/10] genirq: Employ ack_irq() and eoi_irq() where relevant

2021-04-08 Thread Valentin Schneider
nality. Signed-off-by: Valentin Schneider --- kernel/irq/chip.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 046b4486c88c..936ef247b13d 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -429,10 +429,12 @@ static

[RFC PATCH 01/10] genirq: Add chip flag to denote automatic IRQ (un)masking

2021-04-08 Thread Valentin Schneider
FLOW, to denote chips with such behaviour. Add a new IRQ data flag, IRQD_IRQ_FLOW_MASKED, to keep this flow-induced mask state separate from regular mask / unmask operations (IRQD_IRQ_MASKED). Signed-off-by: Valentin Schneider --- include/linux/irq.h| 10 ++ kernel/irq/chip.c |

[RFC PATCH 02/10] genirq: Define irq_ack() and irq_eoi() helpers

2021-04-08 Thread Valentin Schneider
The newly-added IRQCHIP_AUTOMASKS_FLOW flag requires some additional bookkeeping around chip->{irq_ack, irq_eoi}() calls. Define wrappers around those chip callbacks to drive the IRQD_IRQ_FLOW_MASKED state of an IRQ when the chip has the IRQCHIP_AUTOMASKS_FLOW flag. Signed-off-by: Valen

[RFC PATCH 00/10] irqchip/irq-gic: Optimize masking by leveraging EOImode=1

2021-04-08 Thread Valentin Schneider
rtunately). I'm still looking for something I can benchmark on the eMAG to get some GICv3 results. Links = [1]: https://lore.kernel.org/lkml/1414235215-10468-1-git-send-email-marc.zyng...@arm.com/ Valentin Schneider (10): genirq: Add chip flag to denote automatic IRQ (un)masking gen

[PATCH v5 3/3] sched/fair: Introduce a CPU capacity comparison helper

2021-04-07 Thread Valentin Schneider
own env->dst_cpu, whose capacity can be anywhere within the local group's capacity extrema. While at it, replace group_smaller_{min, max}_cpu_capacity() with comparisons of the source group's min/max capacity and the destination CPU's capacity. Signed-off-by: Valentin Schneider Reviewed-by: Qa

[PATCH v5 2/3] sched/fair: Clean up active balance nr_balance_failed trickery

2021-04-07 Thread Valentin Schneider
ancing, and use it in can_migrate_task(). Remove the sd->nr_balance_failed write that served the same purpose. Cleanup the LBF_DST_PINNED active balance special case. Signed-off-by: Valentin Schneider Reviewed-by: Vincent Guittot Reviewed-by: Dietmar Eggemann --- kernel/sched/fa

[PATCH v5 1/3] sched/fair: Ignore percpu threads for imbalance pulls

2021-04-07 Thread Valentin Schneider
ly to face similar issues. Signed-off-by: Lingutla Chandrasekhar [Use kthread_is_per_cpu() rather than p->nr_cpus_allowed] [Reword changelog] Signed-off-by: Valentin Schneider Reviewed-by: Vincent Guittot Reviewed-by: Dietmar Eggemann --- kernel/sched/fair.c | 4 1 file changed,

[PATCH v5 0/3] sched/fair: load-balance vs capacity margins

2021-04-07 Thread Valentin Schneider
[2]: http://lore.kernel.org/r/20210217120854.1280-1-clingu...@codeaurora.org [3]: http://lore.kernel.org/r/20210223023004.GB25487@xsang-OptiPlex-9020 Cheers, Valentin Lingutla Chandrasekhar (1): sched/fair: Ignore percpu threads for imbalance pulls Valentin Schneider (2): sched/fair: Clean

Re: [PATCH 4/9] sched: Move SCHED_DEBUG to debugfs

2021-04-07 Thread Valentin Schneider
On 07/04/21 14:26, Peter Zijlstra wrote: > On Wed, Apr 07, 2021 at 11:46:43AM +0100, Valentin Schneider wrote: >> I can't find the threads in a hurry, but ISTR justifications for keeping >> this around were: >> - Most distros have CONFIG_SCHED_DEBUG=y because knobs and ponie

Re: [PATCH 4/9] sched: Move SCHED_DEBUG to debugfs

2021-04-07 Thread Valentin Schneider
On 26/03/21 11:33, Peter Zijlstra wrote: > __read_mostly bool sched_debug_enabled; > > +struct dentry *debugfs_sched; > + > static __init int sched_init_debug(void) > { > - debugfs_create_file("sched_features", 0644, NULL, NULL, > - _feat_fops); > + struct dentry

Re: [PATCH 7/9] sched,debug: Convert sysctl sched_domains to debugfs

2021-04-07 Thread Valentin Schneider
On 26/03/21 11:33, Peter Zijlstra wrote: > Stop polluting sysctl, move to debugfs for SCHED_DEBUG stuff. > > Signed-off-by: Peter Zijlstra (Intel) > --- > kernel/sched/debug.c| 255 > ++-- > kernel/sched/sched.h|2 >

Re: [PATCH v4 3/3] sched/fair: Introduce a CPU capacity comparison helper

2021-04-06 Thread Valentin Schneider
On 06/04/21 17:37, Dietmar Eggemann wrote: > On 01/04/2021 21:30, Valentin Schneider wrote: >> While at it, replace group_smaller_{min, max}_cpu_capacity() with >> comparisons of the source group's min/max capacity and the destination >> CPU's capacity. > > IMHO, yo

Re: [PATCH v4 1/3] sched/fair: Ignore percpu threads for imbalance pulls

2021-04-06 Thread Valentin Schneider
On 06/04/21 17:35, Dietmar Eggemann wrote: > On 01/04/2021 21:30, Valentin Schneider wrote: >> From: Lingutla Chandrasekhar >> >> During load balance, LBF_SOME_PINNED will bet set if any candidate task > > nitpick; s/bet/be ? > Yes indeed... > [...] > > Reviewed-by: Dietmar Eggemann

[PATCH v4 1/3] sched/fair: Ignore percpu threads for imbalance pulls

2021-04-01 Thread Valentin Schneider
ly to face similar issues. Signed-off-by: Lingutla Chandrasekhar [Use kthread_is_per_cpu() rather than p->nr_cpus_allowed] [Reword changelog] Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 4 1 file changed, 4 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sch

[PATCH v4 2/3] sched/fair: Clean up active balance nr_balance_failed trickery

2021-04-01 Thread Valentin Schneider
ancing, and use it in can_migrate_task(). Remove the sd->nr_balance_failed write that served the same purpose. Cleanup the LBF_DST_PINNED active balance special case. Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 31 +++ 1 file changed, 15 insertio

[PATCH v4 0/3] sched/fair: load-balance vs capacity margins

2021-04-01 Thread Valentin Schneider
la Chandrasekhar (1): sched/fair: Ignore percpu threads for imbalance pulls Valentin Schneider (2): sched/fair: Clean up active balance nr_balance_failed trickery sched/fair: Introduce a CPU capacity comparison helper kernel/sched/fair.c | 68 +++-

[PATCH v4 3/3] sched/fair: Introduce a CPU capacity comparison helper

2021-04-01 Thread Valentin Schneider
-by: Qais Yousef Tested-by: Lingutla Chandrasekhar Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 33 ++--- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index d8077f82a380..c9c5c2697998 100644 --

Re: [PATCH v3 6/7] sched/fair: Filter out locally-unsolvable misfit imbalances

2021-03-23 Thread Valentin Schneider
On 19/03/21 16:19, Vincent Guittot wrote: > On Mon, 15 Mar 2021 at 20:18, Valentin Schneider > wrote: >> As stated the current behaviour is to classify groups as group_misfit_task >> regardless of the dst_cpu's capacity. When we see a group_misfit_task >> candidate group

[tip: sched/core] stop_machine: Add caller debug info to queue_stop_cpus_work

2021-03-23 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 2a2f80ff63bc36a874ed569bcaef932a8fe43514 Gitweb: https://git.kernel.org/tip/2a2f80ff63bc36a874ed569bcaef932a8fe43514 Author:Valentin Schneider AuthorDate:Thu, 10 Dec 2020 16:38:29

[PATCH] ia64: Ensure proper NUMA distance and possible map initialization

2021-03-18 Thread Valentin Schneider
John Paul Adrian Glaubitz Signed-off-by: Valentin Schneider --- This might need an earlier Fixes: tag, but all of this is quite old and dusty (the git blame rabbit hole leads me to ~2008/2007) Alternatively, can we deprecate ia64 already? --- arch/ia64/kernel/acpi.c | 7 +-- 1 file changed,

Re: [PATCH 0/1] sched/topology: NUMA distance deduplication

2021-03-18 Thread Valentin Schneider
On 18/03/21 11:28, John Paul Adrian Glaubitz wrote: > Hello! > > On 3/18/21 12:26 AM, John Paul Adrian Glaubitz wrote: >>> b) do anything? >> >> It fixes the problem for me. > > Here are the kernel messages with your patch applied: > Thanks for testing! I'll turn that into a proper patch and

Re: [PATCH 0/1] sched/topology: NUMA distance deduplication

2021-03-17 Thread Valentin Schneider
On 17/03/21 20:04, Valentin Schneider wrote: > Technically it *is* coping with it, it's just dumping the entire NUMA > distance matrix in the process... Let me see if I can't figure out why your > system doesn't end up with nr_node_ids=1. > Does the below a) compile b) do anything?

Re: [PATCH 0/1] sched/topology: NUMA distance deduplication

2021-03-17 Thread Valentin Schneider
On 17/03/21 20:47, John Paul Adrian Glaubitz wrote: > Helo Valentin! > > On 3/17/21 8:36 PM, Valentin Schneider wrote: >> I see ACPI in your boot logs, so I'm guessing you have a bogus SLIT table >> (the ACPI table with node distances). You should be able to double check &

Re: [PATCH 0/1] sched/topology: NUMA distance deduplication

2021-03-17 Thread Valentin Schneider
Hi, On 17/03/21 20:04, John Paul Adrian Glaubitz wrote: > Hi Valentin! > >> As pointed out by Barry in [1], there are topologies out there that struggle >> to >> go through the NUMA distance deduplicating sort. Included patch is something >> I wrote back when I started untangling this distance

Re: [PATCH v3 1/7] sched/fair: Ignore percpu threads for imbalance pulls

2021-03-16 Thread Valentin Schneider
On 16/03/21 16:49, Dietmar Eggemann wrote: > On 11/03/2021 13:05, Valentin Schneider wrote: >> From: Lingutla Chandrasekhar >> >> In load balancing, when balancing group is unable to pull task >> due to ->cpus_ptr constraints from busy group, then it sets >

Re: [PATCH v3 4/7] sched/fair: Introduce a CPU capacity comparison helper

2021-03-15 Thread Valentin Schneider
On 15/03/21 15:24, Vincent Guittot wrote: >> @@ -113,6 +113,13 @@ int __weak arch_asym_cpu_priority(int cpu) >> */ >> #define fits_capacity(cap, max)((cap) * 1280 < (max) * 1024) >> >> +/* >> + * The margin used when comparing CPU capacities. >> + * is 'cap1' noticeably greater than

Re: [PATCH v3 3/7] sched/fair: Add more sched_asym_cpucapacity static branch checks

2021-03-15 Thread Valentin Schneider
Hi Vincent, Thanks for taking another look at this. On 15/03/21 15:18, Vincent Guittot wrote: > On Thu, 11 Mar 2021 at 13:05, Valentin Schneider > wrote: >> >> Rik noted a while back that a handful of >> >> sd->flags & SD_ASYM_CPUCAPACITY >> >&

Re: [PATCH v3 6/7] sched/fair: Filter out locally-unsolvable misfit imbalances

2021-03-15 Thread Valentin Schneider
On 15/03/21 16:13, Vincent Guittot wrote: > On Thu, 11 Mar 2021 at 13:05, Valentin Schneider > wrote: >> >> Consider the following (hypothetical) asymmetric CPU capacity topology, >> with some amount of capacity pressure (RT | DL | IRQ | thermal): >>

Re: [PATCH 3/3] sched: Use cpu_dying() to fix balance_push vs hotplug-rollback

2021-03-11 Thread Valentin Schneider
Peter Zijlstra writes: > @@ -7883,14 +7889,6 @@ int sched_cpu_deactivate(unsigned int cp > set_cpu_active(cpu, false); > > /* > - * From this point forward, this CPU will refuse to run any task that > - * is not: migrate_disable() or KTHREAD_IS_PER_CPU, and will actively >

[PATCH v3 7/7] sched/fair: Relax task_hot() for misfit tasks

2021-03-11 Thread Valentin Schneider
-capacity CPU. Align detach_tasks() with the active-balance logic and let it pick a cache-hot misfit task when the destination CPU can provide a capacity uplift. Reviewed-by: Qais Yousef Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 11 +++ 1 file changed, 11 insertions(+)

[PATCH v3 5/7] sched/fair: Employ capacity_greater() throughout load_balance()

2021-03-11 Thread Valentin Schneider
While at it, replace group_smaller_{min, max}_cpu_capacity() with comparisons of the source group's min/max capacity and the destination CPU's capacity. Reviewed-by: Qais Yousef Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 33 - 1 file changed, 4

[PATCH v3 4/7] sched/fair: Introduce a CPU capacity comparison helper

2021-03-11 Thread Valentin Schneider
task utilization have different dynamics, a sensible approach here would be to add a new helper dedicated to comparing CPU capacities. Reviewed-by: Qais Yousef Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/kernel/sched/fair.

[PATCH v3 2/7] sched/fair: Clean up active balance nr_balance_failed trickery

2021-03-11 Thread Valentin Schneider
ancing, and use it in can_migrate_task(). Remove the sd->nr_balance_failed write that served the same purpose. Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fai

[PATCH v3 6/7] sched/fair: Filter out locally-unsolvable misfit imbalances

2021-03-11 Thread Valentin Schneider
y CPU (which is the current behaviour and prevents down-migration). Since find_busiest_queue() can now iterate over CPUs with a higher capacity than the local CPU's, add a capacity check there. Reviewed-by: Qais Yousef Signed-off-by: Valentin Schneider --- kernel/sched

[PATCH v3 3/7] sched/fair: Add more sched_asym_cpucapacity static branch checks

2021-03-11 Thread Valentin Schneider
per doesn't change code size in all but one spot. It also gives us a place to document the differences between checking the static key and checking the SD flag. Suggested-by: Rik van Riel Reviewed-by: Qais Yousef Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 21 --

[PATCH v3 0/7] sched/fair: misfit task load-balance tweaks

2021-03-11 Thread Valentin Schneider
sis.readthedocs.io/en/master/kernel_tests.html#lisa.tests.scheduler.misfit.StaggeredFinishes [2]: http://lore.kernel.org/r/20210217120854.1280-1-clingu...@codeaurora.org [3]: http://lore.kernel.org/r/20210223023004.GB25487@xsang-OptiPlex-9020 Cheers, Valentin Lingutla Chandrasekhar (1): sched/fair: Ignore percpu thre

[PATCH v3 1/7] sched/fair: Ignore percpu threads for imbalance pulls

2021-03-11 Thread Valentin Schneider
sekhar [Use kthread_is_per_cpu() rather than p->nr_cpus_allowed] Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 4 1 file changed, 4 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 2e2ab1e00ef9..83aea97fbf22 100644 --- a/kernel/sched/fair.c +++

RE: [PATCH] sched/topology: remove redundant cpumask_and in init_overlap_sched_group

2021-03-07 Thread Valentin Schneider
On 05/03/21 20:25, Song Bao Hua (Barry Song) wrote: >> -Original Message- >> From: Valentin Schneider [mailto:valentin.schnei...@arm.com] >> Sent: Saturday, March 6, 2021 12:49 AM >> To: Song Bao Hua (Barry Song) ; >> vincent.guit...@linaro.org; mi...@re

[tip: sched/core] sched: Simplify migration_cpu_stop()

2021-03-06 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: e140749c9f194d65f5984a5941e46758377c93c0 Gitweb: https://git.kernel.org/tip/e140749c9f194d65f5984a5941e46758377c93c0 Author:Valentin Schneider AuthorDate:Thu, 25 Feb 2021 10:22:30 +01:00

[tip: sched/core] sched/fair: Fix shift-out-of-bounds in load_balance()

2021-03-06 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 39a2a6eb5c9b66ea7c8055026303b3aa681b49a5 Gitweb: https://git.kernel.org/tip/39a2a6eb5c9b66ea7c8055026303b3aa681b49a5 Author:Valentin Schneider AuthorDate:Thu, 25 Feb 2021 17:56:56

Re: [PATCH v4 15/19] sched: Fix migrate_disable() vs rt/dl balancing

2021-03-05 Thread Valentin Schneider
On 05/03/21 15:56, Peter Zijlstra wrote: > On Sat, Dec 26, 2020 at 01:54:45PM +, Qais Yousef wrote: >> >> > +static inline struct task_struct *get_push_task(struct rq *rq) >> > +{ >> > + struct task_struct *p = rq->curr; >> >> Shouldn't we verify the class of the task here? The RT task in

Re: [PATCH] sched/topology: remove redundant cpumask_and in init_overlap_sched_group

2021-03-05 Thread Valentin Schneider
On 05/03/21 11:29, Barry Song wrote: > mask is built in build_balance_mask() by for_each_cpu(i, sg_span), so > it must be a subset of sched_group_span(sg). So we should indeed have cpumask_subset(sched_group_span(sg), mask) but that doesn't imply cpumask_first(sched_group_span(sg)) ==

Re: [sched/fair] b360fb5e59: stress-ng.vm-segv.ops_per_sec -13.9% regression

2021-03-03 Thread Valentin Schneider
On 23/02/21 12:36, Valentin Schneider wrote: > On 23/02/21 10:30, kernel test robot wrote: >> Greeting, >> >> FYI, we noticed a -13.9% regression of stress-ng.vm-segv.ops_per_sec due to >> commit: >> >> >> commit: b360fb5e5954a8a440ef95bf11257e2e7ea

[tip: sched/core] sched/fair: Fix shift-out-of-bounds in load_balance()

2021-03-03 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 9ab8f620eea3a797667add72eae5e235d2ca2fc8 Gitweb: https://git.kernel.org/tip/9ab8f620eea3a797667add72eae5e235d2ca2fc8 Author:Valentin Schneider AuthorDate:Thu, 25 Feb 2021 17:56:56

[tip: sched/core] sched: Simplify migration_cpu_stop()

2021-03-02 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 560c86ed4c1ca92592c04a8b2032fb29f8556a90 Gitweb: https://git.kernel.org/tip/560c86ed4c1ca92592c04a8b2032fb29f8556a90 Author:Valentin Schneider AuthorDate:Thu, 25 Feb 2021 10:22:30 +01:00

[tip: sched/core] sched/fair: Fix shift-out-of-bounds in load_balance()

2021-03-02 Thread tip-bot2 for Valentin Schneider
The following commit has been merged into the sched/core branch of tip: Commit-ID: 95d3920902d198b78d489db7e11732661ef79357 Gitweb: https://git.kernel.org/tip/95d3920902d198b78d489db7e11732661ef79357 Author:Valentin Schneider AuthorDate:Thu, 25 Feb 2021 17:56:56

[PATCH] sched/fair: Fix shift-out-of-bounds in load_balance()

2021-02-25 Thread Valentin Schneider
9a21...@google.com Fixes: 5a7f55590467 ("sched/fair: Relax constraint on task's load during load balance") Reported-by: syzbot+d7581744d5fd27c9f...@syzkaller.appspotmail.com Signed-off-by: Valentin Schneider --- kernel/sched/fair.c | 3 +-- kernel/sched/sched.h | 7 +++ 2 files c

Re: [PATCH 0/7 v4] move update blocked load outside newidle_balance

2021-02-25 Thread Valentin Schneider
On 25/02/21 09:05, Vincent Guittot wrote: >> One last thing for patch 7: mayhaps we could do a tad better to avoid >> duplicate updates going through a heapful of leaf cfs rqs, see >> >> http://lore.kernel.org/r/jhj4kiht7oh.mog...@arm.com > > rq->last_blocked_load_update_tick is there only to

Re: [PATCH 6/6] sched: Simplify set_affinity_pending refcounts

2021-02-25 Thread Valentin Schneider
On 25/02/21 10:27, Peter Zijlstra wrote: > On Wed, Feb 24, 2021 at 05:59:01PM +0000, Valentin Schneider wrote: > >> Your change reinstores the "triple SCA" pattern, where a stopper can run >> with arg->pending && arg->pending != p->migration_pendi

Re: [PATCH 2/6] sched: Simplify migration_cpu_stop()

2021-02-25 Thread Valentin Schneider
On 25/02/21 09:45, Peter Zijlstra wrote: > On Wed, Feb 24, 2021 at 03:34:36PM +0000, Valentin Schneider wrote: >> On 24/02/21 13:24, Peter Zijlstra wrote: >> > @@ -1950,31 +1931,20 @@ static int migration_cpu_stop(void *data >> > goto out; >>

Re: [PATCH 0/7 v4] move update blocked load outside newidle_balance

2021-02-24 Thread Valentin Schneider
a heapful of leaf cfs rqs, see http://lore.kernel.org/r/jhj4kiht7oh.mog...@arm.com Otherwise, feel free to add to the lot: Reviewed-by: Valentin Schneider

Re: [PATCH 6/6] sched: Simplify set_affinity_pending refcounts

2021-02-24 Thread Valentin Schneider
On 24/02/21 16:34, Peter Zijlstra wrote: > Elsewhere Valentin argued something like the below ought to be possible. > I've not drawn diagrams yet, but if I understood his argument right it > should be possible. > > --- > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > index

Re: [PATCH 6/6] sched: Simplify set_affinity_pending refcounts

2021-02-24 Thread Valentin Schneider
On 24/02/21 13:24, Peter Zijlstra wrote: > Now that we have set_affinity_pending::stop_pending to indicate if a > stopper is in progress, and we have the guarantee that if that stopper > exists, it will (eventually) complete our @pending we can simplify the > refcount scheme by no longer counting

Re: [PATCH 2/6] sched: Simplify migration_cpu_stop()

2021-02-24 Thread Valentin Schneider
On 24/02/21 13:24, Peter Zijlstra wrote: > @@ -1950,31 +1931,20 @@ static int migration_cpu_stop(void *data > goto out; > > if (pending) { > - p->migration_pending = NULL; > + if (p->migration_pending == pending) > +

Re: UBSAN: shift-out-of-bounds in load_balance

2021-02-23 Thread Valentin Schneider
On 23/02/21 14:45, Vincent Guittot wrote: > On Tue, 23 Feb 2021 at 13:03, Valentin Schneider > wrote: >> >> >> +Vincent >> >> On 22/02/21 09:12, syzbot wrote: >> > syzbot has found a reproducer for the following issue on: >> > >>

Re: [sched/fair] b360fb5e59: stress-ng.vm-segv.ops_per_sec -13.9% regression

2021-02-23 Thread Valentin Schneider
lance pulls") > url: > https://github.com/0day-ci/linux/commits/Valentin-Schneider/sched-fair-misfit-task-load-balance-tweaks/20210219-211028 > base: https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git > c5e6fc08feb2b88dc5dac2f3c817e1c2a4cafda4 > > in testcase: stress-ng

Re: UBSAN: shift-out-of-bounds in load_balance

2021-02-23 Thread Valentin Schneider
+Vincent On 22/02/21 09:12, syzbot wrote: > syzbot has found a reproducer for the following issue on: > > HEAD commit:31caf8b2 Merge branch 'linus' of git://git.kernel.org/pub/.. > git tree: upstream > console output: https://syzkaller.appspot.com/x/log.txt?x=16ab2682d0 > kernel

[PATCH v2 6/7] sched/fair: Filter out locally-unsolvable misfit imbalances

2021-02-19 Thread Valentin Schneider
y CPU (which is the current behaviour and prevents down-migration). Since find_busiest_queue() can now iterate over CPUs with a higher capacity than the local CPU's, add a capacity check there. Reviewed-by: Qais Yousef Signed-off-by: Valentin Schneider --- kernel/sched

  1   2   3   4   5   6   7   8   9   10   >