Loading cmds/dumpstate/dumpstate.cpp +9 −2 Original line number Diff line number Diff line Loading @@ -1241,8 +1241,15 @@ static Dumpstate::RunStatus RunDumpsysTextByPriority(const std::string& title, i if (status == OK) { dumpsys.writeDumpHeader(STDOUT_FILENO, service, priority); std::chrono::duration<double> elapsed_seconds; if (priority == IServiceManager::DUMP_FLAG_PRIORITY_HIGH && service == String16("meminfo")) { // Use a longer timeout for meminfo, since 30s is not always enough. status = dumpsys.writeDump(STDOUT_FILENO, service, 60s, /* as_proto = */ false, elapsed_seconds, bytes_written); } else { status = dumpsys.writeDump(STDOUT_FILENO, service, service_timeout, /* as_proto = */ false, elapsed_seconds, bytes_written); } dumpsys.writeDumpFooter(STDOUT_FILENO, service, elapsed_seconds); bool dump_complete = (status == OK); dumpsys.stopDumpThread(dump_complete); Loading cmds/installd/dexopt.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ #include <log/log.h> // TODO: Move everything to base/logging. #include <openssl/sha.h> #include <private/android_filesystem_config.h> #include <processgroup/sched_policy.h> #include <processgroup/processgroup.h> #include <selinux/android.h> #include <server_configurable_flags/get_flags.h> #include <system/thread_defs.h> Loading Loading @@ -282,8 +282,8 @@ static bool ShouldUseSwapFileForDexopt() { static void SetDex2OatScheduling(bool set_to_bg) { if (set_to_bg) { if (set_sched_policy(0, SP_BACKGROUND) < 0) { PLOG(ERROR) << "set_sched_policy failed"; if (!SetTaskProfiles(0, {"Dex2OatBootComplete"})) { LOG(ERROR) << "Failed to set dex2oat task profile"; exit(DexoptReturnCodes::kSetSchedPolicy); } if (setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND) < 0) { Loading services/surfaceflinger/BufferLayer.cpp +28 −26 Original line number Diff line number Diff line Loading @@ -421,8 +421,10 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, mFrameTracker.setFrameReadyTime(desiredPresentTime); } if (display) { const Fps refreshRate = display->refreshRateConfigs().getCurrentRefreshRate().getFps(); const std::optional<Fps> renderRate = mFlinger->mScheduler->getFrameRateOverride(getOwnerUid()); const std::optional<Fps> renderRate = mFlinger->mScheduler->getFrameRateOverride(getOwnerUid()); if (presentFence->isValid()) { mFlinger->mTimeStats->setPresentFence(layerId, mCurrentFrameNumber, presentFence, refreshRate, renderRate, Loading @@ -430,10 +432,9 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, mDrawingState.frameRate), getGameMode()); mFlinger->mFrameTracer->traceFence(layerId, getCurrentBufferId(), mCurrentFrameNumber, presentFence, FrameTracer::FrameEvent::PRESENT_FENCE); presentFence, FrameTracer::FrameEvent::PRESENT_FENCE); mFrameTracker.setActualPresentFence(std::shared_ptr<FenceTime>(presentFence)); } else if (!display) { // Do nothing. } else if (const auto displayId = PhysicalDisplayId::tryCast(display->getId()); displayId && mFlinger->getHwComposer().isConnected(*displayId)) { // The HWC doesn't support present fences, so use the refresh Loading @@ -444,11 +445,12 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, frameRateToSetFrameRateVotePayload( mDrawingState.frameRate), getGameMode()); mFlinger->mFrameTracer->traceTimestamp(layerId, getCurrentBufferId(), mCurrentFrameNumber, actualPresentTime, mFlinger->mFrameTracer->traceTimestamp(layerId, getCurrentBufferId(), mCurrentFrameNumber, actualPresentTime, FrameTracer::FrameEvent::PRESENT_FENCE); mFrameTracker.setActualPresentTime(actualPresentTime); } } mFrameTracker.advanceFrame(); mBufferInfo.mFrameLatencyNeeded = false; Loading Loading
cmds/dumpstate/dumpstate.cpp +9 −2 Original line number Diff line number Diff line Loading @@ -1241,8 +1241,15 @@ static Dumpstate::RunStatus RunDumpsysTextByPriority(const std::string& title, i if (status == OK) { dumpsys.writeDumpHeader(STDOUT_FILENO, service, priority); std::chrono::duration<double> elapsed_seconds; if (priority == IServiceManager::DUMP_FLAG_PRIORITY_HIGH && service == String16("meminfo")) { // Use a longer timeout for meminfo, since 30s is not always enough. status = dumpsys.writeDump(STDOUT_FILENO, service, 60s, /* as_proto = */ false, elapsed_seconds, bytes_written); } else { status = dumpsys.writeDump(STDOUT_FILENO, service, service_timeout, /* as_proto = */ false, elapsed_seconds, bytes_written); } dumpsys.writeDumpFooter(STDOUT_FILENO, service, elapsed_seconds); bool dump_complete = (status == OK); dumpsys.stopDumpThread(dump_complete); Loading
cmds/installd/dexopt.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ #include <log/log.h> // TODO: Move everything to base/logging. #include <openssl/sha.h> #include <private/android_filesystem_config.h> #include <processgroup/sched_policy.h> #include <processgroup/processgroup.h> #include <selinux/android.h> #include <server_configurable_flags/get_flags.h> #include <system/thread_defs.h> Loading Loading @@ -282,8 +282,8 @@ static bool ShouldUseSwapFileForDexopt() { static void SetDex2OatScheduling(bool set_to_bg) { if (set_to_bg) { if (set_sched_policy(0, SP_BACKGROUND) < 0) { PLOG(ERROR) << "set_sched_policy failed"; if (!SetTaskProfiles(0, {"Dex2OatBootComplete"})) { LOG(ERROR) << "Failed to set dex2oat task profile"; exit(DexoptReturnCodes::kSetSchedPolicy); } if (setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND) < 0) { Loading
services/surfaceflinger/BufferLayer.cpp +28 −26 Original line number Diff line number Diff line Loading @@ -421,8 +421,10 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, mFrameTracker.setFrameReadyTime(desiredPresentTime); } if (display) { const Fps refreshRate = display->refreshRateConfigs().getCurrentRefreshRate().getFps(); const std::optional<Fps> renderRate = mFlinger->mScheduler->getFrameRateOverride(getOwnerUid()); const std::optional<Fps> renderRate = mFlinger->mScheduler->getFrameRateOverride(getOwnerUid()); if (presentFence->isValid()) { mFlinger->mTimeStats->setPresentFence(layerId, mCurrentFrameNumber, presentFence, refreshRate, renderRate, Loading @@ -430,10 +432,9 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, mDrawingState.frameRate), getGameMode()); mFlinger->mFrameTracer->traceFence(layerId, getCurrentBufferId(), mCurrentFrameNumber, presentFence, FrameTracer::FrameEvent::PRESENT_FENCE); presentFence, FrameTracer::FrameEvent::PRESENT_FENCE); mFrameTracker.setActualPresentFence(std::shared_ptr<FenceTime>(presentFence)); } else if (!display) { // Do nothing. } else if (const auto displayId = PhysicalDisplayId::tryCast(display->getId()); displayId && mFlinger->getHwComposer().isConnected(*displayId)) { // The HWC doesn't support present fences, so use the refresh Loading @@ -444,11 +445,12 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, frameRateToSetFrameRateVotePayload( mDrawingState.frameRate), getGameMode()); mFlinger->mFrameTracer->traceTimestamp(layerId, getCurrentBufferId(), mCurrentFrameNumber, actualPresentTime, mFlinger->mFrameTracer->traceTimestamp(layerId, getCurrentBufferId(), mCurrentFrameNumber, actualPresentTime, FrameTracer::FrameEvent::PRESENT_FENCE); mFrameTracker.setActualPresentTime(actualPresentTime); } } mFrameTracker.advanceFrame(); mBufferInfo.mFrameLatencyNeeded = false; Loading