1234567891011121314151617181920212223242526272829 |
- /*
- * Copyright 2006 Andi Kleen, SUSE Labs.
- * Subject to the GNU Public License, v.2
- *
- * Fast user context implementation of getcpu()
- */
- #include <linux/kernel.h>
- #include <linux/getcpu.h>
- #include <linux/time.h>
- #include <asm/vgtod.h>
- notrace long
- __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused)
- {
- unsigned int p;
- p = __getcpu();
- if (cpu)
- *cpu = p & VGETCPU_CPU_MASK;
- if (node)
- *node = p >> 12;
- return 0;
- }
- long getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache)
- __attribute__((weak, alias("__vdso_getcpu")));
|