Messages in this thread | | | Subject | Re: [PATCH 1/3] sched, balancing: Update rq->max_idle_balance_cost whenever newidle balance is attempted | From | Mike Galbraith <> | Date | Fri, 25 Apr 2014 09:58:53 +0200 |
| |
On Fri, 2014-04-25 at 00:13 -0700, Jason Low wrote: > On Fri, 2014-04-25 at 10:42 +0530, Preeti U Murthy wrote: > > I agree with this. However I am concerned with an additional point that > > I have mentioned in my reply to Peter's mail on this thread. > > > > Should we verify if rq->next_balance update is independent of > > pulled_tasks? sd->balance_interval is changed during load_balance() and > > rq->next_balance should perhaps consider that? > > Hi Preeti, > > I agree that we may want to consider having rq->next balance update be > independent of pulled_task. As you mentioned, load_balance() can modify > the balance_interval. > > There are a few things I'm wondering if we would need to also add then: > > 1. In the case that this_rq->avg_idle < sysctl_sched_migration_cost, we > would need to also traverse the domains to properly compute > next_balance (without the sd->busy_factor) as we would be going idle. > Otherwise, next_balance could get set to jiffies + HZ while the > CPU goes idle.
Avoiding high frequency cache misses and cycle wastage on micro-idle was what avg-idle was about. If you're going to traverse anyway, or have a better way to not do that too frequently, you can just nuke it.
-Mike
| |