Re: [PATCH 00/17] Paravirt CPUs and push task for less vCPU preemption
From: Shrikanth Hegde <hidden>
Date: 2025-11-25 08:49:30
Also in:
lkml
Hi Christophe, Greg
quoted
quoted
There is no "v" for this series :(I thought about adding v1. I made it as PATCH from RFC PATCH since functionally it should be complete now with arch bits. Since it is v1, I remember usually people send out without adding v1. after v1 had tags such as v2. I will keep v2 for the next series.But you are listing changes compared to v3, how can it be a v1 ? Shouldn't it be a v4 ? Or in reality a v5 as you already sent a v4 here [1]. [1] https://lore.kernel.org/all/20251119062100.1112520-1- sshegde@linux.ibm.com/ Christophe
Sorry about the confusion in numbers. Hopefully below helps for reviewing. If there are no objections, I will keep next one as v2. Please let me know. Revision logs: ++++++++++++++++++++++++++++++++++++++ RFC PATCH v4 -> PATCH (This series) ++++++++++++++++++++++++++++++++++++++ - Last two patches were sent out separate instead of being with series. Sent it as part of series. - Use DEVICE_ATTR_RW instead (greg) - Made it as PATCH since arch specific handling completes the functionality. +++++++++++++++++++++++++++++++++ RFC PATCH v3 -> RFC PATCH v4 +++++++++++++++++++++++++++++++++ - Introduced computation of steal time in powerpc code. - Derive number of CPUs to use and mark the remaining as paravirt based on steal values. - Provide debugfs knobs to alter how steal time values being used. - Removed static key check for paravirt CPUs (Yury) - Removed preempt_disable/enable while calling stopper (Prateek) - Made select_idle_sibling and friends aware of paravirt CPUs. - Removed 3 unused schedstat fields and introduced 2 related to paravirt handling. - Handled nohz_full case by enabling tick on it when there is CFS/RT on it. - Updated debug patch to override arch behavior for easier debugging during development. - Kept the method to push only current task out instead of moving all task's on rq given the complexity of later. +++++++++++++++++++++++++++++++++ RFC v2 -> RFC PATCH v3 +++++++++++++++++++++++++++++++++ - Renamed to paravirt_cpus_mask - Folded the changes under CONFIG_PARAVIRT. - Fixed the crash due work_buf corruption while using stop_one_cpu_nowait. - Added sysfs documentation. - Copy most of __balance_push_cpu_stop to new one, this helps it move the code out of CONFIG_HOTPLUG_CPU. - Some of the code movement suggested. +++++++++++++++++++++++++++++++++ RFC PATCH -> RFC v2 +++++++++++++++++++++++++++++++++ - Renamed to cpu_avoid_mask in place of cpu_parked_mask. - Used a static key such that no impact to regular case. - add sysfs file to show avoid CPUs. - Make RT understand avoid CPUs. - Add documentation patch - Took care of reported compile error when NR_CPUS=1 PATCH : https://lore.kernel.org/all/20251119124449.1149616-1-sshegde@linux.ibm.com/ (local) RFC PATCH v4 : https://lore.kernel.org/all/20251119062100.1112520-1-sshegde@linux.ibm.com/#r (local) RFC PATCH v3 : https://lore.kernel.org/all/20250910174210.1969750-1-sshegde@linux.ibm.com/#r (local) RFC v2 : https://lore.kernel.org/all/20250625191108.1646208-1-sshegde@linux.ibm.com/#r (local) RFC PATCH : https://lore.kernel.org/all/20250523181448.3777233-1-sshegde@linux.ibm.com/ (local)