From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> To: "Peter Zijlstra (Intel)" <peterz@infradead.org>, Ingo Molnar <mingo@kernel.org>, Juri Lelli <juri.lelli@redhat.com>, Vincent Guittot <vincent.guittot@linaro.org> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>, Nicholas Piggin <npiggin@gmail.com>, Dietmar Eggemann <dietmar.eggemann@arm.com>, Steven Rostedt <rostedt@goodmis.org>, Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>, Len Brown <len.brown@intel.com>, Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>, Tim Chen <tim.c.chen@linux.intel.com>, Aubrey Li <aubrey.li@linux.intel.com>, "Ravi V. Shankar" <ravi.v.shankar@intel.com>, Ricardo Neri <ricardo.neri@intel.com>, Quentin Perret <qperret@google.com>, "Joel Fernandes (Google)" <joel@joelfernandes.org>, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Ricardo Neri <ricardo.neri-calderon@linux.intel.com>, Aubrey Li <aubrey.li@intel.com>, Daniel Bristot de Oliveira <bristot@redhat.com>, "Rafael J . Wysocki" <rafael.j.wysocki@intel.com> Subject: [PATCH v5 5/6] sched/fair: Carve out logic to mark a group for asymmetric packing Date: Fri, 10 Sep 2021 18:18:18 -0700 [thread overview] Message-ID: <20210911011819.12184-6-ricardo.neri-calderon@linux.intel.com> (raw) In-Reply-To: <20210911011819.12184-1-ricardo.neri-calderon@linux.intel.com> Create a separate function, sched_asym(). A subsequent changeset will introduce logic to deal with SMT in conjunction with asmymmetric packing. Such logic will need the statistics of the scheduling group provided as argument. Update them before calling sched_asym(). Cc: Aubrey Li <aubrey.li@intel.com> Cc: Ben Segall <bsegall@google.com> Cc: Daniel Bristot de Oliveira <bristot@redhat.com> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Quentin Perret <qperret@google.com> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Reviewed-by: Len Brown <len.brown@intel.com> Co-developed-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> --- Changes since v4: * None Changes since v3: * Remove a redundant check for the local group in sched_asym(). (Dietmar) * Reworded commit message for clarity. (Len) Changes since v2: * Introduced this patch. Changes since v1: * N/A --- kernel/sched/fair.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index c5851260b4d8..26db017c14a3 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -8597,6 +8597,13 @@ group_type group_classify(unsigned int imbalance_pct, return group_has_spare; } +static inline bool +sched_asym(struct lb_env *env, struct sd_lb_stats *sds, struct sg_lb_stats *sgs, + struct sched_group *group) +{ + return sched_asym_prefer(env->dst_cpu, group->asym_prefer_cpu); +} + /** * update_sg_lb_stats - Update sched_group's statistics for load balancing. * @env: The load balancing environment. @@ -8657,18 +8664,17 @@ static inline void update_sg_lb_stats(struct lb_env *env, } } + sgs->group_capacity = group->sgc->capacity; + + sgs->group_weight = group->group_weight; + /* Check if dst CPU is idle and preferred to this group */ if (!local_group && env->sd->flags & SD_ASYM_PACKING && - env->idle != CPU_NOT_IDLE && - sgs->sum_h_nr_running && - sched_asym_prefer(env->dst_cpu, group->asym_prefer_cpu)) { + env->idle != CPU_NOT_IDLE && sgs->sum_h_nr_running && + sched_asym(env, sds, sgs, group)) { sgs->group_asym_packing = 1; } - sgs->group_capacity = group->sgc->capacity; - - sgs->group_weight = group->group_weight; - sgs->group_type = group_classify(env->sd->imbalance_pct, group, sgs); /* Computing avg_load makes sense only when group is overloaded */ -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> To: "Peter Zijlstra (Intel)" <peterz@infradead.org>, Ingo Molnar <mingo@kernel.org>, Juri Lelli <juri.lelli@redhat.com>, Vincent Guittot <vincent.guittot@linaro.org> Cc: Len Brown <len.brown@intel.com>, Aubrey Li <aubrey.li@intel.com>, "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>, Srikar Dronamraju <srikar@linux.vnet.ibm.com>, "Ravi V. Shankar" <ravi.v.shankar@intel.com>, linuxppc-dev@lists.ozlabs.org, Aubrey Li <aubrey.li@linux.intel.com>, Nicholas Piggin <npiggin@gmail.com>, Ricardo Neri <ricardo.neri@intel.com>, Steven Rostedt <rostedt@goodmis.org>, Quentin Perret <qperret@google.com>, Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>, Daniel Bristot de Oliveira <bristot@redhat.com>, Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>, "Joel Fernandes \(Google\)" <joel@joelfernandes.org>, Tim Chen <tim.c.chen@linux.intel.com>, Dietmar Eggemann <dietmar.eggemann@arm.com>, linux-kernel@vger.kernel.org, Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Subject: [PATCH v5 5/6] sched/fair: Carve out logic to mark a group for asymmetric packing Date: Fri, 10 Sep 2021 18:18:18 -0700 [thread overview] Message-ID: <20210911011819.12184-6-ricardo.neri-calderon@linux.intel.com> (raw) In-Reply-To: <20210911011819.12184-1-ricardo.neri-calderon@linux.intel.com> Create a separate function, sched_asym(). A subsequent changeset will introduce logic to deal with SMT in conjunction with asmymmetric packing. Such logic will need the statistics of the scheduling group provided as argument. Update them before calling sched_asym(). Cc: Aubrey Li <aubrey.li@intel.com> Cc: Ben Segall <bsegall@google.com> Cc: Daniel Bristot de Oliveira <bristot@redhat.com> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Quentin Perret <qperret@google.com> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tim Chen <tim.c.chen@linux.intel.com> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> Reviewed-by: Len Brown <len.brown@intel.com> Co-developed-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> --- Changes since v4: * None Changes since v3: * Remove a redundant check for the local group in sched_asym(). (Dietmar) * Reworded commit message for clarity. (Len) Changes since v2: * Introduced this patch. Changes since v1: * N/A --- kernel/sched/fair.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index c5851260b4d8..26db017c14a3 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -8597,6 +8597,13 @@ group_type group_classify(unsigned int imbalance_pct, return group_has_spare; } +static inline bool +sched_asym(struct lb_env *env, struct sd_lb_stats *sds, struct sg_lb_stats *sgs, + struct sched_group *group) +{ + return sched_asym_prefer(env->dst_cpu, group->asym_prefer_cpu); +} + /** * update_sg_lb_stats - Update sched_group's statistics for load balancing. * @env: The load balancing environment. @@ -8657,18 +8664,17 @@ static inline void update_sg_lb_stats(struct lb_env *env, } } + sgs->group_capacity = group->sgc->capacity; + + sgs->group_weight = group->group_weight; + /* Check if dst CPU is idle and preferred to this group */ if (!local_group && env->sd->flags & SD_ASYM_PACKING && - env->idle != CPU_NOT_IDLE && - sgs->sum_h_nr_running && - sched_asym_prefer(env->dst_cpu, group->asym_prefer_cpu)) { + env->idle != CPU_NOT_IDLE && sgs->sum_h_nr_running && + sched_asym(env, sds, sgs, group)) { sgs->group_asym_packing = 1; } - sgs->group_capacity = group->sgc->capacity; - - sgs->group_weight = group->group_weight; - sgs->group_type = group_classify(env->sd->imbalance_pct, group, sgs); /* Computing avg_load makes sense only when group is overloaded */ -- 2.17.1
next prev parent reply other threads:[~2021-09-11 1:19 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-11 1:18 [PATCH v5 0/6] sched/fair: Fix load balancing of SMT siblings with ASYM_PACKING Ricardo Neri 2021-09-11 1:18 ` Ricardo Neri 2021-09-11 1:18 ` [PATCH v5 1/6] x86/sched: Decrease further the priorities of SMT siblings Ricardo Neri 2021-09-11 1:18 ` Ricardo Neri 2021-09-21 7:27 ` [tip: sched/core] " tip-bot2 for Ricardo Neri 2021-10-05 14:12 ` tip-bot2 for Ricardo Neri 2021-09-11 1:18 ` [PATCH v5 2/6] sched/topology: Introduce sched_group::flags Ricardo Neri 2021-09-11 1:18 ` Ricardo Neri 2021-09-17 15:26 ` Vincent Guittot 2021-09-17 15:26 ` Vincent Guittot 2021-09-21 7:27 ` [tip: sched/core] " tip-bot2 for Ricardo Neri 2021-10-05 14:12 ` tip-bot2 for Ricardo Neri 2023-05-23 10:59 ` Peter Zijlstra 2023-05-24 13:02 ` Vincent Guittot 2021-09-11 1:18 ` [PATCH v5 3/6] sched/fair: Optimize checking for group_asym_packing Ricardo Neri 2021-09-11 1:18 ` Ricardo Neri 2021-09-17 15:26 ` Vincent Guittot 2021-09-17 15:26 ` Vincent Guittot 2021-09-21 7:27 ` [tip: sched/core] " tip-bot2 for Ricardo Neri 2021-10-05 14:12 ` tip-bot2 for Ricardo Neri 2021-09-11 1:18 ` [PATCH v5 4/6] sched/fair: Provide update_sg_lb_stats() with sched domain statistics Ricardo Neri 2021-09-11 1:18 ` Ricardo Neri 2021-09-17 15:27 ` Vincent Guittot 2021-09-17 15:27 ` Vincent Guittot 2021-09-21 7:27 ` [tip: sched/core] " tip-bot2 for Ricardo Neri 2021-10-05 14:12 ` tip-bot2 for Ricardo Neri 2021-09-11 1:18 ` Ricardo Neri [this message] 2021-09-11 1:18 ` [PATCH v5 5/6] sched/fair: Carve out logic to mark a group for asymmetric packing Ricardo Neri 2021-09-17 15:27 ` Vincent Guittot 2021-09-17 15:27 ` Vincent Guittot 2021-09-21 7:27 ` [tip: sched/core] " tip-bot2 for Ricardo Neri 2021-10-05 14:12 ` tip-bot2 for Ricardo Neri 2021-09-11 1:18 ` [PATCH v5 6/6] sched/fair: Consider SMT in ASYM_PACKING load balance Ricardo Neri 2021-09-11 1:18 ` Ricardo Neri 2021-09-15 15:43 ` Vincent Guittot 2021-09-15 15:43 ` Vincent Guittot 2021-09-17 1:00 ` Ricardo Neri 2021-09-17 1:00 ` Ricardo Neri 2021-09-17 7:41 ` Vincent Guittot 2021-09-17 7:41 ` Vincent Guittot 2021-09-17 15:25 ` Vincent Guittot 2021-09-17 15:25 ` Vincent Guittot 2021-09-17 18:46 ` Peter Zijlstra 2021-09-17 18:46 ` Peter Zijlstra 2021-09-18 9:33 ` Vincent Guittot 2021-09-18 9:33 ` Vincent Guittot 2021-09-21 7:27 ` [tip: sched/core] " tip-bot2 for Ricardo Neri 2021-10-01 9:33 ` [PATCH v5 6/6] " Guillaume Tucker 2021-10-01 9:33 ` Guillaume Tucker 2021-10-01 9:40 ` Guillaume Tucker 2021-10-01 9:40 ` Guillaume Tucker 2021-10-01 10:25 ` Vincent Guittot 2021-10-01 10:25 ` Vincent Guittot 2021-10-01 17:43 ` Ricardo Neri 2021-10-01 17:43 ` Ricardo Neri 2021-10-05 14:12 ` [tip: sched/core] " tip-bot2 for Ricardo Neri
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210911011819.12184-6-ricardo.neri-calderon@linux.intel.com \ --to=ricardo.neri-calderon@linux.intel.com \ --cc=aubrey.li@intel.com \ --cc=aubrey.li@linux.intel.com \ --cc=bristot@redhat.com \ --cc=bsegall@google.com \ --cc=dietmar.eggemann@arm.com \ --cc=joel@joelfernandes.org \ --cc=juri.lelli@redhat.com \ --cc=len.brown@intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mgorman@suse.de \ --cc=mingo@kernel.org \ --cc=npiggin@gmail.com \ --cc=peterz@infradead.org \ --cc=qperret@google.com \ --cc=rafael.j.wysocki@intel.com \ --cc=ravi.v.shankar@intel.com \ --cc=ricardo.neri@intel.com \ --cc=rostedt@goodmis.org \ --cc=srikar@linux.vnet.ibm.com \ --cc=srinivas.pandruvada@linux.intel.com \ --cc=tim.c.chen@linux.intel.com \ --cc=vincent.guittot@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.