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,
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
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
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
>
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))
>> `\
>>
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
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
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.
>> */
>>
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:
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
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
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
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
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
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
-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(+)
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/
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
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
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
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
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
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
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
>> "
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
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
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
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.
>>
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
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
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
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
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
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
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
_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
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
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
_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
-
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
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
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
--
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
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 |
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
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
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
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
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,
[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
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
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
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
>
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
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
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
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
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 +++-
-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
--
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
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
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,
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
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?
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
&
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
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
>
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
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
>>
>&
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):
>>
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
>
-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(+)
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
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.
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
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
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 --
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
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
+++
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
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
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
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
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)) ==
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
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
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
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
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
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
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
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;
>>
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
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
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
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)
> +
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:
>> >
>>
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
+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
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 - 100 of 1086 matches
Mail list logo