lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Thu, 15 Jun 2017 22:25:49 +0800
From:   cee1 <fykcee1@...il.com>
To:     LKML <linux-kernel@...r.kernel.org>
Cc:     Peter Zijlstra <peterz@...radead.org>
Subject: What is the math behind sched_avg_update()?

Hi all,

In  update_cpu_capacity(), it will calculate CPU's capacity with RT
utilization in mind. Which is introduced in commit
e9e9250bc78e7f6342517214c0178a529807964b
(https://lkml.org/lkml/2009/8/27/209).

rq->rt_avg  and rq->age_stamp are introduced for tracing RT utilization in

a) update_curr_rt
      sched_rt_avg_update
        sched_avg_update

b)  scheduler_tick
      cpu_load_update_active
        cpu_load_update_periodic (or cpu_load_update_nohz)
          cpu_load_update
            sched_avg_update


Curious about sched_avg_update(), why "rt->avg / 2^n" (where n denotes
periods passed since rq->age_stamp)?
- It will be a big summed value if next will meet the end of current
period, assuming several RT tasks are running
- But it will suddenly reduce to 1/2^n if just passed several periods

So, what is the math behind sched_avg_update()?



-- 
Regards,

- cee1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ