On Thu, Oct 10, 2019 at 10:29:47AM -0400, Vineeth Remanan Pillai wrote: > > I didn't see why we need do this. > > > > We only need to have the root level sched entities' vruntime become core > > wide since we will compare vruntime for them across hyperthreads. For > > sched entities on sub cfs_rqs, we never(at least, not now) compare their > > vruntime outside their cfs_rqs. > > > The reason we need to do this is because, new tasks that gets created will > have a vruntime based on the new min_vruntime and old tasks will have it > based on the old min_vruntime
I think this is expected behaviour. > and it can cause starvation based on how > you set the min_vruntime. Care to elaborate the starvation problem? > With this new patch, we normalize the whole > tree so that new tasks and old tasks compare with the same min_vruntime. Again, what's the point of normalizing sched entities' vruntime in sub-cfs_rqs? Their vruntime comparisons only happen inside their own cfs_rq, we don't do cross CPU vruntime comparison for them.