Re: [RFC PATCH v3 04/10] sched/core: Dont allow to use CPU marked as paravirt
From: Shrikanth Hegde
Date: Thu Sep 11 2025 - 10:44:37 EST
On 9/11/25 10:46 AM, K Prateek Nayak wrote:
Hello Shrikanth,
Hi Prateek, Thanks for looking into this.
On 9/10/2025 11:12 PM, Shrikanth Hegde wrote:
@@ -2462,8 +2462,13 @@ static inline bool is_cpu_allowed(struct task_struct *p, int cpu)
return cpu_online(cpu);
/* Non kernel threads are not allowed during either online or offline. */
- if (!(p->flags & PF_KTHREAD))
- return cpu_active(cpu);
+ if (!(p->flags & PF_KTHREAD)) {
+ /* A user thread shouldn't be allowed on a paravirt cpu */
+ if (is_cpu_paravirt(cpu))
+ return false;
+ else
nit. redundant "else". I think this can be simplified as:
alright.
return !is_cpu_paravirt(cpu) && cpu_active(cpu);
+ return cpu_active(cpu);
+ }