Re: CFS: Scheduler: How does each change in 'nice' value result in 10% change in CPU time?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 21, 2016 at 9:37 AM,  <Valdis.Kletnieks@xxxxxx> wrote:
> On Thu, 21 Jan 2016 08:51:08 -0800, John Locke said:
>
>>  * Nice levels are multiplicative, with a gentle 10% change for every
>>  * nice level changed. I.e. when a CPU-bound task goes from nice 0 to
>>  * nice 1, it will get ~10% less CPU time than another CPU-bound task
>
> Note the ~ indicating approximately.
>
>> If I take an example of 2 tasks both with weight=1024 (NICE_0) they
>> should each get 50% of the CPU time. If 1 of the tasks is reniced to
>> NICE_1 then the NICE_0 task will get 1024/(1024+820)=56% of the CPU
>> time and  the NICE_1 task will get 44% of the CPU time.
>
> 12% difference - that's around 10%.
>

That's true but depending on what nice levels I choose it can be off
by more. If I increase the distance between 'nice' levels, e.g. using
-20 and -9 then I get (88761+7620)/96381 or 92% CPU time vs 8%. I
guess the real question is if I were given a set of tasks running on
the system and their 'nice' levels could I quantify roughly how much
CPU time CFS would give them? The ~10% guideline is nice but doesn't
hold if the spread between 'nice' levels is larger it seems.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux