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);
+ }