Merge commit 'origin/master' into next
Conflicts: include/linux/kvm.h
This commit is contained in:
commit
bcd6acd51f
3651 changed files with 249180 additions and 115589 deletions
|
@ -410,6 +410,16 @@ static void task_show_stack_usage(struct seq_file *m, struct task_struct *task)
|
|||
}
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
static void task_cpus_allowed(struct seq_file *m, struct task_struct *task)
|
||||
{
|
||||
seq_printf(m, "Cpus_allowed:\t");
|
||||
seq_cpumask(m, &task->cpus_allowed);
|
||||
seq_printf(m, "\n");
|
||||
seq_printf(m, "Cpus_allowed_list:\t");
|
||||
seq_cpumask_list(m, &task->cpus_allowed);
|
||||
seq_printf(m, "\n");
|
||||
}
|
||||
|
||||
int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
|
||||
struct pid *pid, struct task_struct *task)
|
||||
{
|
||||
|
@ -424,6 +434,7 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
|
|||
}
|
||||
task_sig(m, task);
|
||||
task_cap(m, task);
|
||||
task_cpus_allowed(m, task);
|
||||
cpuset_task_status_allowed(m, task);
|
||||
#if defined(CONFIG_S390)
|
||||
task_show_regs(m, task);
|
||||
|
@ -495,20 +506,17 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
|
|||
|
||||
/* add up live thread stats at the group level */
|
||||
if (whole) {
|
||||
struct task_cputime cputime;
|
||||
struct task_struct *t = task;
|
||||
do {
|
||||
min_flt += t->min_flt;
|
||||
maj_flt += t->maj_flt;
|
||||
gtime = cputime_add(gtime, task_gtime(t));
|
||||
gtime = cputime_add(gtime, t->gtime);
|
||||
t = next_thread(t);
|
||||
} while (t != task);
|
||||
|
||||
min_flt += sig->min_flt;
|
||||
maj_flt += sig->maj_flt;
|
||||
thread_group_cputime(task, &cputime);
|
||||
utime = cputime.utime;
|
||||
stime = cputime.stime;
|
||||
thread_group_times(task, &utime, &stime);
|
||||
gtime = cputime_add(gtime, sig->gtime);
|
||||
}
|
||||
|
||||
|
@ -524,9 +532,8 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
|
|||
if (!whole) {
|
||||
min_flt = task->min_flt;
|
||||
maj_flt = task->maj_flt;
|
||||
utime = task_utime(task);
|
||||
stime = task_stime(task);
|
||||
gtime = task_gtime(task);
|
||||
task_times(task, &utime, &stime);
|
||||
gtime = task->gtime;
|
||||
}
|
||||
|
||||
/* scale priority and nice values from timeslices to -20..20 */
|
||||
|
|
|
@ -48,7 +48,7 @@ out:
|
|||
static struct ctl_table *find_in_table(struct ctl_table *p, struct qstr *name)
|
||||
{
|
||||
int len;
|
||||
for ( ; p->ctl_name || p->procname; p++) {
|
||||
for ( ; p->procname; p++) {
|
||||
|
||||
if (!p->procname)
|
||||
continue;
|
||||
|
@ -218,7 +218,7 @@ static int scan(struct ctl_table_header *head, ctl_table *table,
|
|||
void *dirent, filldir_t filldir)
|
||||
{
|
||||
|
||||
for (; table->ctl_name || table->procname; table++, (*pos)++) {
|
||||
for (; table->procname; table++, (*pos)++) {
|
||||
int res;
|
||||
|
||||
/* Can't do anything without a proc name */
|
||||
|
|
|
@ -27,7 +27,7 @@ static int show_stat(struct seq_file *p, void *v)
|
|||
int i, j;
|
||||
unsigned long jif;
|
||||
cputime64_t user, nice, system, idle, iowait, irq, softirq, steal;
|
||||
cputime64_t guest;
|
||||
cputime64_t guest, guest_nice;
|
||||
u64 sum = 0;
|
||||
u64 sum_softirq = 0;
|
||||
unsigned int per_softirq_sums[NR_SOFTIRQS] = {0};
|
||||
|
@ -36,7 +36,7 @@ static int show_stat(struct seq_file *p, void *v)
|
|||
|
||||
user = nice = system = idle = iowait =
|
||||
irq = softirq = steal = cputime64_zero;
|
||||
guest = cputime64_zero;
|
||||
guest = guest_nice = cputime64_zero;
|
||||
getboottime(&boottime);
|
||||
jif = boottime.tv_sec;
|
||||
|
||||
|
@ -51,6 +51,8 @@ static int show_stat(struct seq_file *p, void *v)
|
|||
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);
|
||||
for_each_irq_nr(j) {
|
||||
sum += kstat_irqs_cpu(j, i);
|
||||
}
|
||||
|
@ -65,7 +67,8 @@ static int show_stat(struct seq_file *p, void *v)
|
|||
}
|
||||
sum += arch_irq_stat();
|
||||
|
||||
seq_printf(p, "cpu %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",
|
||||
seq_printf(p, "cpu %llu %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),
|
||||
|
@ -74,7 +77,8 @@ static int show_stat(struct seq_file *p, void *v)
|
|||
(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(guest));
|
||||
(unsigned long long)cputime64_to_clock_t(guest),
|
||||
(unsigned long long)cputime64_to_clock_t(guest_nice));
|
||||
for_each_online_cpu(i) {
|
||||
|
||||
/* Copy values here to work around gcc-2.95.3, gcc-2.96 */
|
||||
|
@ -88,8 +92,10 @@ static int show_stat(struct seq_file *p, void *v)
|
|||
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;
|
||||
seq_printf(p,
|
||||
"cpu%d %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",
|
||||
"cpu%d %llu %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),
|
||||
|
@ -99,7 +105,8 @@ static int show_stat(struct seq_file *p, void *v)
|
|||
(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(guest));
|
||||
(unsigned long long)cputime64_to_clock_t(guest),
|
||||
(unsigned long long)cputime64_to_clock_t(guest_nice));
|
||||
}
|
||||
seq_printf(p, "intr %llu", (unsigned long long)sum);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue