diff options
| -rw-r--r-- | fs/proc/proc_misc.c | 15 | ||||
| -rw-r--r-- | include/linux/kernel_stat.h | 1 | 
2 files changed, 12 insertions, 4 deletions
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index bee251cb87c..b872a01ad3a 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c @@ -443,6 +443,7 @@ static int show_stat(struct seq_file *p, void *v)  	int i;  	unsigned long jif;  	cputime64_t user, nice, system, idle, iowait, irq, softirq, steal; +	cputime64_t guest;  	u64 sum = 0;  	struct timespec boottime;  	unsigned int *per_irq_sum; @@ -453,6 +454,7 @@ static int show_stat(struct seq_file *p, void *v)  	user = nice = system = idle = iowait =  		irq = softirq = steal = cputime64_zero; +	guest = cputime64_zero;  	getboottime(&boottime);  	jif = boottime.tv_sec; @@ -467,6 +469,7 @@ static int show_stat(struct seq_file *p, void *v)  		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);  		for (j = 0; j < NR_IRQS; j++) {  			unsigned int temp = kstat_cpu(i).irqs[j];  			sum += temp; @@ -474,7 +477,7 @@ static int show_stat(struct seq_file *p, void *v)  		}  	} -	seq_printf(p, "cpu  %llu %llu %llu %llu %llu %llu %llu %llu\n", +	seq_printf(p, "cpu  %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",  		(unsigned long long)cputime64_to_clock_t(user),  		(unsigned long long)cputime64_to_clock_t(nice),  		(unsigned long long)cputime64_to_clock_t(system), @@ -482,7 +485,8 @@ static int show_stat(struct seq_file *p, void *v)  		(unsigned long long)cputime64_to_clock_t(iowait),  		(unsigned long long)cputime64_to_clock_t(irq),  		(unsigned long long)cputime64_to_clock_t(softirq), -		(unsigned long long)cputime64_to_clock_t(steal)); +		(unsigned long long)cputime64_to_clock_t(steal), +		(unsigned long long)cputime64_to_clock_t(guest));  	for_each_online_cpu(i) {  		/* Copy values here to work around gcc-2.95.3, gcc-2.96 */ @@ -494,7 +498,9 @@ static int show_stat(struct seq_file *p, void *v)  		irq = kstat_cpu(i).cpustat.irq;  		softirq = kstat_cpu(i).cpustat.softirq;  		steal = kstat_cpu(i).cpustat.steal; -		seq_printf(p, "cpu%d %llu %llu %llu %llu %llu %llu %llu %llu\n", +		guest = kstat_cpu(i).cpustat.guest; +		seq_printf(p, +			"cpu%d %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",  			i,  			(unsigned long long)cputime64_to_clock_t(user),  			(unsigned long long)cputime64_to_clock_t(nice), @@ -503,7 +509,8 @@ static int show_stat(struct seq_file *p, void *v)  			(unsigned long long)cputime64_to_clock_t(iowait),  			(unsigned long long)cputime64_to_clock_t(irq),  			(unsigned long long)cputime64_to_clock_t(softirq), -			(unsigned long long)cputime64_to_clock_t(steal)); +			(unsigned long long)cputime64_to_clock_t(steal), +			(unsigned long long)cputime64_to_clock_t(guest));  	}  	seq_printf(p, "intr %llu", (unsigned long long)sum); diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h index 43e895f1cab..12bf44f083f 100644 --- a/include/linux/kernel_stat.h +++ b/include/linux/kernel_stat.h @@ -23,6 +23,7 @@ struct cpu_usage_stat {  	cputime64_t idle;  	cputime64_t iowait;  	cputime64_t steal; +	cputime64_t guest;  };  struct kernel_stat {  |