8 files changed, 62 insertions(+), 472 deletions(-)
D 0001-x86-sched-Decrease-further-the-priorities-of-SMT-sib.patch
D 0002-sched-topology-Introduce-sched_group-flags.patch
D 0003-sched-fair-Optimize-checking-for-group_asym_packing.patch
D 0004-sched-fair-Provide-update_sg_lb_stats-with-sched-dom.patch
D 0005-sched-fair-Carve-out-logic-to-mark-a-group-for-asymm.patch
D 0006-sched-fair-Consider-SMT-in-ASYM_PACKING-load-balance.patch
M APKBUILD
M config
D 0001-x86-sched-Decrease-further-the-priorities-of-SMT-sib.patch => 0001-x86-sched-Decrease-further-the-priorities-of-SMT-sib.patch +0 -44
@@ 1,44 0,0 @@
-From 183b8ec38f1ec6c1f8419375303bf1d09a2b8369 Mon Sep 17 00:00:00 2001
-From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Date: Fri, 10 Sep 2021 18:18:14 -0700
-Subject: [PATCH 1/6] x86/sched: Decrease further the priorities of SMT
- siblings
-
-When scheduling, it is better to prefer a separate physical core rather
-than the SMT sibling of a high priority core. The existing formula to
-compute priorities takes such fact in consideration. There may exist,
-however, combinations of priorities (i.e., maximum frequencies) in which
-the priority of high-numbered SMT siblings of high-priority cores collides
-with the priority of low-numbered SMT siblings of low-priority cores.
-
-Consider for instance an SMT2 system with CPUs [0, 1] with priority 60 and
-[2, 3] with priority 30(CPUs in brackets are SMT siblings. In such a case,
-the resulting priorities would be [120, 60], [60, 30]. Thus, to ensure
-that CPU2 has higher priority than CPU1, divide the raw priority by the
-squared SMT iterator. The resulting priorities are [120, 30]. [60, 15].
-
-Originally-by: Len Brown <len.brown@intel.com>
-Signed-off-by: Len Brown <len.brown@intel.com>
-Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Link: https://lkml.kernel.org/r/20210911011819.12184-2-ricardo.neri-calderon@linux.intel.com
----
- arch/x86/kernel/itmt.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/x86/kernel/itmt.c b/arch/x86/kernel/itmt.c
-index 1afbdd1dd777..9ff480e94511 100644
---- a/arch/x86/kernel/itmt.c
-+++ b/arch/x86/kernel/itmt.c
-@@ -198,7 +198,7 @@ void sched_set_itmt_core_prio(int prio, int core_cpu)
- * of the priority chain and only used when
- * all other high priority cpus are out of capacity.
- */
-- smt_prio = prio * smp_num_siblings / i;
-+ smt_prio = prio * smp_num_siblings / (i * i);
- per_cpu(sched_core_priority, cpu) = smt_prio;
- i++;
- }
---
-2.33.1
-
D 0002-sched-topology-Introduce-sched_group-flags.patch => 0002-sched-topology-Introduce-sched_group-flags.patch +0 -93
@@ 1,93 0,0 @@
-From 16d364ba6ef2aa59b409df70682770f3ed23f7c0 Mon Sep 17 00:00:00 2001
-From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Date: Fri, 10 Sep 2021 18:18:15 -0700
-Subject: [PATCH 2/6] sched/topology: Introduce sched_group::flags
-
-There exist situations in which the load balance needs to know the
-properties of the CPUs in a scheduling group. When using asymmetric
-packing, for instance, the load balancer needs to know not only the
-state of dst_cpu but also of its SMT siblings, if any.
-
-Use the flags of the child scheduling domains to initialize scheduling
-group flags. This will reflect the properties of the CPUs in the
-group.
-
-A subsequent changeset will make use of these new flags. No functional
-changes are introduced.
-
-Originally-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
-Reviewed-by: Len Brown <len.brown@intel.com>
-Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
-Link: https://lkml.kernel.org/r/20210911011819.12184-3-ricardo.neri-calderon@linux.intel.com
----
- kernel/sched/sched.h | 1 +
- kernel/sched/topology.c | 21 ++++++++++++++++++---
- 2 files changed, 19 insertions(+), 3 deletions(-)
-
-diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
-index 198058bb54d7..e5c4d4ddd83a 100644
---- a/kernel/sched/sched.h
-+++ b/kernel/sched/sched.h
-@@ -1808,6 +1808,7 @@ struct sched_group {
- unsigned int group_weight;
- struct sched_group_capacity *sgc;
- int asym_prefer_cpu; /* CPU of highest priority in group */
-+ int flags;
-
- /*
- * The CPUs this group covers.
-diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
-index 4e8698e62f07..c56faae461d9 100644
---- a/kernel/sched/topology.c
-+++ b/kernel/sched/topology.c
-@@ -716,8 +716,20 @@ cpu_attach_domain(struct sched_domain *sd, struct root_domain *rd, int cpu)
- tmp = sd;
- sd = sd->parent;
- destroy_sched_domain(tmp);
-- if (sd)
-+ if (sd) {
-+ struct sched_group *sg = sd->groups;
-+
-+ /*
-+ * sched groups hold the flags of the child sched
-+ * domain for convenience. Clear such flags since
-+ * the child is being destroyed.
-+ */
-+ do {
-+ sg->flags = 0;
-+ } while (sg != sd->groups);
-+
- sd->child = NULL;
-+ }
- }
-
- for (tmp = sd; tmp; tmp = tmp->parent)
-@@ -916,10 +928,12 @@ build_group_from_child_sched_domain(struct sched_domain *sd, int cpu)
- return NULL;
-
- sg_span = sched_group_span(sg);
-- if (sd->child)
-+ if (sd->child) {
- cpumask_copy(sg_span, sched_domain_span(sd->child));
-- else
-+ sg->flags = sd->child->flags;
-+ } else {
- cpumask_copy(sg_span, sched_domain_span(sd));
-+ }
-
- atomic_inc(&sg->ref);
- return sg;
-@@ -1169,6 +1183,7 @@ static struct sched_group *get_group(int cpu, struct sd_data *sdd)
- if (child) {
- cpumask_copy(sched_group_span(sg), sched_domain_span(child));
- cpumask_copy(group_balance_mask(sg), sched_group_span(sg));
-+ sg->flags = child->flags;
- } else {
- cpumask_set_cpu(cpu, sched_group_span(sg));
- cpumask_set_cpu(cpu, group_balance_mask(sg));
---
-2.33.1
-
D 0003-sched-fair-Optimize-checking-for-group_asym_packing.patch => 0003-sched-fair-Optimize-checking-for-group_asym_packing.patch +0 -36
@@ 1,36 0,0 @@
-From 6025643596895695956c27119c6b0bfa40d8035b Mon Sep 17 00:00:00 2001
-From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Date: Fri, 10 Sep 2021 18:18:16 -0700
-Subject: [PATCH 3/6] sched/fair: Optimize checking for group_asym_packing
-
-sched_asmy_prefer() always returns false when called on the local group. By
-checking local_group, we can avoid additional checks and invoking
-sched_asmy_prefer() when it is not needed. No functional changes are
-introduced.
-
-Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
-Reviewed-by: Len Brown <len.brown@intel.com>
-Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
-Link: https://lkml.kernel.org/r/20210911011819.12184-4-ricardo.neri-calderon@linux.intel.com
----
- kernel/sched/fair.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 71b30ef31110..e050b1d92efe 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -8631,7 +8631,7 @@ static inline void update_sg_lb_stats(struct lb_env *env,
- }
-
- /* Check if dst CPU is idle and preferred to this group */
-- if (env->sd->flags & SD_ASYM_PACKING &&
-+ 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)) {
---
-2.33.1
-
D 0004-sched-fair-Provide-update_sg_lb_stats-with-sched-dom.patch => 0004-sched-fair-Provide-update_sg_lb_stats-with-sched-dom.patch +0 -57
@@ 1,57 0,0 @@
-From c0d14b57fe0c11b65ce8a1a4a58a48f3f324ca0f Mon Sep 17 00:00:00 2001
-From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Date: Fri, 10 Sep 2021 18:18:17 -0700
-Subject: [PATCH 4/6] sched/fair: Provide update_sg_lb_stats() with sched
- domain statistics
-
-Before deciding to pull tasks when using asymmetric packing of tasks,
-on some architectures (e.g., x86) it is necessary to know not only the
-state of dst_cpu but also of its SMT siblings. The decision to classify
-a candidate busiest group as group_asym_packing is done in
-update_sg_lb_stats(). Give this function access to the scheduling domain
-statistics, which contains the statistics of the local group.
-
-Originally-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
-Reviewed-by: Len Brown <len.brown@intel.com>
-Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
-Link: https://lkml.kernel.org/r/20210911011819.12184-5-ricardo.neri-calderon@linux.intel.com
----
- kernel/sched/fair.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index e050b1d92efe..2e8ef337c7d4 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -8579,6 +8579,7 @@ group_type group_classify(unsigned int imbalance_pct,
- * @sg_status: Holds flag indicating the status of the sched_group
- */
- static inline void update_sg_lb_stats(struct lb_env *env,
-+ struct sd_lb_stats *sds,
- struct sched_group *group,
- struct sg_lb_stats *sgs,
- int *sg_status)
-@@ -8587,7 +8588,7 @@ static inline void update_sg_lb_stats(struct lb_env *env,
-
- memset(sgs, 0, sizeof(*sgs));
-
-- local_group = cpumask_test_cpu(env->dst_cpu, sched_group_span(group));
-+ local_group = group == sds->local;
-
- for_each_cpu_and(i, sched_group_span(group), env->cpus) {
- struct rq *rq = cpu_rq(i);
-@@ -9150,7 +9151,7 @@ static inline void update_sd_lb_stats(struct lb_env *env, struct sd_lb_stats *sd
- update_group_capacity(env->sd, env->dst_cpu);
- }
-
-- update_sg_lb_stats(env, sg, sgs, &sg_status);
-+ update_sg_lb_stats(env, sds, sg, sgs, &sg_status);
-
- if (local_group)
- goto next_group;
---
-2.33.1
-
D 0005-sched-fair-Carve-out-logic-to-mark-a-group-for-asymm.patch => 0005-sched-fair-Carve-out-logic-to-mark-a-group-for-asymm.patch +0 -68
@@ 1,68 0,0 @@
-From aafc917a3c31dcc76cb0279cd7617dda11b15f2a Mon Sep 17 00:00:00 2001
-From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Date: Fri, 10 Sep 2021 18:18:18 -0700
-Subject: [PATCH 5/6] sched/fair: Carve out logic to mark a group for
- asymmetric packing
-
-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().
-
-Co-developed-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
-Reviewed-by: Len Brown <len.brown@intel.com>
-Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
-Link: https://lkml.kernel.org/r/20210911011819.12184-6-ricardo.neri-calderon@linux.intel.com
----
- 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 2e8ef337c7d4..1c8b5fa58c23 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -8571,6 +8571,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.
-@@ -8631,18 +8638,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.33.1
-
D 0006-sched-fair-Consider-SMT-in-ASYM_PACKING-load-balance.patch => 0006-sched-fair-Consider-SMT-in-ASYM_PACKING-load-balance.patch +0 -143
@@ 1,143 0,0 @@
-From 4006a72bdd93b1ffedc2bd8646dee18c822a2c26 Mon Sep 17 00:00:00 2001
-From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Date: Fri, 10 Sep 2021 18:18:19 -0700
-Subject: [PATCH 6/6] sched/fair: Consider SMT in ASYM_PACKING load balance
-
-When deciding to pull tasks in ASYM_PACKING, it is necessary not only to
-check for the idle state of the destination CPU, dst_cpu, but also of
-its SMT siblings.
-
-If dst_cpu is idle but its SMT siblings are busy, performance suffers
-if it pulls tasks from a medium priority CPU that does not have SMT
-siblings.
-
-Implement asym_smt_can_pull_tasks() to inspect the state of the SMT
-siblings of both dst_cpu and the CPUs in the candidate busiest group.
-
-Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
-Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
-Reviewed-by: Len Brown <len.brown@intel.com>
-Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
-Link: https://lkml.kernel.org/r/20210911011819.12184-7-ricardo.neri-calderon@linux.intel.com
----
- kernel/sched/fair.c | 92 +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 92 insertions(+)
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 1c8b5fa58c23..c50ae23013dc 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -8571,10 +8571,96 @@ group_type group_classify(unsigned int imbalance_pct,
- return group_has_spare;
- }
-
-+/**
-+ * asym_smt_can_pull_tasks - Check whether the load balancing CPU can pull tasks
-+ * @dst_cpu: Destination CPU of the load balancing
-+ * @sds: Load-balancing data with statistics of the local group
-+ * @sgs: Load-balancing statistics of the candidate busiest group
-+ * @sg: The candidate busiest group
-+ *
-+ * Check the state of the SMT siblings of both @sds::local and @sg and decide
-+ * if @dst_cpu can pull tasks.
-+ *
-+ * If @dst_cpu does not have SMT siblings, it can pull tasks if two or more of
-+ * the SMT siblings of @sg are busy. If only one CPU in @sg is busy, pull tasks
-+ * only if @dst_cpu has higher priority.
-+ *
-+ * If both @dst_cpu and @sg have SMT siblings, and @sg has exactly one more
-+ * busy CPU than @sds::local, let @dst_cpu pull tasks if it has higher priority.
-+ * Bigger imbalances in the number of busy CPUs will be dealt with in
-+ * update_sd_pick_busiest().
-+ *
-+ * If @sg does not have SMT siblings, only pull tasks if all of the SMT siblings
-+ * of @dst_cpu are idle and @sg has lower priority.
-+ */
-+static bool asym_smt_can_pull_tasks(int dst_cpu, struct sd_lb_stats *sds,
-+ struct sg_lb_stats *sgs,
-+ struct sched_group *sg)
-+{
-+#ifdef CONFIG_SCHED_SMT
-+ bool local_is_smt, sg_is_smt;
-+ int sg_busy_cpus;
-+
-+ local_is_smt = sds->local->flags & SD_SHARE_CPUCAPACITY;
-+ sg_is_smt = sg->flags & SD_SHARE_CPUCAPACITY;
-+
-+ sg_busy_cpus = sgs->group_weight - sgs->idle_cpus;
-+
-+ if (!local_is_smt) {
-+ /*
-+ * If we are here, @dst_cpu is idle and does not have SMT
-+ * siblings. Pull tasks if candidate group has two or more
-+ * busy CPUs.
-+ */
-+ if (sg_busy_cpus >= 2) /* implies sg_is_smt */
-+ return true;
-+
-+ /*
-+ * @dst_cpu does not have SMT siblings. @sg may have SMT
-+ * siblings and only one is busy. In such case, @dst_cpu
-+ * can help if it has higher priority and is idle (i.e.,
-+ * it has no running tasks).
-+ */
-+ return sched_asym_prefer(dst_cpu, sg->asym_prefer_cpu);
-+ }
-+
-+ /* @dst_cpu has SMT siblings. */
-+
-+ if (sg_is_smt) {
-+ int local_busy_cpus = sds->local->group_weight -
-+ sds->local_stat.idle_cpus;
-+ int busy_cpus_delta = sg_busy_cpus - local_busy_cpus;
-+
-+ if (busy_cpus_delta == 1)
-+ return sched_asym_prefer(dst_cpu, sg->asym_prefer_cpu);
-+
-+ return false;
-+ }
-+
-+ /*
-+ * @sg does not have SMT siblings. Ensure that @sds::local does not end
-+ * up with more than one busy SMT sibling and only pull tasks if there
-+ * are not busy CPUs (i.e., no CPU has running tasks).
-+ */
-+ if (!sds->local_stat.sum_nr_running)
-+ return sched_asym_prefer(dst_cpu, sg->asym_prefer_cpu);
-+
-+ return false;
-+#else
-+ /* Always return false so that callers deal with non-SMT cases. */
-+ return false;
-+#endif
-+}
-+
- static inline bool
- sched_asym(struct lb_env *env, struct sd_lb_stats *sds, struct sg_lb_stats *sgs,
- struct sched_group *group)
- {
-+ /* Only do SMT checks if either local or candidate have SMT siblings */
-+ if ((sds->local->flags & SD_SHARE_CPUCAPACITY) ||
-+ (group->flags & SD_SHARE_CPUCAPACITY))
-+ return asym_smt_can_pull_tasks(env->dst_cpu, sds, sgs, group);
-+
- return sched_asym_prefer(env->dst_cpu, group->asym_prefer_cpu);
- }
-
-@@ -9580,6 +9666,12 @@ static struct rq *find_busiest_queue(struct lb_env *env,
- nr_running == 1)
- continue;
-
-+ /* Make sure we only pull tasks from a CPU of lower priority */
-+ if ((env->sd->flags & SD_ASYM_PACKING) &&
-+ sched_asym_prefer(i, env->dst_cpu) &&
-+ nr_running == 1)
-+ continue;
-+
- switch (env->migration_type) {
- case migrate_load:
- /*
---
-2.33.1
-
M APKBUILD => APKBUILD +2 -14
@@ 1,6 1,6 @@
# Maintainer: xdavidwu <xdavidwuph@gmail.com>
pkgname=linux-xdavidwu-xps
-pkgver=5.15.13
+pkgver=5.16
pkgrel=0
pkgdesc="Linux kernel customized for xps"
url="https://www.kernel.org/"
@@ 15,12 15,6 @@ source="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${pkgver}.tar.xz
config
fast_skylake.patch
openwrt-402-ath_regd_optional.patch
- 0001-x86-sched-Decrease-further-the-priorities-of-SMT-sib.patch
- 0002-sched-topology-Introduce-sched_group-flags.patch
- 0003-sched-fair-Optimize-checking-for-group_asym_packing.patch
- 0004-sched-fair-Provide-update_sg_lb_stats-with-sched-dom.patch
- 0005-sched-fair-Carve-out-logic-to-mark-a-group-for-asymm.patch
- 0006-sched-fair-Consider-SMT-in-ASYM_PACKING-load-balance.patch
0101-i8042-decrease-debug-message-level-to-info.patch
0102-increase-the-ext4-default-commit-age.patch
0103-silence-rapl.patch
@@ 68,16 62,10 @@ package() {
}
sha512sums="
-0775216f9a5f828b23bb8f96810ac65d178aeede0d1ee258a01b6f83f4a145809ab6699fa07aa07721e118cf0b608ee98885fe76be07b8707a2f9cd1c0833ae5 linux-5.15.13.tar.xz
+7a257dd576bc8493595ec7d6f3c9cb6e22c772a8b2dbe735d2485c4f5c56e26a08695546e7e0f1f1cd04a533f25e829361958d4da0b98bf0ba8094dd57a85aaf linux-5.16.tar.xz
34e33b88ef00a707c19b10076d0c51e6c3b7ef01d988540f1405785165978a605425249375a65005ca17f89c217cd0fb24a1a95bd80be7755d1f88c6e85bb638 config
cb786c1fa30ab88020988929cfb71bac9164154bfe67f977654f14315d913e3c6dfa7c99c89b02ee7663d5c0817e22d4cc5c57288b7fa6c46333b0cac8acc618 fast_skylake.patch
c0c5d023cac625dfe3086b37b5abb4be8981db301a468e93d495c08b7650debbf47b7a24c39293731951315658164e36783e5a46fb26fc51ed6fc72e3716307c openwrt-402-ath_regd_optional.patch
-38fa3f0c23ade9d4dfa379db5ed741775aff69079f3c48ec48f6fd39b52b01bd78822ba70db5925f7b5cf902a41ba57516dc56e33d481a6fe5597817c18d374c 0001-x86-sched-Decrease-further-the-priorities-of-SMT-sib.patch
-567b65cba23e5dfe2b026b8f4608dd14aef03960d49d4e97845ebed2c4dbc4a59d5b890ac9b007ca05553cd4d9db1b1d0fb427eebabcb0f60a6b77cd45c49ebf 0002-sched-topology-Introduce-sched_group-flags.patch
-50a2be9cccdea8fc6cf0a698e41b2a5ee40815f97796e1e2ea0dd4598547a731ad2ccec752de10c5ea47fc735216b4bf665a917acbdec79d9eccbf8afbf9a579 0003-sched-fair-Optimize-checking-for-group_asym_packing.patch
-b07269f30102c5a760a86533ab4611319e06c42d01d65baafc13226ad22ca99eaf2593acc0521b5c0035c8fafb048595c3479073c3dd80e10914193b77d15d91 0004-sched-fair-Provide-update_sg_lb_stats-with-sched-dom.patch
-bc7557fa7e494fbc003fae2f7f7e64a88dc0230aca8d19e2215a0da3015ef1a5bf3eef29f03f7a88d8043dd8860101d300a77e57b0a2335bad8702a0002407e4 0005-sched-fair-Carve-out-logic-to-mark-a-group-for-asymm.patch
-76e19461eceb22fbb89b650737bfa11843377521dd7a6eb36f2351664ed4d1bf7272130eb863eeac1ac20eb9a8e68c74717adb8d700589e19549ca576db3199c 0006-sched-fair-Consider-SMT-in-ASYM_PACKING-load-balance.patch
7a26ba37bd384da0f32c0b2f545357f010c2287601e9b5d6e3cfe7109f5eb21c9de221ba0d15df0fa190ca40062bc556ec98366dd40c1232992c2a6320dda3a1 0101-i8042-decrease-debug-message-level-to-info.patch
5c8b294f64465136a5c5b954b72c8fa21a7936254fe7ecd2e5d9b71e443a242dd44e9cb4022bb9bd906fb4c908300ada75e37766a74a74cac91c483bda707e9d 0102-increase-the-ext4-default-commit-age.patch
185c63f34dd8da41abefd836bdc2ca423de693104901a8b1c213f6456e8e1661c5f9ba46a93769fc635f0226275aac4127f9432c42c8532bed21da968179adee 0103-silence-rapl.patch
M config => config +60 -17
@@ 1,15 1,15 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.15.0-1 Kernel Configuration
+# Linux/x86 5.16.0 Kernel Configuration
#
-CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.1.0"
+CONFIG_CC_VERSION_TEXT="gcc (Alpine 11.2.1_git20220106) 11.2.1 20220106"
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=110100
+CONFIG_GCC_VERSION=110201
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
-CONFIG_AS_VERSION=23601
+CONFIG_AS_VERSION=23700
CONFIG_LD_IS_BFD=y
-CONFIG_LD_VERSION=23601
+CONFIG_LD_VERSION=23700
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
@@ 113,6 113,7 @@ CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_PRELOAD is not set
# end of BPF subsystem
+CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
@@ 170,6 171,7 @@ CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
@@ 354,6 356,7 @@ CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=320
+CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_MC is not set
CONFIG_X86_LOCAL_APIC=y
@@ 426,6 429,7 @@ CONFIG_HOTPLUG_CPU=y
CONFIG_LEGACY_VSYSCALL_NONE=y
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_MODIFY_LDT_SYSCALL is not set
+# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
# end of Processor type and features
@@ 588,6 592,7 @@ CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
@@ 653,6 658,7 @@ CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
@@ 667,6 673,7 @@ CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
@@ 676,6 683,7 @@ CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
+CONFIG_DYNAMIC_SIGFRAME=y
#
# GCOV-based kernel profiling
@@ 791,6 799,7 @@ CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
@@ 907,6 916,7 @@ CONFIG_BRIDGE_NETFILTER=m
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_INGRESS is not set
+# CONFIG_NETFILTER_EGRESS is not set
CONFIG_NETFILTER_FAMILY_BRIDGE=y
# CONFIG_NETFILTER_NETLINK_ACCT is not set
# CONFIG_NETFILTER_NETLINK_QUEUE is not set
@@ 1383,7 1393,6 @@ CONFIG_ZRAM_DEF_COMP="lzo-rle"
# CONFIG_ZRAM_MEMORY_TRACKING is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
@@ 1458,6 1467,7 @@ CONFIG_MISC_RTSX=m
# CONFIG_INTEL_MEI_ME is not set
# CONFIG_INTEL_MEI_TXE is not set
# CONFIG_INTEL_MEI_HDCP is not set
+# CONFIG_INTEL_MEI_PXP is not set
# CONFIG_VMWARE_VMCI is not set
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
@@ 1569,6 1579,7 @@ CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_ASIX is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
@@ 1862,6 1873,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not set
@@ 2237,6 2249,7 @@ CONFIG_SENSORS_CORETEMP=m
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
@@ 2425,7 2438,13 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_REGULATOR is not set
# CONFIG_RC_CORE is not set
+
+#
+# CEC support
+#
# CONFIG_MEDIA_CEC_SUPPORT is not set
+# end of CEC support
+
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_SUPPORT_FILTER=y
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
@@ 2598,6 2617,7 @@ CONFIG_VIDEOBUF2_VMALLOC=m
# Camera sensor devices
#
# CONFIG_VIDEO_HI556 is not set
+# CONFIG_VIDEO_HI846 is not set
# CONFIG_VIDEO_IMX219 is not set
# CONFIG_VIDEO_IMX258 is not set
# CONFIG_VIDEO_IMX274 is not set
@@ 2626,6 2646,7 @@ CONFIG_VIDEOBUF2_VMALLOC=m
# CONFIG_VIDEO_OV9650 is not set
# CONFIG_VIDEO_OV9734 is not set
# CONFIG_VIDEO_OV13858 is not set
+# CONFIG_VIDEO_OV13B10 is not set
# CONFIG_VIDEO_VS6624 is not set
# CONFIG_VIDEO_MT9M001 is not set
# CONFIG_VIDEO_MT9M032 is not set
@@ 2686,6 2707,7 @@ CONFIG_DRM_MIPI_DSI=y
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
+# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
@@ 3059,6 3081,7 @@ CONFIG_HID_GENERIC=m
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_XIAOMI is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_ICADE is not set
# CONFIG_HID_ITE is not set
@@ 3076,6 3099,8 @@ CONFIG_HID_GENERIC=m
# CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MONTEREY is not set
CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NINTENDO=m
+CONFIG_NINTENDO_FF=y
# CONFIG_HID_NTI is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
@@ 3084,7 3109,6 @@ CONFIG_HID_MULTITOUCH=m
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PLANTRONICS is not set
-# CONFIG_HID_PLAYSTATION is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
@@ 3289,6 3313,7 @@ CONFIG_TYPEC_UCSI=m
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=m
# CONFIG_TYPEC_TPS6598X is not set
+# CONFIG_TYPEC_STUSB160X is not set
#
# USB Type-C Multiplexer/DeMultiplexer Switch support
@@ 3520,6 3545,7 @@ CONFIG_ACPI_WMI=m
# CONFIG_HUAWEI_WMI is not set
# CONFIG_MXM_WMI is not set
# CONFIG_PEAQ_WMI is not set
+# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_ACERHDF is not set
@@ 3558,7 3584,25 @@ CONFIG_DELL_WMI_SYSMAN=m
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_THINKPAD_LMI is not set
-# CONFIG_X86_PLATFORM_DRIVERS_INTEL is not set
+# CONFIG_INTEL_ATOMISP2_PM is not set
+# CONFIG_INTEL_SAR_INT1092 is not set
+CONFIG_INTEL_PMC_CORE=m
+
+#
+# Intel Speed Select Technology interface support
+#
+# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
+# end of Intel Speed Select Technology interface support
+
+# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
+# CONFIG_INTEL_WMI_THUNDERBOLT is not set
+# CONFIG_INTEL_HID_EVENT is not set
+# CONFIG_INTEL_VBTN is not set
+# CONFIG_INTEL_OAKTRAIL is not set
+# CONFIG_INTEL_PUNIT_IPC is not set
+# CONFIG_INTEL_RST is not set
+# CONFIG_INTEL_SMARTCONNECT is not set
+# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_MSI_WMI is not set
# CONFIG_SAMSUNG_LAPTOP is not set
@@ 3586,14 3630,6 @@ CONFIG_PMC_ATOM=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
-
-#
-# Clock driver for ARM Reference designs
-#
-# CONFIG_ICST is not set
-# CONFIG_CLK_SP810 is not set
-# end of Clock driver for ARM Reference designs
-
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
@@ 3691,7 3727,13 @@ CONFIG_CLKBLD_I8253=y
# CONFIG_GENERIC_PHY is not set
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set
+
+#
+# PHY drivers for Broadcom platforms
+#
# CONFIG_BCM_KONA_USB2_PHY is not set
+# end of PHY drivers for Broadcom platforms
+
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
@@ 4424,7 4466,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
@@ 4471,6 4512,8 @@ CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
CONFIG_IO_STRICT_DEVMEM=y