Messages in this thread | | | From | bsegall@google ... | Subject | Re: [PATCH 5/6] sched/fair: Get rid of scaling utilization by capacity_orig | Date | Wed, 16 Sep 2015 10:06:24 -0700 |
| |
Yuyang Du <yuyang.du@intel.com> writes:
> On Tue, Sep 15, 2015 at 10:11:41AM -0700, bsegall@google.com wrote: >> > >> > I guess you are saying we are conflating NICE_0 with NICE_0_LOAD. But to me, >> > they are just integer metrics, needing a resolution respectively. That is it. >> >> Yes this would change nothing at the moment post-expansion, that's not >> the point. SLR being 10 bits and the nice-0 being 1024 are completely >> and utterly unrelated and the headers should not pretend they need to be >> the same value, > > I never said they are related, why should they be related. And they need or > need not to be the same value, fine. > > However, the SLR has to be a value. It is because it mighe be 10 or 20 (LOAD), > therefore I make SCHED_RESOLUTION_SHIFT 10 (kind of a denominator). Not the > other way around. > > We can define SCHED_RESOLUTION_SHIFT 1, and then define SLR = x * SCHED_RESOLUTION_SHIFT > with x being a random number, if you must.
That's sorta the point - you could do this and it would be just as (non-)sensical.
> >> any more than there should be a #define that is shared >> with every other use of 1024 in the kernel. > > The point really is, metrics (if not many ) need resolution, not just NICE_0_LOAD does. > You can choose to either hardcode a number, like SCHED_CAPACITY_SHIFT now, > or you can use SCHED_RESOLUTION_SHIFT, which is even as simple as a sign to say what > the defined is (the scaled one with a better resolution vs. the original one). > I guess this is to say we now have a (no-big-deal) resolution system.
Yes they were chosen for similar reasons, but they are not conceptually related, and you couldn't decide to just bump up all the resolutions by changing SCHED_RESOLUTION_SHIFT, so doing this would just be misleading.
| |