diff options
| author | Frederic Weisbecker <frederic@kernel.org> | 2025-07-29 14:26:11 +0200 |
|---|---|---|
| committer | Florian Westphal <fw@strlen.de> | 2025-08-13 08:34:33 +0200 |
| commit | c0a23bbc98e93704a1f4fb5e7e7bb2d7c0fb6eb3 (patch) | |
| tree | 54de7c4173419230fae5688244ad88df156cecd8 /net | |
| parent | netfilter: nft_set_pipapo: fix null deref for empty set (diff) | |
| download | linux-c0a23bbc98e93704a1f4fb5e7e7bb2d7c0fb6eb3.tar.gz linux-c0a23bbc98e93704a1f4fb5e7e7bb2d7c0fb6eb3.zip | |
ipvs: Fix estimator kthreads preferred affinity
The estimator kthreads' affinity are defined by sysctl overwritten
preferences and applied through a plain call to the scheduler's affinity
API.
However since the introduction of managed kthreads preferred affinity,
such a practice shortcuts the kthreads core code which eventually
overwrites the target to the default unbound affinity.
Fix this with using the appropriate kthread's API.
Fixes: d1a89197589c ("kthread: Default affine kthread to its preferred NUMA node")
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'net')
| -rw-r--r-- | net/netfilter/ipvs/ip_vs_est.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/netfilter/ipvs/ip_vs_est.c b/net/netfilter/ipvs/ip_vs_est.c index f821ad2e19b3..15049b826732 100644 --- a/net/netfilter/ipvs/ip_vs_est.c +++ b/net/netfilter/ipvs/ip_vs_est.c @@ -265,7 +265,8 @@ int ip_vs_est_kthread_start(struct netns_ipvs *ipvs, } set_user_nice(kd->task, sysctl_est_nice(ipvs)); - set_cpus_allowed_ptr(kd->task, sysctl_est_cpulist(ipvs)); + if (sysctl_est_preferred_cpulist(ipvs)) + kthread_affine_preferred(kd->task, sysctl_est_preferred_cpulist(ipvs)); pr_info("starting estimator thread %d...\n", kd->id); wake_up_process(kd->task); |
