
Move to kernel version 5.10 using source from the Yocto Project. 1. Add STX patches for kernel 5.10. 2. Support git source for linux-yocto. 3. Add build_srpm from build-tools/default_build_srpm and modified for git repo from yocto 4. Modify std and rt config files. 5. Build python-perf instead of python3-perf for std kernel. python-perf is needed by tuned-2.8.0-5.el7.noarch. 6. Modify rt spec to build out package kernel-rt-tools and kernel-rt-kvm. 7. Add kernel-5.10.30-x86_64-rt.config.tis_extra and kernel-5.10.30-x86_64.config.tis_extra 8. Add a dist field to avoid undesired rebuilds. 9. Ensure -unsigned package is populated Story: 2008921 Partial-Task: 42519 Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Vefa Bicakci <vefa.bicakci@windriver.com> Signed-off-by: Jiping Ma <jiping.ma2@windriver.com> Change-Id: Id1f635302f265826f7ff2860a3bed4b7755b2888
73 lines
2.5 KiB
Diff
73 lines
2.5 KiB
Diff
From 286f3a8af7f620dac84f20de5f7ad6542f447ace Mon Sep 17 00:00:00 2001
|
|
From: Chris Friesen <chris.friesen@windriver.com>
|
|
Date: Tue, 24 Nov 2015 16:27:29 -0500
|
|
Subject: [PATCH 04/10] Affine irqs and workqueues with kthread_cpus
|
|
|
|
If the kthread_cpus boot arg is set it means we want to affine
|
|
kernel threads to the specified CPU mask as much as possible
|
|
in order to avoid doing work on other CPUs.
|
|
|
|
In this commit we extend the meaning of that boot arg to also
|
|
apply to the CPU affinity of unbound and ordered workqueues.
|
|
|
|
We also use the kthread_cpus value to determine the default irq
|
|
affinity. Specifically, as long as the previously-calculated
|
|
irq affinity intersects with the kthread_cpus affinity then we'll
|
|
use the intersection of the two as the default irq affinity.
|
|
|
|
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
|
|
[VT: replacing spaces with tabs. Performed tests]
|
|
Signed-off-by: Vu Tran <vu.tran@windriver.com>
|
|
|
|
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
|
Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
|
|
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
|
---
|
|
kernel/irq/manage.c | 7 +++++++
|
|
kernel/workqueue.c | 4 ++++
|
|
2 files changed, 11 insertions(+)
|
|
|
|
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
|
|
index 79dc02b956dc..420b5ce0bf89 100644
|
|
--- a/kernel/irq/manage.c
|
|
+++ b/kernel/irq/manage.c
|
|
@@ -515,6 +515,13 @@ int irq_setup_affinity(struct irq_desc *desc)
|
|
if (cpumask_intersects(&mask, nodemask))
|
|
cpumask_and(&mask, &mask, nodemask);
|
|
}
|
|
+
|
|
+ /* This will narrow down the affinity further if we've specified
|
|
+ * a reduced cpu_kthread_mask in the boot args.
|
|
+ */
|
|
+ if (cpumask_intersects(&mask, cpu_kthread_mask))
|
|
+ cpumask_and(&mask, &mask, cpu_kthread_mask);
|
|
+
|
|
ret = irq_do_set_affinity(&desc->irq_data, &mask, false);
|
|
raw_spin_unlock(&mask_lock);
|
|
return ret;
|
|
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
|
|
index 1e2ca744dadb..b854874d0518 100644
|
|
--- a/kernel/workqueue.c
|
|
+++ b/kernel/workqueue.c
|
|
@@ -5956,6 +5956,8 @@ void __init workqueue_init_early(void)
|
|
|
|
BUG_ON(!(attrs = alloc_workqueue_attrs()));
|
|
attrs->nice = std_nice[i];
|
|
+ /* If we've specified a kthread mask apply it here too. */
|
|
+ cpumask_copy(attrs->cpumask, cpu_kthread_mask);
|
|
unbound_std_wq_attrs[i] = attrs;
|
|
|
|
/*
|
|
@@ -5966,6 +5968,8 @@ void __init workqueue_init_early(void)
|
|
BUG_ON(!(attrs = alloc_workqueue_attrs()));
|
|
attrs->nice = std_nice[i];
|
|
attrs->no_numa = true;
|
|
+ /* If we've specified a kthread mask apply it here too. */
|
|
+ cpumask_copy(attrs->cpumask, cpu_kthread_mask);
|
|
ordered_wq_attrs[i] = attrs;
|
|
}
|
|
|
|
--
|
|
2.29.2
|
|
|