Change platform WorkDuration to match memory layout of HAL WorkDuration
Futureproof for possible memory-sharing schemes by ensuring variables
are laid out the same way in platform and HAL
Bug: 317367269
Test: atest PerformanceHintNativeTest
Test: atest PerformanceHintManagerTest
Change-Id: Id85f9cb84f4a2955c6e980fa9b608f847e9ef3b8
diff --git a/services/powermanager/WorkDuration.cpp b/services/powermanager/WorkDuration.cpp
index ef723c2..bd2b10a 100644
--- a/services/powermanager/WorkDuration.cpp
+++ b/services/powermanager/WorkDuration.cpp
@@ -25,8 +25,9 @@
WorkDuration::WorkDuration(int64_t startTimestampNanos, int64_t totalDurationNanos,
int64_t cpuDurationNanos, int64_t gpuDurationNanos)
- : workPeriodStartTimestampNanos(startTimestampNanos),
+ : timestampNanos(0),
actualTotalDurationNanos(totalDurationNanos),
+ workPeriodStartTimestampNanos(startTimestampNanos),
actualCpuDurationNanos(cpuDurationNanos),
actualGpuDurationNanos(gpuDurationNanos) {}
diff --git a/services/powermanager/include/android/WorkDuration.h b/services/powermanager/include/android/WorkDuration.h
index 99b5b8b..26a575f 100644
--- a/services/powermanager/include/android/WorkDuration.h
+++ b/services/powermanager/include/android/WorkDuration.h
@@ -61,11 +61,11 @@
return os;
}
- int64_t workPeriodStartTimestampNanos;
+ int64_t timestampNanos;
int64_t actualTotalDurationNanos;
+ int64_t workPeriodStartTimestampNanos;
int64_t actualCpuDurationNanos;
int64_t actualGpuDurationNanos;
- int64_t timestampNanos;
};
} // namespace android::os