diff options
author | Hannu Nyman <hannu.nyman@iki.fi> | 2020-11-24 08:39:48 +0200 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-12-22 18:59:10 +0100 |
commit | 3d12b47985fc1983849925d2dc23430f55210c80 (patch) | |
tree | 9b2e833445b3e6470a2e151c5402fb45b33d4c3a /package/base-files/files/lib/upgrade | |
parent | 3064651bf75d3ca08cbfff916a14e8b3c4c246fb (diff) | |
download | upstream-3d12b47985fc1983849925d2dc23430f55210c80.tar.gz upstream-3d12b47985fc1983849925d2dc23430f55210c80.tar.bz2 upstream-3d12b47985fc1983849925d2dc23430f55210c80.zip |
base-files: flush kernel memory cache during sysupgrade
Flush kernel memory caches during sysupgrade in order
to mitigate the impact from memory consumption spikes
in low-RAM devices.
This may help to prevent sysupgrade causing a reboot
before the actual flashing starts.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Diffstat (limited to 'package/base-files/files/lib/upgrade')
-rw-r--r-- | package/base-files/files/lib/upgrade/common.sh | 1 | ||||
-rwxr-xr-x | package/base-files/files/lib/upgrade/stage2 | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index a5c27dc2fb..b44a5998f4 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -297,6 +297,7 @@ indicate_upgrade() { # $(2): (optional) pipe command to extract firmware, e.g. dd bs=n skip=m default_do_upgrade() { sync + echo 3 > /proc/sys/vm/drop_caches if [ -n "$UPGRADE_BACKUP" ]; then get_image "$1" "$2" | mtd $MTD_ARGS $MTD_CONFIG_ARGS -j "$UPGRADE_BACKUP" write - "${PART_NAME:-image}" else diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2 index c7629c383f..23d356a447 100755 --- a/package/base-files/files/lib/upgrade/stage2 +++ b/package/base-files/files/lib/upgrade/stage2 @@ -123,6 +123,7 @@ kill_remaining KILL 1 sleep 1 +echo 3 > /proc/sys/vm/drop_caches if [ -n "$IMAGE" ] && type 'platform_pre_upgrade' >/dev/null 2>/dev/null; then platform_pre_upgrade "$IMAGE" |