diff options
author | hunt <hunt> | 2005-11-28 22:08:39 +0000 |
---|---|---|
committer | hunt <hunt> | 2005-11-28 22:08:39 +0000 |
commit | a432e18a24569804c82f14b36ae7d8dfcc245da7 (patch) | |
tree | a59fbb363f9837117053d54ead454895609c4314 /runtime/user/alloc.c | |
parent | bdf00cf6b089eccd30b5cfec8c06be7b949749d8 (diff) | |
download | systemtap-steved-a432e18a24569804c82f14b36ae7d8dfcc245da7.tar.gz systemtap-steved-a432e18a24569804c82f14b36ae7d8dfcc245da7.tar.xz systemtap-steved-a432e18a24569804c82f14b36ae7d8dfcc245da7.zip |
2005-11-28 Martin Hunt <hunt@redhat.com>
* alloc.c (__stp_valloc_percpu): Use same code for up and smp.
(_stp_per_cpu_ptr): New macro.
* user/alloc.c: Ditto.
* map.c: Use _stp_map_cpu_ptr().
* map-stat.c: Ditto.
* pmap-gen.c: Ditto.
* runtime.h: Include alloc.c
* user/runtime.h: Ditto.
Diffstat (limited to 'runtime/user/alloc.c')
-rw-r--r-- | runtime/user/alloc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/user/alloc.c b/runtime/user/alloc.c index 9c7fa5c0..2691a36a 100644 --- a/runtime/user/alloc.c +++ b/runtime/user/alloc.c @@ -78,6 +78,13 @@ void *_stp_valloc(size_t len) #define _stp_valloc_percpu(type) \ ((type *)(__stp_valloc_percpu(sizeof(type), __alignof__(type)))) #define _stp_percpu_dptr(ptr) (((struct percpu_data *)~(unsigned long)(ptr))->blkp) +#define _stp_per_cpu_ptr(ptr, cpu) \ +({ \ + struct percpu_data *__p = (struct percpu_data *)~(unsigned long)(ptr); \ + (__typeof__(ptr))__p->ptrs[(cpu)]; \ +}) + + /** Frees memory allocated by _stp_alloc or _stp_calloc. * @param ptr pointer to memory to free */ |