1 diff -Nru a/kernel/cpuset.c b/kernel/cpuset.c
2 --- a/kernel/cpuset.c Tue Oct 21 15:53:11 2003
3 +++ b/kernel/cpuset.c Tue Oct 21 15:53:11 2003
6 #ifdef CONFIG_CPUSETS_PROC
8 +static struct cpuset *proc_cpusets_idx(loff_t n)
12 + list_for_each_entry(set, &top_cpuset, list) {
19 static void *proc_cpusets_start(struct seq_file *m, loff_t *pos)
22 - struct list_head *p;
24 read_lock(&cpuset_lock);
25 - if (!n) seq_puts(m, "cpusets info \n");
27 - p = &top_cpuset.list;
30 - if (p == &top_cpuset.list)
33 - return list_entry(p, struct cpuset, list);
34 + return (*pos == 0) ? SEQ_START_TOKEN : proc_cpusets_idx(*pos);
37 static void *proc_cpusets_next(struct seq_file *m, void *p, loff_t *pos)
39 - struct cpuset * cs = p;
42 - return cs->list.next == &top_cpuset.list ? NULL
43 - : list_entry(cs->list.next, struct cpuset, list);
45 + cs = (p == SEQ_START_TOKEN) ? top_cpuset.list.next
46 + : ((struct cpuset *)p)->list.next;
48 + return (cs == &top_cpuset.list) ? NULL : cs;
51 /* How many chars needed to print a long (as a mask) ? */
54 char maskbuf[CFL + 1];
56 + if (p == SEQ_START_TOKEN)
57 + seq_puts(m, "cpusets info \n");
59 + seq_printf(m, "cpuset %d {\n"
64 + "\tuid & suid = %d & %d\n",
65 + cs->id, cs->parent ? cs->parent->id : -1,
66 + cs->flags, atomic_read(&cs->count), cs->has_been_attached,
69 + sprint_mask(maskbuf, cs->cpus_allowed);
70 + seq_printf(m,"\tcpus_allowed = %s\n", maskbuf);
71 + sprint_mask(maskbuf, cs->cpus_reserved);
72 + seq_printf(m,"\tcpus_reserved = %s\n", maskbuf);
73 + sprint_mask(maskbuf, cs->cpus_strictly_reserved);
74 + seq_printf(m,"\tcpus_strictly_reserved = %s\n", maskbuf);
76 - seq_printf(m, "cpuset %d {\n"
81 - "\tuid & suid = %d & %d\n",
82 - cs->id, cs->parent ? cs->parent->id : -1,
83 - cs->flags, atomic_read(&cs->count), cs->has_been_attached,
86 - sprint_mask(maskbuf, cs->cpus_allowed);
87 - seq_printf(m,"\tcpus_allowed = %s\n", maskbuf);
88 - sprint_mask(maskbuf, cs->cpus_reserved);
89 - seq_printf(m,"\tcpus_reserved = %s\n", maskbuf);
90 - sprint_mask(maskbuf, cs->cpus_strictly_reserved);
91 - seq_printf(m,"\tcpus_strictly_reserved = %s\n", maskbuf);
93 - seq_printf(m, "}\n\n");
94 + seq_printf(m, "}\n\n");