All of lore.kernel.org
 help / color / mirror / Atom feed
* linux-next: manual merge of the tip tree with the cputime tree
@ 2011-12-07  4:09 Stephen Rothwell
  2011-12-07 11:35   ` Glauber Costa
  0 siblings, 1 reply; 28+ messages in thread
From: Stephen Rothwell @ 2011-12-07  4:09 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, Glauber Costa, Martin Schwidefsky

[-- Attachment #1: Type: text/plain, Size: 10286 bytes --]

Hi all,

Today's linux-next merge of the tip tree got conflicts in
kernel/sched/core.c, fs/proc/uptime.c, fs/proc/stat.c,
drivers/cpufreq/cpufreq_conservative.c,
drivers/cpufreq/cpufreq_ondemand.c and drivers/macintosh/rack-meter.c
between commit c5927fe412bf ("[S390] cputime: add sparse checking and
cleanup") from the cputime tree and commit 3292beb340c7
("sched/accounting: Change cpustat fields to an array") from the tip tree.

I fixed it up (I hope - see below) and can carry the fix as necessary.  (I
used the tip version of fs/proc/uptime.c, fs/proc/stat.c and
drivers/macintosh/rack-meter.c).
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc kernel/sched/core.c
index 18cad44,3c5b21e..0000000
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@@ -2166,7 -935,7 +935,7 @@@ static int irqtime_account_hi_update(vo
  
  	local_irq_save(flags);
  	latest_ns = this_cpu_read(cpu_hardirq_time);
- 	if (nsecs_to_cputime64(latest_ns) > cpustat->irq)
 -	if (cputime64_gt(nsecs_to_cputime64(latest_ns), cpustat[CPUTIME_IRQ]))
++	if (nsecs_to_cputime64(latest_ns) > cpustat[CPUTIME_IRQ])
  		ret = 1;
  	local_irq_restore(flags);
  	return ret;
@@@ -2181,7 -950,7 +950,7 @@@ static int irqtime_account_si_update(vo
  
  	local_irq_save(flags);
  	latest_ns = this_cpu_read(cpu_softirq_time);
- 	if (nsecs_to_cputime64(latest_ns) > cpustat->softirq)
 -	if (cputime64_gt(nsecs_to_cputime64(latest_ns), cpustat[CPUTIME_SOFTIRQ]))
++	if (nsecs_to_cputime64(latest_ns) > cpustat[CPUTIME_SOFTIRQ])
  		ret = 1;
  	local_irq_restore(flags);
  	return ret;
@@@ -3867,20 -2633,18 +2633,18 @@@ static inline void task_group_account_f
  void account_user_time(struct task_struct *p, cputime_t cputime,
  		       cputime_t cputime_scaled)
  {
- 	struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
+ 	int index;
  
  	/* Add user time to process. */
 -	p->utime = cputime_add(p->utime, cputime);
 -	p->utimescaled = cputime_add(p->utimescaled, cputime_scaled);
 +	p->utime += cputime;
 +	p->utimescaled += cputime_scaled;
  	account_group_user_time(p, cputime);
  
+ 	index = (TASK_NICE(p) > 0) ? CPUTIME_NICE : CPUTIME_USER;
+ 
  	/* Add user time to cpustat. */
- 	if (TASK_NICE(p) > 0)
- 		cpustat->nice += (__force cputime64_t) cputime;
- 	else
- 		cpustat->user += (__force cputime64_t) cputime;
 -	task_group_account_field(p, index, cputime);
++	task_group_account_field(p, index, (__force cputime64_t) cputime);
  
- 	cpuacct_update_stats(p, CPUACCT_STAT_USER, cputime);
  	/* Account for user time used */
  	acct_update_integrals(p);
  }
@@@ -3894,21 -2658,24 +2658,21 @@@
  static void account_guest_time(struct task_struct *p, cputime_t cputime,
  			       cputime_t cputime_scaled)
  {
- 	struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
 -	u64 tmp;
+ 	u64 *cpustat = kcpustat_this_cpu->cpustat;
  
 -	tmp = cputime_to_cputime64(cputime);
 -
  	/* Add guest time to process. */
 -	p->utime = cputime_add(p->utime, cputime);
 -	p->utimescaled = cputime_add(p->utimescaled, cputime_scaled);
 +	p->utime += cputime;
 +	p->utimescaled += cputime_scaled;
  	account_group_user_time(p, cputime);
 -	p->gtime = cputime_add(p->gtime, cputime);
 +	p->gtime += cputime;
  
  	/* Add guest time to cpustat. */
  	if (TASK_NICE(p) > 0) {
- 		cpustat->nice += (__force cputime64_t) cputime;
- 		cpustat->guest_nice += (__force cputime64_t) cputime;
 -		cpustat[CPUTIME_NICE] += tmp;
 -		cpustat[CPUTIME_GUEST_NICE] += tmp;
++		cpustat[CPUTIME_NICE] += (__force cputime64_t) cputime;
++		cpustat[CPUTIME_GUEST_NICE] += (__force cputime64_t) cputime;
  	} else {
- 		cpustat->user += (__force cputime64_t) cputime;
- 		cpustat->guest += (__force cputime64_t) cputime;
 -		cpustat[CPUTIME_USER] += tmp;
 -		cpustat[CPUTIME_GUEST] += tmp;
++		cpustat[CPUTIME_USER] += (__force cputime64_t) cputime;
++		cpustat[CPUTIME_GUEST] += (__force cputime64_t) cputime;
  	}
  }
  
@@@ -3921,16 -2688,15 +2685,15 @@@
   */
  static inline
  void __account_system_time(struct task_struct *p, cputime_t cputime,
- 			cputime_t cputime_scaled, cputime64_t *target_cputime64)
+ 			cputime_t cputime_scaled, int index)
  {
  	/* Add system time to process. */
 -	p->stime = cputime_add(p->stime, cputime);
 -	p->stimescaled = cputime_add(p->stimescaled, cputime_scaled);
 +	p->stime += cputime;
 +	p->stimescaled += cputime_scaled;
  	account_group_system_time(p, cputime);
  
  	/* Add system time to cpustat. */
- 	*target_cputime64 += (__force cputime64_t) cputime;
- 	cpuacct_update_stats(p, CPUACCT_STAT_SYSTEM, cputime);
 -	task_group_account_field(p, index, cputime);
++	task_group_account_field(p, index, (__force cputime64_t) cputime);
  
  	/* Account for system time used */
  	acct_update_integrals(p);
@@@ -3970,9 -2735,10 +2732,9 @@@ void account_system_time(struct task_st
   */
  void account_steal_time(cputime_t cputime)
  {
- 	struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
+ 	u64 *cpustat = kcpustat_this_cpu->cpustat;
 -	u64 cputime64 = cputime_to_cputime64(cputime);
  
- 	cpustat->steal += (__force cputime64_t) cputime;
 -	cpustat[CPUTIME_STEAL] += cputime64;
++	cpustat[CPUTIME_STEAL] += (__force cputime64_t) cputime;
  }
  
  /*
@@@ -3981,13 -2747,14 +2743,13 @@@
   */
  void account_idle_time(cputime_t cputime)
  {
- 	struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
+ 	u64 *cpustat = kcpustat_this_cpu->cpustat;
  	struct rq *rq = this_rq();
  
  	if (atomic_read(&rq->nr_iowait) > 0)
- 		cpustat->iowait += (__force cputime64_t) cputime;
 -		cpustat[CPUTIME_IOWAIT] += cputime64;
++		cpustat[CPUTIME_IOWAIT] += (__force cputime64_t) cputime;
  	else
- 		cpustat->idle += (__force cputime64_t) cputime;
 -		cpustat[CPUTIME_IDLE] += cputime64;
++		cpustat[CPUTIME_IDLE] += (__force cputime64_t) cputime;
  }
  
  static __always_inline bool steal_account_process_tick(void)
@@@ -4037,15 -2804,16 +2799,15 @@@ static void irqtime_account_process_tic
  						struct rq *rq)
  {
  	cputime_t one_jiffy_scaled = cputime_to_scaled(cputime_one_jiffy);
- 	struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
 -	u64 tmp = cputime_to_cputime64(cputime_one_jiffy);
+ 	u64 *cpustat = kcpustat_this_cpu->cpustat;
  
  	if (steal_account_process_tick())
  		return;
  
  	if (irqtime_account_hi_update()) {
- 		cpustat->irq += (__force cputime64_t) cputime_one_jiffy;
 -		cpustat[CPUTIME_IRQ] += tmp;
++		cpustat[CPUTIME_IRQ] += (__force cputime64_t) cputime_one_jiffy;
  	} else if (irqtime_account_si_update()) {
- 		cpustat->softirq += (__force cputime64_t) cputime_one_jiffy;
 -		cpustat[CPUTIME_SOFTIRQ] += tmp;
++		cpustat[CPUTIME_SOFTIRQ] += (__force cputime64_t) cputime_one_jiffy;
  	} else if (this_cpu_ksoftirqd() == p) {
  		/*
  		 * ksoftirqd time do not get accounted in cpu_softirq_time.
diff --cc drivers/cpufreq/cpufreq_conservative.c
index 7f31a03,118bff7..0000000
--- a/drivers/cpufreq/cpufreq_conservative.c
+++ b/drivers/cpufreq/cpufreq_conservative.c
@@@ -95,26 -95,26 +95,26 @@@ static struct dbs_tuners 
  	.freq_step = 5,
  };
  
- static inline cputime64_t get_cpu_idle_time_jiffy(unsigned int cpu,
- 							cputime64_t *wall)
+ static inline u64 get_cpu_idle_time_jiffy(unsigned int cpu, u64 *wall)
  {
- 	cputime64_t idle_time;
+ 	u64 idle_time;
  	cputime64_t cur_wall_time;
- 	cputime64_t busy_time;
+ 	u64 busy_time;
  
  	cur_wall_time = jiffies64_to_cputime64(get_jiffies_64());
- 	busy_time  = kstat_cpu(cpu).cpustat.user;
- 	busy_time += kstat_cpu(cpu).cpustat.system;
- 	busy_time += kstat_cpu(cpu).cpustat.irq;
- 	busy_time += kstat_cpu(cpu).cpustat.softirq;
- 	busy_time += kstat_cpu(cpu).cpustat.steal;
- 	busy_time += kstat_cpu(cpu).cpustat.nice;
+ 	busy_time = kcpustat_cpu(cpu).cpustat[CPUTIME_USER] +
+ 		    kcpustat_cpu(cpu).cpustat[CPUTIME_SYSTEM];
+ 
+ 	busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_IRQ];
+ 	busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_SOFTIRQ];
+ 	busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_STEAL];
+ 	busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_NICE];
  
 -	idle_time = cputime64_sub(cur_wall_time, busy_time);
 +	idle_time = cur_wall_time - busy_time;
  	if (wall)
- 		*wall = (cputime64_t)jiffies_to_usecs(cur_wall_time);
+ 		*wall = jiffies_to_usecs(cur_wall_time);
  
- 	return (cputime64_t)jiffies_to_usecs(idle_time);
+ 	return jiffies_to_usecs(idle_time);
  }
  
  static inline cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall)
diff --cc drivers/cpufreq/cpufreq_ondemand.c
index 07cffe2,f3d327c..0000000
--- a/drivers/cpufreq/cpufreq_ondemand.c
+++ b/drivers/cpufreq/cpufreq_ondemand.c
@@@ -119,26 -119,26 +119,26 @@@ static struct dbs_tuners 
  	.powersave_bias = 0,
  };
  
- static inline cputime64_t get_cpu_idle_time_jiffy(unsigned int cpu,
- 							cputime64_t *wall)
+ static inline u64 get_cpu_idle_time_jiffy(unsigned int cpu, u64 *wall)
  {
- 	cputime64_t idle_time;
+ 	u64 idle_time;
  	cputime64_t cur_wall_time;
- 	cputime64_t busy_time;
+ 	u64 busy_time;
  
  	cur_wall_time = jiffies64_to_cputime64(get_jiffies_64());
- 	busy_time  = kstat_cpu(cpu).cpustat.user;
- 	busy_time += kstat_cpu(cpu).cpustat.system;
- 	busy_time += kstat_cpu(cpu).cpustat.irq;
- 	busy_time += kstat_cpu(cpu).cpustat.softirq;
- 	busy_time += kstat_cpu(cpu).cpustat.steal;
- 	busy_time += kstat_cpu(cpu).cpustat.nice;
+ 	busy_time = kcpustat_cpu(cpu).cpustat[CPUTIME_USER] +
+ 		    kcpustat_cpu(cpu).cpustat[CPUTIME_SYSTEM];
+ 
+ 	busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_IRQ];
+ 	busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_SOFTIRQ];
+ 	busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_STEAL];
+ 	busy_time += kcpustat_cpu(cpu).cpustat[CPUTIME_NICE];
  
 -	idle_time = cputime64_sub(cur_wall_time, busy_time);
 +	idle_time = cur_wall_time - busy_time;
  	if (wall)
- 		*wall = (cputime64_t)jiffies_to_usecs(cur_wall_time);
+ 		*wall = jiffies_to_usecs(cur_wall_time);
  
- 	return (cputime64_t)jiffies_to_usecs(idle_time);
+ 	return jiffies_to_usecs(idle_time);
  }
  
  static inline cputime64_t get_cpu_idle_time(unsigned int cpu, cputime64_t *wall)

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread
* linux-next: manual merge of the tip tree with the cputime tree
@ 2011-12-19  4:40 Stephen Rothwell
  2011-12-19  8:08 ` Ingo Molnar
  0 siblings, 1 reply; 28+ messages in thread
From: Stephen Rothwell @ 2011-12-19  4:40 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, Glauber Costa, Martin Schwidefsky

[-- Attachment #1: Type: text/plain, Size: 1598 bytes --]

Hi all,

Today's linux-next merge of the tip tree got a conflict in
fs/proc/uptime.c between commit c3e0ef9a298e ("[S390] fix cputime
overflow in uptime_proc_show") from the cputime tree and commit
3292beb340c7 ("sched/accounting: Change cpustat fields to an array") from
the tip tree.

I fixed it up (I think - see below) and can carry the fix as necessary.

Generally, you guys seem to be working a little at cross purposes ...
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/proc/uptime.c
index ab51510,0fb22e4..0000000
--- a/fs/proc/uptime.c
+++ b/fs/proc/uptime.c
@@@ -6,30 -6,25 +6,29 @@@
  #include <linux/time.h>
  #include <linux/kernel_stat.h>
  #include <asm/cputime.h>
  
  static int uptime_proc_show(struct seq_file *m, void *v)
  {
  	struct timespec uptime;
  	struct timespec idle;
- 	cputime64_t idletime;
 +	u64 nsec;
 +	u32 rem;
  	int i;
+ 	u64 idletime = 0;
  
- 	idletime = 0;
  	for_each_possible_cpu(i)
- 		idletime += kstat_cpu(i).cpustat.idle;
+ 		idletime += kcpustat_cpu(i).cpustat[CPUTIME_IDLE];
  
  	do_posix_clock_monotonic_gettime(&uptime);
  	monotonic_to_bootbased(&uptime);
 -	cputime_to_timespec(idletime, &idle);
 +	nsec = cputime64_to_jiffies64(idletime) * TICK_NSEC;
 +	idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem);
 +	idle.tv_nsec = rem;
  	seq_printf(m, "%lu.%02lu %lu.%02lu\n",
  			(unsigned long) uptime.tv_sec,
  			(uptime.tv_nsec / (NSEC_PER_SEC / 100)),
  			(unsigned long) idle.tv_sec,
  			(idle.tv_nsec / (NSEC_PER_SEC / 100)));
  	return 0;
  }
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread
* linux-next: manual merge of the tip tree with the cputime tree
@ 2011-10-25  7:44 Stephen Rothwell
  0 siblings, 0 replies; 28+ messages in thread
From: Stephen Rothwell @ 2011-10-25  7:44 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, Martin Schwidefsky

[-- Attachment #1: Type: text/plain, Size: 1370 bytes --]

Hi all,

Today's linux-next merge of the tip tree got a conflict in
kernel/sched_stats.h between commit f6116715d1ba ("[S390] cputime: add
sparse checking and cleanup") from the cputime tree and commit
ee30a7b2fc07 ("locking, sched: Annotate thread_group_cputimer as raw")
from the tip tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc kernel/sched_stats.h
index a455e62,87f9e36..0000000
--- a/kernel/sched_stats.h
+++ b/kernel/sched_stats.h
@@@ -282,9 -282,10 +282,9 @@@ static inline void account_group_user_t
  	if (!cputimer->running)
  		return;
  
- 	spin_lock(&cputimer->lock);
+ 	raw_spin_lock(&cputimer->lock);
 -	cputimer->cputime.utime =
 -		cputime_add(cputimer->cputime.utime, cputime);
 +	cputimer->cputime.utime += cputime;
- 	spin_unlock(&cputimer->lock);
+ 	raw_spin_unlock(&cputimer->lock);
  }
  
  /**
@@@ -305,9 -306,10 +305,9 @@@ static inline void account_group_system
  	if (!cputimer->running)
  		return;
  
- 	spin_lock(&cputimer->lock);
+ 	raw_spin_lock(&cputimer->lock);
 -	cputimer->cputime.stime =
 -		cputime_add(cputimer->cputime.stime, cputime);
 +	cputimer->cputime.stime += cputime;
- 	spin_unlock(&cputimer->lock);
+ 	raw_spin_unlock(&cputimer->lock);
  }
  
  /**

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread
* linux-next: manual merge of the tip tree with the cputime tree
@ 2011-10-25  7:40 Stephen Rothwell
  2011-10-25 15:29 ` Michal Hocko
  0 siblings, 1 reply; 28+ messages in thread
From: Stephen Rothwell @ 2011-10-25  7:40 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, Martin Schwidefsky, Michal Hocko

[-- Attachment #1: Type: text/plain, Size: 1172 bytes --]

Hi all,

Today's linux-next merge of the tip tree got a conflict in
include/asm-generic/cputime.h between commit f6116715d1ba ("[S390]
cputime: add sparse checking and cleanup") from the cputime tree and
commit ef0e0f5ed9bd ("cputime: Clean up cputime_to_usecs and
usecs_to_cputime macros") from the tip tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc include/asm-generic/cputime.h
index 77202e2,62ce682..0000000
--- a/include/asm-generic/cputime.h
+++ b/include/asm-generic/cputime.h
@@@ -23,10 -38,8 +23,10 @@@ typedef u64 __nocast cputime64_t
  /*
   * Convert cputime to microseconds and back.
   */
 -#define cputime_to_usecs(__ct)		jiffies_to_usecs(__ct)
 -#define usecs_to_cputime(__msecs)	usecs_to_jiffies(__msecs)
 +#define cputime_to_usecs(__ct)		\
- 	jiffies_to_usecs(cputime_to_jiffies(__ct));
++	jiffies_to_usecs(cputime_to_jiffies(__ct))
 +#define usecs_to_cputime(__msecs)	\
- 	jiffies_to_cputime(usecs_to_jiffies(__msecs));
++	jiffies_to_cputime(usecs_to_jiffies(__msecs))
  
  /*
   * Convert cputime to seconds and back.

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread
* linux-next: manual merge of the tip tree with the cputime tree
@ 2011-10-25  7:35 Stephen Rothwell
  2011-10-25 15:28 ` Michal Hocko
  0 siblings, 1 reply; 28+ messages in thread
From: Stephen Rothwell @ 2011-10-25  7:35 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, Martin Schwidefsky, Michal Hocko

[-- Attachment #1: Type: text/plain, Size: 2791 bytes --]

Hi all,

Today's linux-next merge of the tip tree got a conflict in fs/proc/stat.c
between commit f6116715d1ba ("[S390] cputime: add sparse checking and
cleanup") from the cputime tree and commit a25cac5198d4 ("proc: Consider
NO_HZ when printing idle and iowait times") from the tip tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/proc/stat.c
index 566cd04,42b274d..0000000
--- a/fs/proc/stat.c
+++ b/fs/proc/stat.c
@@@ -21,6 -22,35 +22,34 @@@
  #define arch_idle_time(cpu) 0
  #endif
  
+ static cputime64_t get_idle_time(int cpu)
+ {
+ 	u64 idle_time = get_cpu_idle_time_us(cpu, NULL);
+ 	cputime64_t idle;
+ 
+ 	if (idle_time == -1ULL) {
+ 		/* !NO_HZ so we can rely on cpustat.idle */
 -		idle = kstat_cpu(cpu).cpustat.idle;
 -		idle = cputime64_add(idle, arch_idle_time(cpu));
++		idle = kstat_cpu(cpu).cpustat.idle + arch_idle_time(cpu);
+ 	} else
+ 		idle = usecs_to_cputime(idle_time);
+ 
+ 	return idle;
+ }
+ 
+ static cputime64_t get_iowait_time(int cpu)
+ {
+ 	u64 iowait_time = get_cpu_iowait_time_us(cpu, NULL);
+ 	cputime64_t iowait;
+ 
+ 	if (iowait_time == -1ULL)
+ 		/* !NO_HZ so we can rely on cpustat.iowait */
+ 		iowait = kstat_cpu(cpu).cpustat.iowait;
+ 	else
+ 		iowait = usecs_to_cputime(iowait_time);
+ 
+ 	return iowait;
+ }
+ 
  static int show_stat(struct seq_file *p, void *v)
  {
  	int i, j;
@@@ -39,16 -69,17 +68,16 @@@
  	jif = boottime.tv_sec;
  
  	for_each_possible_cpu(i) {
 -		user = cputime64_add(user, kstat_cpu(i).cpustat.user);
 -		nice = cputime64_add(nice, kstat_cpu(i).cpustat.nice);
 -		system = cputime64_add(system, kstat_cpu(i).cpustat.system);
 -		idle = cputime64_add(idle, get_idle_time(i));
 -		iowait = cputime64_add(iowait, get_iowait_time(i));
 -		irq = cputime64_add(irq, kstat_cpu(i).cpustat.irq);
 -		softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
 -		steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
 -		guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest);
 -		guest_nice = cputime64_add(guest_nice,
 -			kstat_cpu(i).cpustat.guest_nice);
 +		user += kstat_cpu(i).cpustat.user;
 +		nice += kstat_cpu(i).cpustat.nice;
 +		system += kstat_cpu(i).cpustat.system;
- 		idle += kstat_cpu(i).cpustat.idle + arch_idle_time(i);
- 		iowait += kstat_cpu(i).cpustat.iowait;
++		idle += get_idle_time(i);
++		iowait +=  get_iowait_time(i);
 +		irq += kstat_cpu(i).cpustat.irq;
 +		softirq += kstat_cpu(i).cpustat.softirq;
 +		steal += kstat_cpu(i).cpustat.steal;
 +		guest += kstat_cpu(i).cpustat.guest;
 +		guest_nice += kstat_cpu(i).cpustat.guest_nice;
  		sum += kstat_cpu_irqs_sum(i);
  		sum += arch_irq_stat_cpu(i);
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2011-12-20 11:11 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-07  4:09 linux-next: manual merge of the tip tree with the cputime tree Stephen Rothwell
2011-12-07 11:35 ` Glauber Costa
2011-12-07 11:35   ` Glauber Costa
2011-12-07 11:59   ` Martin Schwidefsky
2011-12-07 11:59     ` Martin Schwidefsky
  -- strict thread matches above, loose matches on Subject: below --
2011-12-19  4:40 Stephen Rothwell
2011-12-19  8:08 ` Ingo Molnar
2011-12-19  9:11   ` Martin Schwidefsky
2011-12-19 10:35     ` Ingo Molnar
2011-12-19 11:25       ` Ingo Molnar
2011-12-19 14:24         ` Martin Schwidefsky
2011-12-19 16:30           ` Ingo Molnar
2011-12-19 19:06             ` Martin Schwidefsky
2011-12-20 11:09               ` Ingo Molnar
2011-12-19 12:31       ` Martin Schwidefsky
2011-12-19 13:43         ` Glauber Costa
2011-12-19 13:43           ` Glauber Costa
2011-12-19 14:19           ` Martin Schwidefsky
2011-12-19 14:19             ` Martin Schwidefsky
2011-12-19 14:08         ` Peter Zijlstra
2011-12-19 14:25           ` Martin Schwidefsky
2011-12-20 10:19           ` Glauber Costa
2011-12-20 10:19             ` Glauber Costa
2011-10-25  7:44 Stephen Rothwell
2011-10-25  7:40 Stephen Rothwell
2011-10-25 15:29 ` Michal Hocko
2011-10-25  7:35 Stephen Rothwell
2011-10-25 15:28 ` Michal Hocko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.