diff options
| author | Steven Rostedt <srostedt@redhat.com> | 2009-12-30 13:34:07 -0500 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2009-12-30 14:32:47 -0500 |
| commit | 41a33285f270f284aa44250e79d70372f68bce80 (patch) | |
| tree | 6d8da5fb1082c293efa7a84e19499f88ab021ebe | |
| parent | 708b9e195cbaebdbea5bfccb751c7fce0a25b9f7 (diff) | |
trace-view: Move cpu mask functions into cpu.h
Move the cpu mask alorithms out into cpu.h for other files to use them.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
| -rw-r--r-- | cpu.h | 40 | ||||
| -rw-r--r-- | trace-view-store.c | 26 |
2 files changed, 46 insertions, 20 deletions
| @@ -0,0 +1,40 @@ | |||
| 1 | #ifndef _CPU_H | ||
| 2 | #define _CPU_H | ||
| 3 | |||
| 4 | static inline int cpu_isset(guint64 *cpu_mask, gint cpu) | ||
| 5 | { | ||
| 6 | guint64 mask; | ||
| 7 | |||
| 8 | mask = *(cpu_mask + (cpu >> 6)); | ||
| 9 | |||
| 10 | return mask & (1ULL << (cpu & ((1ULL << 6) - 1))); | ||
| 11 | } | ||
| 12 | |||
| 13 | static inline void cpu_set(guint64 *cpu_mask, gint cpu) | ||
| 14 | { | ||
| 15 | guint64 *mask; | ||
| 16 | |||
| 17 | mask = cpu_mask + (cpu >> 6); | ||
| 18 | *mask |= (1ULL << (cpu & ((1ULL << 6) - 1))); | ||
| 19 | } | ||
| 20 | |||
| 21 | static inline void cpu_clear(guint64 *cpu_mask, gint cpu) | ||
| 22 | { | ||
| 23 | guint64 *mask; | ||
| 24 | |||
| 25 | mask = cpu_mask + (cpu >> 6); | ||
| 26 | *mask &= ~(1ULL << (cpu & ((1ULL << 6) - 1))); | ||
| 27 | } | ||
| 28 | |||
| 29 | static inline void set_cpus(guint64 *cpu_mask, gint cpus) | ||
| 30 | { | ||
| 31 | gint idx; | ||
| 32 | |||
| 33 | for (idx = 0; idx < (cpus >> 6); idx++) { | ||
| 34 | *(cpu_mask + idx) = -1ULL; | ||
| 35 | } | ||
| 36 | |||
| 37 | *(cpu_mask) = (1ULL << (cpus & ((1ULL << 6) - 1))) - 1; | ||
| 38 | } | ||
| 39 | |||
| 40 | #endif /* _CPU_H */ | ||
diff --git a/trace-view-store.c b/trace-view-store.c index 2c4467a..6f7a46a 100644 --- a/trace-view-store.c +++ b/trace-view-store.c | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | #include "trace-view-store.h" | 1 | #include "trace-view-store.h" |
| 2 | #include <stdlib.h> | 2 | #include <stdlib.h> |
| 3 | 3 | ||
| 4 | #include "cpu.h" | ||
| 5 | |||
| 4 | /* boring declarations of local functions */ | 6 | /* boring declarations of local functions */ |
| 5 | 7 | ||
| 6 | static void trace_view_store_init (TraceViewStore *pkg_tree); | 8 | static void trace_view_store_init (TraceViewStore *pkg_tree); |
| @@ -703,38 +705,22 @@ trace_view_store_iter_parent (GtkTreeModel *tree_model, | |||
| 703 | 705 | ||
| 704 | static int mask_cpu_isset(TraceViewStore *store, gint cpu) | 706 | static int mask_cpu_isset(TraceViewStore *store, gint cpu) |
| 705 | { | 707 | { |
| 706 | guint64 mask; | 708 | return cpu_isset(store->cpu_mask, cpu); |
| 707 | |||
| 708 | mask = *(store->cpu_mask + (cpu >> 6)); | ||
| 709 | |||
| 710 | return mask & (1ULL << (cpu & ((1ULL << 6) - 1))); | ||
| 711 | } | 709 | } |
| 712 | 710 | ||
| 713 | static void mask_cpu_set(TraceViewStore *store, gint cpu) | 711 | static void mask_cpu_set(TraceViewStore *store, gint cpu) |
| 714 | { | 712 | { |
| 715 | guint64 *mask; | 713 | cpu_set(store->cpu_mask, cpu); |
| 716 | |||
| 717 | mask = store->cpu_mask + (cpu >> 6); | ||
| 718 | *mask |= (1ULL << (cpu & ((1ULL << 6) - 1))); | ||
| 719 | } | 714 | } |
| 720 | 715 | ||
| 721 | static void mask_cpu_clear(TraceViewStore *store, gint cpu) | 716 | static void mask_cpu_clear(TraceViewStore *store, gint cpu) |
| 722 | { | 717 | { |
| 723 | guint64 *mask; | 718 | cpu_clear(store->cpu_mask, cpu); |
| 724 | |||
| 725 | mask = store->cpu_mask + (cpu >> 6); | ||
| 726 | *mask &= ~(1ULL << (cpu & ((1ULL << 6) - 1))); | ||
| 727 | } | 719 | } |
| 728 | 720 | ||
| 729 | static void mask_set_cpus(TraceViewStore *store, gint cpus) | 721 | static void mask_set_cpus(TraceViewStore *store, gint cpus) |
| 730 | { | 722 | { |
| 731 | gint idx; | 723 | set_cpus(store->cpu_mask, cpus); |
| 732 | |||
| 733 | for (idx = 0; idx < (cpus >> 6); idx++) { | ||
| 734 | *(store->cpu_mask + idx) = -1ULL; | ||
| 735 | } | ||
| 736 | |||
| 737 | *(store->cpu_mask) = (1ULL << (cpus & ((1ULL << 6) - 1))) - 1; | ||
| 738 | } | 724 | } |
| 739 | 725 | ||
| 740 | static void update_page(TraceViewStore *store) | 726 | static void update_page(TraceViewStore *store) |
