|
@@ -6,12 +6,13 @@ static int process_event_mask(struct perf_tool *tool __maybe_unused,
|
|
|
struct perf_sample *sample __maybe_unused,
|
|
|
struct machine *machine __maybe_unused)
|
|
|
{
|
|
|
- struct cpu_map_event *map = &event->cpu_map;
|
|
|
+ struct cpu_map_event *map_event = &event->cpu_map;
|
|
|
struct cpu_map_mask *mask;
|
|
|
struct cpu_map_data *data;
|
|
|
+ struct cpu_map *map;
|
|
|
int i;
|
|
|
|
|
|
- data = &map->data;
|
|
|
+ data = &map_event->data;
|
|
|
|
|
|
TEST_ASSERT_VAL("wrong type", data->type == PERF_CPU_MAP__MASK);
|
|
|
|
|
@@ -23,6 +24,14 @@ static int process_event_mask(struct perf_tool *tool __maybe_unused,
|
|
|
TEST_ASSERT_VAL("wrong cpu", test_bit(i, mask->mask));
|
|
|
}
|
|
|
|
|
|
+ map = cpu_map__new_data(data);
|
|
|
+ TEST_ASSERT_VAL("wrong nr", map->nr == 20);
|
|
|
+
|
|
|
+ for (i = 0; i < 20; i++) {
|
|
|
+ TEST_ASSERT_VAL("wrong cpu", map->map[i] == i);
|
|
|
+ }
|
|
|
+
|
|
|
+ cpu_map__put(map);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -31,11 +40,12 @@ static int process_event_cpus(struct perf_tool *tool __maybe_unused,
|
|
|
struct perf_sample *sample __maybe_unused,
|
|
|
struct machine *machine __maybe_unused)
|
|
|
{
|
|
|
- struct cpu_map_event *map = &event->cpu_map;
|
|
|
+ struct cpu_map_event *map_event = &event->cpu_map;
|
|
|
struct cpu_map_entries *cpus;
|
|
|
struct cpu_map_data *data;
|
|
|
+ struct cpu_map *map;
|
|
|
|
|
|
- data = &map->data;
|
|
|
+ data = &map_event->data;
|
|
|
|
|
|
TEST_ASSERT_VAL("wrong type", data->type == PERF_CPU_MAP__CPUS);
|
|
|
|
|
@@ -44,6 +54,13 @@ static int process_event_cpus(struct perf_tool *tool __maybe_unused,
|
|
|
TEST_ASSERT_VAL("wrong nr", cpus->nr == 2);
|
|
|
TEST_ASSERT_VAL("wrong cpu", cpus->cpu[0] == 1);
|
|
|
TEST_ASSERT_VAL("wrong cpu", cpus->cpu[1] == 256);
|
|
|
+
|
|
|
+ map = cpu_map__new_data(data);
|
|
|
+ TEST_ASSERT_VAL("wrong nr", map->nr == 2);
|
|
|
+ TEST_ASSERT_VAL("wrong cpu", map->map[0] == 1);
|
|
|
+ TEST_ASSERT_VAL("wrong cpu", map->map[1] == 256);
|
|
|
+ TEST_ASSERT_VAL("wrong refcnt", atomic_read(&map->refcnt) == 1);
|
|
|
+ cpu_map__put(map);
|
|
|
return 0;
|
|
|
}
|
|
|
|