On Mon, Jul 15, 2013 at 02:00:42PM +0400, Vladimir Davydov wrote: > On 07/15/2013 12:28 PM, Peter Zijlstra wrote: > >OK, fair enough. It does somewhat rely on us getting the single > >rq->clock update thing right, but that should be ok. > > Frankly, I doubt that rq->clock is the right thing to use here, because it > can be updated very frequently under some conditions, so that cfs_rq->h_load > can get updated several times during the same balance run. Perhaps, jiffies > would suit better for that purpose. This would work as h_load update > throttler similar to how it works now (I mean rq->h_load_throttle in > update_h_load()). > > If there is something else you don't like/have some thoughts on, please > share - I'll try to improve.
Yeah, go with jiffies, that makes more sense. Other than that, when I initially saw your patch I thought about 'fixing' walk_tg_tree() to ignore groups that have no tasks but that's not going to help for the case where all groups have 1 (or more) tasks that are inactive. We also cannot use cfs_rq::h_nr_running because that's per cpu and not system wide. So yeah, after a bit of a ponder I agreed that your aproach was the most feasible. So unless someone else has a bright idea I think what you propose is a good solution. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/