Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfd8864f authored by Suren Baghdasaryan's avatar Suren Baghdasaryan
Browse files

init: Change extra_free_kbytes.sh to add margin relative to the default watermark level



extra_free_kbytes.sh accepts a parameter representing the number of KB
to add to low and high watermarks. It adds this margin to the current
watermark levels, however this is not how /proc/sys/vm/extra_free_kbytes
knob that it replaces used to work. The old knob would add the margin
relative to the original and not the current level of the watermarks.
Change extra_free_kbytes.sh to add the specified margin to the original
watermark levels to act as correct replacement of the old knob.

Bug: 242837506
Fixes: 642048d9 ("init: Add extra_free_kbytes.sh script to adjust watermark_scale_factor")
Test: repeatedly run 'setprop sys.sysctl.extra_free_kbytes 30375'
Signed-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
Change-Id: I8af603ba00bd4fb8182b80b3c0969fa96cdd7311
parent a5d944f6
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -77,7 +77,19 @@ then
    exit
fi

watermark_scale=`cat /proc/sys/vm/watermark_scale_factor`
# record the original watermark_scale_factor value
watermark_scale=$(getprop "ro.kernel.watermark_scale_factor")
if [ -z "$watermark_scale" ]
then
    watermark_scale=$(cat /proc/sys/vm/watermark_scale_factor)
    setprop "ro.kernel.watermark_scale_factor" "$watermark_scale"
    # On older distributions with no policies configured setprop may fail.
    # If that happens, use the kernel default of 10.
    if [ -z $(getprop "ro.kernel.watermark_scale_factor") ]
    then
        watermark_scale=10
    fi
fi

# convert extra_free_kbytes to pages
page_size=$(getconf PAGESIZE)