summaryrefslogtreecommitdiff
path: root/checkpoint_gc
AgeCommit message (Collapse)Author
2021-06-08Improve checkpoint_gc jank and loggingDaniel Rosenberg
This switches over to setting gc_urgent to 2 for a lower gc setting which will respect existing IO for lower performance impact. We skip running if we're not using f2fs userdata. Added some more descriptive comments and logs to make debugging any future issue easier. 2 > gc_urgent triggers GC_URGENT_LOW, which does not make use of gc_urgent_sleep_time, so we drop that. We leave gc running at GC_URGENT_LOW in case of a long delay between ota postinstall and reboot. If something else disables it then, we'll rely on normal background gc. Test: Cause disk fragmentation, run checkpoint_gc.sh Bug: 173524015 Change-Id: I948070fc169c0a085e4a75cb7adb8138656e99d5
2021-03-03checkpoint_gc: Use Unusable and adjust thresholdsDaniel Rosenberg
The upstream version of f2fs provids the 'unusable' sysfs entry, which monitors exactly the condition we wish to check. If available, we should use that instead of the number of dirty segments. Additionally, we've adjusted the max run time of the script and raised the lower threshold to reflect the more flexible mounting with checkpoint=disable:%u option. Bug: 178715376 Test: Run fsstress to dirty blocks, run checkpoint_gc.sh Change-Id: I0d2e86d8b57da8553d93b85338c22b246aff24a5
2021-03-03checkpoint_gc: use generic sysfs linkJaegeuk Kim
Bug: 161925472 Test: Run checkpoint_gc.sh Signed-off-by: Jaegeuk Kim <jaegeuk@google.com> Change-Id: Ifb87fb5d474eeddeb4c9622ee588abb59e886c5d Merged-In: Ifb87fb5d474eeddeb4c9622ee588abb59e886c5d
2021-02-19[LSC] Add LOCAL_LICENSE_KINDS to system/extrasBob Badour
Added SPDX-license-identifier-Apache-2.0 to: alloc-stress/Android.bp app-launcher/Android.bp boot_control_copy/Android.bp bootctl/Android.bp boottime_tools/bootanalyze/stressfs/Android.bp boottime_tools/bootio/Android.bp brillo_config/Android.mk checkpoint_gc/Android.bp cppreopts/Android.bp crypto-perf/Android.bp ext4_utils/Android.bp ext4_utils/Android.mk f2fs_utils/Android.bp ioblame/Android.bp ioshark/Android.bp iotop/Android.bp kexec_tools/Android.bp latencytop/Android.bp libfec/Android.bp libfec/test/Android.bp libfscrypt/Android.bp libfscrypt/tests/Android.bp libjsonpb/parse/Android.bp libjsonpb/verify/Android.bp memory_replay/Android.bp memtrack/Android.bp mmap-perf/Android.bp module_ndk_libs/libnativehelper/Android.bp multinetwork/Android.bp pagecache/Android.bp partition_tools/Android.bp partition_tools/aidl/Android.bp perf2cfg/Android.bp postinst/Android.bp preopt2cachename/Android.bp profcollectd/Android.bp profcollectd/libprofcollectd/Android.bp profcollectd/libprofcollectd/bindings/libflags/Android.bp pssbench/Android.mk puncture_fs/Android.bp runconuid/Android.bp sane_schedstat/Android.bp showslab/Android.bp simpleperf/Android.bp simpleperf/runtest/Android.bp simpleperf/scripts/inferno/Android.bp simpleperf/simpleperf_app_runner/Android.bp slideshow/Android.mk sound/Android.bp squashfs_utils/Android.bp su/Android.mk taskstats/Android.bp tests/Android.bp tests/audio/alsa/Android.bp tests/binder/benchmarks/Android.bp tests/bootloader/Android.mk tests/cpueater/Android.bp tests/crypto/Android.bp tests/directiotest/Android.bp tests/ext4/Android.mk tests/framebuffer/Android.bp tests/fstest/Android.bp tests/icachetest/Android.bp tests/iptables/qtaguid/Android.bp tests/kernel.config/Android.mk tests/lib/Android.bp tests/lib/testUtil/Android.bp tests/memeater/Android.mk tests/pagingtest/Android.mk tests/pftest/Android.bp tests/schedtest/Android.bp tests/storage/Android.bp tests/suspend_stress/Android.bp tests/tcp_nuke_addr/Android.bp tests/timetest/Android.bp tests/uevents/Android.bp toolchain-extras/Android.bp vbmeta_tools/Android.bp verity/Android.bp verity/fec/Android.bp zram-perf/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: cpustats/Android.bp Added SPDX-license-identifier-BSD to: ANRdaemon/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Ia559848af903a7b6746d9b12b7de8b83bc57f99d
2021-02-16Revert "[LSC] Add LOCAL_LICENSE_KINDS to system/extras"Bob Badour
This reverts commit 044d055c842a5750359ed71dfe50a6a4bf5f4cc3. Reason for revert: Needs to run as multiple roots. Change-Id: I8e06e7eb19e0f634f52fbd8a1c6662f43e347dd5
2021-02-12[LSC] Add LOCAL_LICENSE_KINDS to system/extrasBob Badour
Added SPDX-license-identifier-Apache-2.0 to: boot_control_copy/Android.bp bootctl/Android.bp boottime_tools/bootanalyze/stressfs/Android.bp boottime_tools/bootio/Android.bp checkpoint_gc/Android.bp cppreopts/Android.bp crypto-perf/Android.bp ext4_utils/Android.bp ext4_utils/Android.mk f2fs_utils/Android.bp ioshark/Android.bp iotop/Android.bp kexec_tools/Android.bp latencytop/Android.bp libfec/Android.bp libfec/test/Android.bp libfscrypt/Android.bp libfscrypt/tests/Android.bp libjsonpb/parse/Android.bp libjsonpb/verify/Android.bp memory_replay/Android.bp memtrack/Android.bp mmap-perf/Android.bp module_ndk_libs/libnativehelper/Android.bp multinetwork/Android.bp pagecache/Android.bp partition_tools/Android.bp perf2cfg/Android.bp postinst/Android.bp preopt2cachename/Android.bp profcollectd/Android.bp profcollectd/libprofcollectd/Android.bp profcollectd/libprofcollectd/bindings/libflags/Android.bp puncture_fs/Android.bp runconuid/Android.bp sane_schedstat/Android.bp showslab/Android.bp simpleperf/Android.bp simpleperf/runtest/Android.bp simpleperf/scripts/inferno/Android.bp simpleperf/simpleperf_app_runner/Android.bp slideshow/Android.mk sound/Android.bp squashfs_utils/Android.bp su/Android.mk taskstats/Android.bp tests/Android.bp tests/audio/alsa/Android.bp tests/binder/benchmarks/Android.bp tests/bootloader/Android.mk tests/cpueater/Android.bp tests/crypto/Android.bp tests/directiotest/Android.bp tests/ext4/Android.mk tests/framebuffer/Android.bp tests/fstest/Android.bp tests/icachetest/Android.bp tests/iptables/qtaguid/Android.bp tests/kernel.config/Android.mk tests/lib/Android.bp tests/lib/testUtil/Android.bp tests/memeater/Android.mk tests/pagingtest/Android.mk tests/pftest/Android.bp tests/schedtest/Android.bp tests/storage/Android.bp tests/suspend_stress/Android.bp tests/tcp_nuke_addr/Android.bp tests/timetest/Android.bp tests/uevents/Android.bp toolchain-extras/Android.bp vbmeta_tools/Android.bp verity/Android.bp verity/fec/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: cpustats/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD legacy_notice to: Android.bp Added SPDX-license-identifier-BSD to: ANRdaemon/Android.bp Added legacy_notice to: alloc-stress/Android.bp app-launcher/Android.bp brillo_config/Android.mk ioblame/Android.bp partition_tools/aidl/Android.bp pssbench/Android.mk zram-perf/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Ie7c022a4d7f828a89d0cda663684a497af37006e
2020-04-08Use realpath to grab underlying path for userdataDaniel Rosenberg
We may grab the by-name path for /data's block device. Use realpath to ensure we grab the correct name to access the sysfs entries. Bug: 153049163 Test: Run /vendor/bin/checkpoint_gc Change-Id: I297c7b60105d1966eb1304222a9727794035d3fc
2019-06-06Lower gc_urgent_sleeptime to 50android-cts-10.0_r2android10-devDaniel Rosenberg
This will substantially speed up GC progress Test: Run /vendor/bin/checkpoint_gc Bug: 133822599 Change-Id: Ic1f064437381bce99d62dfd146088d43e08b1766
2019-05-01Add a max timeout in checkpoint_gcDaniel Rosenberg
After one hour, we will abandon our efforts to do checkpointing ahead of time. At that point, it's likely that something has gone wrong with garbage collection. Log dirty segments. Test: Run checkpoint_gc after remounting with checkpoint=disable. This will prevent GC from making progress. The script should exit after one hour Bug: 131557838 Change-Id: Ifbff5d3e889725259d7c797fe6fa1d4a84fc7cec
2019-04-01Make checkpoint_gc.sh robust against interferenceDaniel Rosenberg
If some other process decides to run a brief period of GC and then turn it off, checkpoint_gc.sh will keep running and hold up the OTA. To combat that, we set gc_urgent again each cycle. Test: set gc_urgent to 0 after the script sets it to 1. Verify script still runs Change-Id: If361a7e6aace2b20d976d94210fc5a72c3630c72
2019-03-25Change checkpoint_gc to run until threshold is metDaniel Rosenberg
Run until garbage collection is done to prevent long boot times while f2fs checkpointing runs garbage collection Test: Apply update, or run /vendor/bin/checkpoint_gc UNUSED 1 Bug: 123367711 Change-Id: I4481b9179a819621dd77f5088778950e49d73ff3
2019-02-28Add a postinstall script for GC on F2FSDaniel Rosenberg
This script is intended to run on F2FS checkpointing devices. It triggers garbage collection for a period of time to make mounting with checkpoint=disable smoother. Test: Set this script as a postinstall script on vendor Bug: 123367711 Change-Id: I87e143a2004da5852654688c3c8773510b7073ae