diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-03-28 16:39:58 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-28 16:39:58 -0700 |
commit | 095d911201b0741e7f326d269a005dba55985acf (patch) | |
tree | 7bb8001d8230214e790d1705b11c8f8afa6cc65e /lib/pcounter.c | |
parent | bdcde3d71a67e97f25e851f3ca97c9bb5ef03e7f (diff) |
[LIB]: Drop the pcounter itself.
The knock-out. The pcounter abstraction is not used any longer in the
kernel.
Not sure whether this should go via netdev tree, but as far as I
remember it was added via this one, and besides Eric thinks that
Andrew shouldn't mind this.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/pcounter.c')
-rw-r--r-- | lib/pcounter.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/lib/pcounter.c b/lib/pcounter.c deleted file mode 100644 index 9b56807da93..00000000000 --- a/lib/pcounter.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Define default pcounter functions - * Note that often used pcounters use dedicated functions to get a speed increase. - * (see DEFINE_PCOUNTER/REF_PCOUNTER_MEMBER) - */ - -#include <linux/module.h> -#include <linux/pcounter.h> -#include <linux/smp.h> -#include <linux/cpumask.h> - -static void pcounter_dyn_add(struct pcounter *self, int inc) -{ - per_cpu_ptr(self->per_cpu_values, smp_processor_id())[0] += inc; -} - -static int pcounter_dyn_getval(const struct pcounter *self, int cpu) -{ - return per_cpu_ptr(self->per_cpu_values, cpu)[0]; -} - -int pcounter_getval(const struct pcounter *self) -{ - int res = 0, cpu; - - for_each_possible_cpu(cpu) - res += self->getval(self, cpu); - - return res; -} -EXPORT_SYMBOL_GPL(pcounter_getval); - -int pcounter_alloc(struct pcounter *self) -{ - int rc = 0; - if (self->add == NULL) { - self->per_cpu_values = alloc_percpu(int); - if (self->per_cpu_values != NULL) { - self->add = pcounter_dyn_add; - self->getval = pcounter_dyn_getval; - } else - rc = 1; - } - return rc; -} -EXPORT_SYMBOL_GPL(pcounter_alloc); - -void pcounter_free(struct pcounter *self) -{ - if (self->per_cpu_values != NULL) { - free_percpu(self->per_cpu_values); - self->per_cpu_values = NULL; - self->getval = NULL; - self->add = NULL; - } -} -EXPORT_SYMBOL_GPL(pcounter_free); - |