]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - lib/pcounter.c
93feea598251ba0c7cc052241c15cdb59a59f7fd
[linux-2.6-omap-h63xx.git] / lib / pcounter.c
1 /*
2  * Define default pcounter functions
3  * Note that often used pcounters use dedicated functions to get a speed increase.
4  * (see DEFINE_PCOUNTER/REF_PCOUNTER_MEMBER)
5  */
6
7 #include <linux/module.h>
8 #include <linux/pcounter.h>
9 #include <linux/smp.h>
10
11 void pcounter_def_add(struct pcounter *self, int inc)
12 {
13         per_cpu_ptr(self->per_cpu_values, smp_processor_id())[0] += inc;
14 }
15
16 EXPORT_SYMBOL_GPL(pcounter_def_add);
17
18 int pcounter_def_getval(const struct pcounter *self)
19 {
20         int res = 0, cpu;
21         for_each_possible_cpu(cpu)
22                 res += per_cpu_ptr(self->per_cpu_values, cpu)[0];
23         return res;
24 }
25
26 EXPORT_SYMBOL_GPL(pcounter_def_getval);