Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Boqun Feng
Hi Yuyang, On Mon, Jul 27, 2015 at 04:34:09AM +0800, Yuyang Du wrote: > On Mon, Jul 27, 2015 at 12:04:20PM +0800, Boqun Feng wrote: > > > ~~~ > > > > > 1) blocked load is more "difficult" to track, hint, migrate. > > >

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Yuyang Du
On Mon, Jul 27, 2015 at 12:04:20PM +0800, Boqun Feng wrote: > > ~~~ > > > > 1) blocked load is more "difficult" to track, hint, migrate. > > ~~~ > > I may not get your point

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Boqun Feng
Hi Yuyang, On Mon, Jul 27, 2015 at 03:56:34AM +0800, Yuyang Du wrote: > On Mon, Jul 27, 2015 at 11:21:15AM +0800, Boqun Feng wrote: > > Hi Yuyang, > > > > On Mon, Jul 27, 2015 at 02:43:25AM +0800, Yuyang Du wrote: > > > Hi Boqun, > > > > > > On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Yuyang Du
On Mon, Jul 27, 2015 at 11:21:15AM +0800, Boqun Feng wrote: > Hi Yuyang, > > On Mon, Jul 27, 2015 at 02:43:25AM +0800, Yuyang Du wrote: > > Hi Boqun, > > > > On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: > > > The point is that you have already tracked the sum of runnable_load_avg

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Yuyang Du
On Wed, Jul 22, 2015 at 10:19:54AM +0800, Boqun Feng wrote: > > > +/* Remove the runnable load generated by se from cfs_rq's runnable load > > average */ > > +static inline void > > +dequeue_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) > > +{ > > + update_load_avg(se, 1); >

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Boqun Feng
On Mon, Jul 27, 2015 at 11:21:15AM +0800, Boqun Feng wrote: > Hi Yuyang, > > On Mon, Jul 27, 2015 at 02:43:25AM +0800, Yuyang Du wrote: > > Hi Boqun, > > > > On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: > > > The point is that you have already tracked the sum of runnable_load_avg

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Boqun Feng
Hi Yuyang, On Mon, Jul 27, 2015 at 02:43:25AM +0800, Yuyang Du wrote: > Hi Boqun, > > On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: > > The point is that you have already tracked the sum of runnable_load_avg > > and blocked_load_avg in cfs_rq->avg.load_avg. If you're going to track

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Yuyang Du
Hi Boqun, On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: > The point is that you have already tracked the sum of runnable_load_avg > and blocked_load_avg in cfs_rq->avg.load_avg. If you're going to track > part of the sum, you'd better track the one that's updated less > frequently,

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Boqun Feng
Hi Yuyang, On Mon, Jul 27, 2015 at 03:56:34AM +0800, Yuyang Du wrote: On Mon, Jul 27, 2015 at 11:21:15AM +0800, Boqun Feng wrote: Hi Yuyang, On Mon, Jul 27, 2015 at 02:43:25AM +0800, Yuyang Du wrote: Hi Boqun, On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: The

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Yuyang Du
Hi Boqun, On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: The point is that you have already tracked the sum of runnable_load_avg and blocked_load_avg in cfs_rq-avg.load_avg. If you're going to track part of the sum, you'd better track the one that's updated less frequently,

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Boqun Feng
Hi Yuyang, On Mon, Jul 27, 2015 at 02:43:25AM +0800, Yuyang Du wrote: Hi Boqun, On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: The point is that you have already tracked the sum of runnable_load_avg and blocked_load_avg in cfs_rq-avg.load_avg. If you're going to track part

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Yuyang Du
On Mon, Jul 27, 2015 at 11:21:15AM +0800, Boqun Feng wrote: Hi Yuyang, On Mon, Jul 27, 2015 at 02:43:25AM +0800, Yuyang Du wrote: Hi Boqun, On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: The point is that you have already tracked the sum of runnable_load_avg and

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Boqun Feng
On Mon, Jul 27, 2015 at 11:21:15AM +0800, Boqun Feng wrote: Hi Yuyang, On Mon, Jul 27, 2015 at 02:43:25AM +0800, Yuyang Du wrote: Hi Boqun, On Tue, Jul 21, 2015 at 06:29:56PM +0800, Boqun Feng wrote: The point is that you have already tracked the sum of runnable_load_avg and

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Yuyang Du
On Wed, Jul 22, 2015 at 10:19:54AM +0800, Boqun Feng wrote: +/* Remove the runnable load generated by se from cfs_rq's runnable load average */ +static inline void +dequeue_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) +{ + update_load_avg(se, 1); + I think

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Yuyang Du
On Mon, Jul 27, 2015 at 12:04:20PM +0800, Boqun Feng wrote: ~~~ 1) blocked load is more difficult to track, hint, migrate. ~~~ I may not get your point here? Are you

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-26 Thread Boqun Feng
Hi Yuyang, On Mon, Jul 27, 2015 at 04:34:09AM +0800, Yuyang Du wrote: On Mon, Jul 27, 2015 at 12:04:20PM +0800, Boqun Feng wrote: ~~~ 1) blocked load is more difficult to track, hint, migrate.

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-21 Thread Boqun Feng
On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: > The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. > Before this series, sometimes the runnable_load_avg is used, and sometimes > the load_avg is used. Completely replacing all uses of runnable_load_avg > with

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-21 Thread Boqun Feng
On Tue, Jul 21, 2015 at 06:18:46PM +0800, Boqun Feng wrote: > On Tue, Jul 21, 2015 at 08:44:01AM +0800, Yuyang Du wrote: > > On Tue, Jul 21, 2015 at 09:08:07AM +0800, Boqun Feng wrote: > > > Hi Yuyang, > > > > > > On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: > > > > The cfs_rq's

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-21 Thread Boqun Feng
On Tue, Jul 21, 2015 at 08:44:01AM +0800, Yuyang Du wrote: > On Tue, Jul 21, 2015 at 09:08:07AM +0800, Boqun Feng wrote: > > Hi Yuyang, > > > > On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: > > > The cfs_rq's load_avg is composed of runnable_load_avg and > > > blocked_load_avg. > >

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-21 Thread Yuyang Du
On Tue, Jul 21, 2015 at 09:08:07AM +0800, Boqun Feng wrote: > Hi Yuyang, > > On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: > > The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. > > Before this series, sometimes the runnable_load_avg is used, and sometimes >

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-21 Thread Boqun Feng
On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. Before this series, sometimes the runnable_load_avg is used, and sometimes the load_avg is used. Completely replacing all uses of runnable_load_avg with

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-21 Thread Yuyang Du
On Tue, Jul 21, 2015 at 09:08:07AM +0800, Boqun Feng wrote: Hi Yuyang, On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. Before this series, sometimes the runnable_load_avg is used, and sometimes the

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-21 Thread Boqun Feng
On Tue, Jul 21, 2015 at 08:44:01AM +0800, Yuyang Du wrote: On Tue, Jul 21, 2015 at 09:08:07AM +0800, Boqun Feng wrote: Hi Yuyang, On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. Before this

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-21 Thread Boqun Feng
On Tue, Jul 21, 2015 at 06:18:46PM +0800, Boqun Feng wrote: On Tue, Jul 21, 2015 at 08:44:01AM +0800, Yuyang Du wrote: On Tue, Jul 21, 2015 at 09:08:07AM +0800, Boqun Feng wrote: Hi Yuyang, On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: The cfs_rq's load_avg is

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-20 Thread Boqun Feng
Hi Yuyang, On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: > The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. > Before this series, sometimes the runnable_load_avg is used, and sometimes > the load_avg is used. Completely replacing all uses of

Re: [PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-20 Thread Boqun Feng
Hi Yuyang, On Wed, Jul 15, 2015 at 08:04:41AM +0800, Yuyang Du wrote: The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. Before this series, sometimes the runnable_load_avg is used, and sometimes the load_avg is used. Completely replacing all uses of runnable_load_avg

[PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-15 Thread Yuyang Du
The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. Before this series, sometimes the runnable_load_avg is used, and sometimes the load_avg is used. Completely replacing all uses of runnable_load_avg with load_avg may be too big a leap, i.e., the blocked_load_avg is

[PATCH v10 6/7] sched: Provide runnable_load_avg back to cfs_rq

2015-07-15 Thread Yuyang Du
The cfs_rq's load_avg is composed of runnable_load_avg and blocked_load_avg. Before this series, sometimes the runnable_load_avg is used, and sometimes the load_avg is used. Completely replacing all uses of runnable_load_avg with load_avg may be too big a leap, i.e., the blocked_load_avg is