libtimeinstate: move map format info into shared header
Switch from using timeinstate.h to a shared header in system/bpf that
provides key & value struct definitions both to libtimeinstate and to
our BPF program
Test: build libtimeinstate
Bug: 138317993
Change-Id: I302b40bd1dfa7b529888f598cf36c146400f1315
Signed-off-by: Connor O'Brien <connoro@google.com>
(cherry picked from commit b2b503075c682c5aca211d840bd06f97332cef00)
Merged-In: I302b40bd1dfa7b529888f598cf36c146400f1315
diff --git a/libs/cputimeinstate/Android.bp b/libs/cputimeinstate/Android.bp
index 9080ce1..a8f7d92 100644
--- a/libs/cputimeinstate/Android.bp
+++ b/libs/cputimeinstate/Android.bp
@@ -8,6 +8,7 @@
"liblog",
"libnetdutils"
],
+ header_libs: ["bpf_prog_headers"],
cflags: [
"-Werror",
"-Wall",
@@ -25,6 +26,7 @@
"libtimeinstate",
"libnetdutils",
],
+ header_libs: ["bpf_prog_headers"],
cflags: [
"-Werror",
"-Wall",
diff --git a/libs/cputimeinstate/cputimeinstate.cpp b/libs/cputimeinstate/cputimeinstate.cpp
index f255512..2d2536c 100644
--- a/libs/cputimeinstate/cputimeinstate.cpp
+++ b/libs/cputimeinstate/cputimeinstate.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "libtimeinstate"
#include "cputimeinstate.h"
-#include "timeinstate.h"
+#include <bpf_timeinstate.h>
#include <dirent.h>
#include <errno.h>
diff --git a/libs/cputimeinstate/testtimeinstate.cpp b/libs/cputimeinstate/testtimeinstate.cpp
index 15f6214..c0cd3e0 100644
--- a/libs/cputimeinstate/testtimeinstate.cpp
+++ b/libs/cputimeinstate/testtimeinstate.cpp
@@ -1,5 +1,5 @@
-#include "timeinstate.h"
+#include <bpf_timeinstate.h>
#include <sys/sysinfo.h>
diff --git a/libs/cputimeinstate/timeinstate.h b/libs/cputimeinstate/timeinstate.h
deleted file mode 100644
index 6d4f913..0000000
--- a/libs/cputimeinstate/timeinstate.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <inttypes.h>
-
-#define BPF_FS_PATH "/sys/fs/bpf/"
-
-#define FREQS_PER_ENTRY 32
-#define CPUS_PER_ENTRY 8
-
-struct time_key_t {
- uint32_t uid;
- uint32_t bucket;
-};
-
-struct tis_val_t {
- uint64_t ar[FREQS_PER_ENTRY];
-};
-
-struct concurrent_val_t {
- uint64_t active[CPUS_PER_ENTRY];
- uint64_t policy[CPUS_PER_ENTRY];
-};
-
-struct freq_idx_key_t {
- uint32_t policy;
- uint32_t freq;
-};