Re: [PATCH] perf_counter: Prevent oopses from per-cpu softwarecounters

From: Ingo Molnar
Date: Fri Feb 06 2009 - 10:32:17 EST



* Paul Mackerras <paulus@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/