[PATCH 23/25] leds: Use vtime aware kcpustat accessors

2018-11-13 Thread Frederic Weisbecker
Now that we have a vtime safe kcpustat accessor, use it to fix frozen
kcpustat values on nohz_full CPUs.

Reported-by: Yauheni Kaliuta 
Signed-off-by: Frederic Weisbecker 
Cc: Yauheni Kaliuta 
Cc: Thomas Gleixner 
Cc: Rik van Riel 
Cc: Peter Zijlstra 
Cc: Wanpeng Li 
Cc: Ingo Molnar 
---
 drivers/leds/trigger/ledtrig-activity.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/leds/trigger/ledtrig-activity.c 
b/drivers/leds/trigger/ledtrig-activity.c
index bcbf41c..b4a1f66 100644
--- a/drivers/leds/trigger/ledtrig-activity.c
+++ b/drivers/leds/trigger/ledtrig-activity.c
@@ -60,9 +60,12 @@ static void led_activity_function(struct timer_list *t)
curr_used = 0;
 
for_each_possible_cpu(i) {
-   curr_used += kcpustat_cpu(i).cpustat[CPUTIME_USER]
- +  kcpustat_cpu(i).cpustat[CPUTIME_NICE]
- +  kcpustat_cpu(i).cpustat[CPUTIME_SYSTEM]
+   u64 user, nice, sys, guest, guest_nice;
+
+   kcpustat_cputime(_cpu(i), i, , , ,
+, _nice);
+
+   curr_used += user + nice + sys
  +  kcpustat_cpu(i).cpustat[CPUTIME_SOFTIRQ]
  +  kcpustat_cpu(i).cpustat[CPUTIME_IRQ];
cpus++;
-- 
2.7.4



[PATCH 23/25] leds: Use vtime aware kcpustat accessors

2018-11-13 Thread Frederic Weisbecker
Now that we have a vtime safe kcpustat accessor, use it to fix frozen
kcpustat values on nohz_full CPUs.

Reported-by: Yauheni Kaliuta 
Signed-off-by: Frederic Weisbecker 
Cc: Yauheni Kaliuta 
Cc: Thomas Gleixner 
Cc: Rik van Riel 
Cc: Peter Zijlstra 
Cc: Wanpeng Li 
Cc: Ingo Molnar 
---
 drivers/leds/trigger/ledtrig-activity.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/leds/trigger/ledtrig-activity.c 
b/drivers/leds/trigger/ledtrig-activity.c
index bcbf41c..b4a1f66 100644
--- a/drivers/leds/trigger/ledtrig-activity.c
+++ b/drivers/leds/trigger/ledtrig-activity.c
@@ -60,9 +60,12 @@ static void led_activity_function(struct timer_list *t)
curr_used = 0;
 
for_each_possible_cpu(i) {
-   curr_used += kcpustat_cpu(i).cpustat[CPUTIME_USER]
- +  kcpustat_cpu(i).cpustat[CPUTIME_NICE]
- +  kcpustat_cpu(i).cpustat[CPUTIME_SYSTEM]
+   u64 user, nice, sys, guest, guest_nice;
+
+   kcpustat_cputime(_cpu(i), i, , , ,
+, _nice);
+
+   curr_used += user + nice + sys
  +  kcpustat_cpu(i).cpustat[CPUTIME_SOFTIRQ]
  +  kcpustat_cpu(i).cpustat[CPUTIME_IRQ];
cpus++;
-- 
2.7.4