summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaciej Żenczykowski <maze@google.com>2020-06-18 12:22:08 +0000
committerMaciej Zenczykowski <maze@google.com>2020-06-18 20:02:11 +0000
commit2d12844a4e2605886539d5011d94ae94b090c897 (patch)
tree20442e4baf7f7a4ce24121ec599e0005efd2c731
parent2464ddb0dfbe86771f371d545139dd47db36bb44 (diff)
downloadplatform_system_bpf-2d12844a4e2605886539d5011d94ae94b090c897.tar.gz
platform_system_bpf-2d12844a4e2605886539d5011d94ae94b090c897.tar.bz2
platform_system_bpf-2d12844a4e2605886539d5011d94ae94b090c897.zip
waitForProgsLoaded() - reduce log spaminess
Logging every 5s isn't actually useful and it just gets the important stuff out of log buffers. Test: adb logcat -s 'bpfloader:D' 'BpfUtils:D' 'LibBpfLoader:D' ... 06-17 01:02:34.205 433 433 E bpfloader: --- DO NOT EXPECT SYSTEM TO BOOT SUCCESSFULLY --- 06-17 01:02:38.103 335 335 W LibBpfLoader: Waited 5s for bpf.progs_loaded, still waiting... 06-17 01:02:48.104 335 335 W LibBpfLoader: Waited 10s for bpf.progs_loaded, still waiting... 06-17 01:03:08.104 335 335 W LibBpfLoader: Waited 20s for bpf.progs_loaded, still waiting... 06-17 01:04:12.226 335 335 W LibBpfLoader: Waited 60s for bpf.progs_loaded, still waiting... 06-17 01:04:17.628 1324 1324 W LibBpfLoader: Waited 5s for bpf.progs_loaded, still waiting... 06-17 01:04:27.629 1324 1324 W LibBpfLoader: Waited 10s for bpf.progs_loaded, still waiting... 06-17 01:04:47.629 1324 1324 W LibBpfLoader: Waited 20s for bpf.progs_loaded, still waiting... 06-17 01:05:50.163 1324 1324 W LibBpfLoader: Waited 60s for bpf.progs_loaded, still waiting... 06-17 01:05:55.551 1741 1741 W LibBpfLoader: Waited 5s for bpf.progs_loaded, still waiting... Bug: 150040815 Signed-off-by: Maciej Żenczykowski <maze@google.com> Original-Change: https://android-review.googlesource.com/1336224 Merged-In: I77b82bf44141df8ffab1d11d01a89c3927fbe827 Change-Id: I77b82bf44141df8ffab1d11d01a89c3927fbe827
-rw-r--r--libbpf_android/Loader.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/libbpf_android/Loader.cpp b/libbpf_android/Loader.cpp
index 5a65c1b..da6a109 100644
--- a/libbpf_android/Loader.cpp
+++ b/libbpf_android/Loader.cpp
@@ -665,12 +665,21 @@ int loadProg(const char* elfPath, bool* isCritical) {
return ret;
}
+static bool waitSecondsForProgsLoaded(int seconds) {
+ bool ok =
+ android::base::WaitForProperty("bpf.progs_loaded", "1", std::chrono::seconds(seconds));
+ if (!ok) ALOGW("Waited %ds for bpf.progs_loaded, still waiting...", seconds);
+ return ok;
+}
+
void waitForProgsLoaded() {
if (!android::bpf::isBpfSupported()) return;
- while (!android::base::WaitForProperty("bpf.progs_loaded", "1", std::chrono::seconds(5))) {
- ALOGW("Waited 5s for bpf.progs_loaded, still waiting...");
- }
+ if (waitSecondsForProgsLoaded(5)) return;
+ if (waitSecondsForProgsLoaded(10)) return;
+ if (waitSecondsForProgsLoaded(20)) return;
+ while (!waitSecondsForProgsLoaded(60))
+ ; // loop until success
}
} // namespace bpf