Loading services/core/java/com/android/server/StorageManagerService.java +8 −5 Original line number Diff line number Diff line Loading @@ -2821,6 +2821,8 @@ class StorageManagerService extends IStorageManager.Stub enforcePermission(android.Manifest.permission.MOUNT_FORMAT_FILESYSTEMS); try { int avgWriteAmount = 0; int targetDirtyRatio = mTargetDirtyRatio; int latestWrite = mVold.getWriteAmount(); if (latestWrite == -1) { Slog.w(TAG, "Failed to get storage write record"); Loading @@ -2833,11 +2835,12 @@ class StorageManagerService extends IStorageManager.Stub // (first boot after OTA), We skip the smart idle maintenance if (!needsCheckpoint() || !supportsBlockCheckpoint()) { if (!refreshLifetimeConstraint() || !checkChargeStatus()) { return; Slog.i(TAG, "Turn off gc_urgent based on checking lifetime and charge status"); targetDirtyRatio = 100; } else { avgWriteAmount = getAverageWriteAmount(); } int avgWriteAmount = getAverageWriteAmount(); Slog.i(TAG, "Set smart idle maintenance: " + "latest write amount: " + latestWrite + ", average write amount: " + avgWriteAmount + ", min segment threshold: " + mMinSegmentsThreshold + Loading @@ -2845,10 +2848,10 @@ class StorageManagerService extends IStorageManager.Stub ", segment reclaim weight: " + mSegmentReclaimWeight + ", period(min): " + sSmartIdleMaintPeriod + ", min gc sleep time(ms): " + mMinGCSleepTime + ", target dirty ratio: " + mTargetDirtyRatio); ", target dirty ratio: " + targetDirtyRatio); mVold.setGCUrgentPace(avgWriteAmount, mMinSegmentsThreshold, mDirtyReclaimRate, mSegmentReclaimWeight, sSmartIdleMaintPeriod, mMinGCSleepTime, mTargetDirtyRatio); mMinGCSleepTime, targetDirtyRatio); } else { Slog.i(TAG, "Skipping smart idle maintenance - block based checkpoint in progress"); } Loading Loading
services/core/java/com/android/server/StorageManagerService.java +8 −5 Original line number Diff line number Diff line Loading @@ -2821,6 +2821,8 @@ class StorageManagerService extends IStorageManager.Stub enforcePermission(android.Manifest.permission.MOUNT_FORMAT_FILESYSTEMS); try { int avgWriteAmount = 0; int targetDirtyRatio = mTargetDirtyRatio; int latestWrite = mVold.getWriteAmount(); if (latestWrite == -1) { Slog.w(TAG, "Failed to get storage write record"); Loading @@ -2833,11 +2835,12 @@ class StorageManagerService extends IStorageManager.Stub // (first boot after OTA), We skip the smart idle maintenance if (!needsCheckpoint() || !supportsBlockCheckpoint()) { if (!refreshLifetimeConstraint() || !checkChargeStatus()) { return; Slog.i(TAG, "Turn off gc_urgent based on checking lifetime and charge status"); targetDirtyRatio = 100; } else { avgWriteAmount = getAverageWriteAmount(); } int avgWriteAmount = getAverageWriteAmount(); Slog.i(TAG, "Set smart idle maintenance: " + "latest write amount: " + latestWrite + ", average write amount: " + avgWriteAmount + ", min segment threshold: " + mMinSegmentsThreshold + Loading @@ -2845,10 +2848,10 @@ class StorageManagerService extends IStorageManager.Stub ", segment reclaim weight: " + mSegmentReclaimWeight + ", period(min): " + sSmartIdleMaintPeriod + ", min gc sleep time(ms): " + mMinGCSleepTime + ", target dirty ratio: " + mTargetDirtyRatio); ", target dirty ratio: " + targetDirtyRatio); mVold.setGCUrgentPace(avgWriteAmount, mMinSegmentsThreshold, mDirtyReclaimRate, mSegmentReclaimWeight, sSmartIdleMaintPeriod, mMinGCSleepTime, mTargetDirtyRatio); mMinGCSleepTime, targetDirtyRatio); } else { Slog.i(TAG, "Skipping smart idle maintenance - block based checkpoint in progress"); } Loading