Messages in this thread | | | Date | Fri, 6 Feb 2009 16:31:38 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] perf_counter: Prevent oopses from per-cpu software counters |
| |
* Paul Mackerras <paulus@samba.org> wrote:
> Ingo Molnar writes: > > > So how about fixing these sw counts to properly work as percpu counters too? > > OK, so for page faults it looks like I want to look at > > get_cpu_var(vm_event_states).event[PGFAULT] > > to get the per-cpu page fault count, as long as > CONFIG_VM_EVENT_COUNTERS is set.
Yeah - i'd suggest that. Note hat VM_EVENT_COUNTERS is default enabled on 99.99% of kernels:
config VM_EVENT_COUNTERS default y bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
> It looks like the scheduler doesn't keep per-cpu counts of context > switches or task migrations, or if it does I couldn't find them. We could > do stuff in perf_counter_task_sched_in/out to implement per-cpu context > switch and migration counters by adding up the delta values for each task > that gets scheduled onto the cpu. Or we could add explicit per-cpu > counters for these things in the scheduler. > > What do you think?
For per-cpu counts of context switches we already have rq->nr_switches.
We dont have per-cpu counts of migrations - but could add them.
We should do it this way becaue it would be nice to make per-cpu counters work just fine even if they are never switched in and out during context switches. That turns per-cpu counters into even lower-overhead ways of monitoring those values.
Ingo
| |