| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- name: add kernel optimizations
- description: apply patches from kernel patches repo for kernel optimization
- runs:
- using: composite
- steps:
- - name: apply patches
- shell: bash
- run: |
- cd "$COMMON"
- MIN_VERSION="5.16"
-
- patch -p1 < "$KERNEL_PATCHES/common/optimized_mem_operations.patch"
- patch -p1 < "$KERNEL_PATCHES/common/file_struct_8bytes_align.patch"
- if [[ $BRANCH != SM-S926* && $BRANCH != SM-A546* && $BRANCH != SM-A356* && $BRANCH != SM-S711* ]]; then
- patch -p1 < "$KERNEL_PATCHES/common/reduce_cache_pressure.patch"
- patch -p1 < "$KERNEL_PATCHES/common/mem_opt_prefetch.patch"
- else
- echo "skipping cache pressure and opt prefetch patch for S24 plus"
- fi
- if [[ $BRANCH == SM-A546* || $BRANCH == SM-S926* || $BRANCH == SM-A556* || $BRANCH == SM-M146B* || $BRANCH == SM-S908B* || $BRANCH == SM-A356* || $BRANCH == SM-S711* ]]; then
- if [ "$(printf '%s\n' "$KERNEL_VER" "$MIN_VERSION" | sort -V | tail -n1)" = "$KERNEL_VER" ]; then
- patch -p1 < "$KERNEL_PATCHES/common/Samsung/optimise_memcmp_exynos.patch"
- elif [ "$(printf '%s\n' "$KERNEL_VER" "5.11" | sort -V | tail -n1)" = "$KERNEL_VER" ]; then
- sed -e 's/SYM_FUNC_START(__pi_memcmp)/SYM_FUNC_START_WEAK_PI(memcmp)/' -e 's/SYM_FUNC_END(__pi_memcmp)/SYM_FUNC_END_PI(memcmp)/' -e 's/SYM_FUNC_ALIAS_WEAK(memcmp, __pi_memcmp)/EXPORT_SYMBOL_NOKASAN(memcmp)/' "$KERNEL_PATCHES/common/Samsung/optimise_memcmp_exynos.patch" | patch -p1
- else
- patch -p1 < "$KERNEL_PATCHES/common/Samsung/optimise_noneon_memcmp_android12_5.10.patch"
- fi
- else
- if [ "$(printf '%s\n' "$KERNEL_VER" "$MIN_VERSION" | sort -V | tail -n1)" = "$KERNEL_VER" ]; then
- patch -p1 < "$KERNEL_PATCHES/common/optimise_memcmp.patch"
- elif [ "$(printf '%s\n' "$KERNEL_VER" "5.11" | sort -V | tail -n1)" = "$KERNEL_VER" ]; then
- sed -e 's/SYM_FUNC_START(__pi_memcmp)/SYM_FUNC_START_WEAK_PI(memcmp)/' -e 's/SYM_FUNC_END(__pi_memcmp)/SYM_FUNC_END_PI(memcmp)/' -e 's/SYM_FUNC_ALIAS_WEAK(memcmp, __pi_memcmp)/EXPORT_SYMBOL_NOKASAN(memcmp)/' "$KERNEL_PATCHES/common/optimise_memcmp.patch" | patch -p1
- else
- patch -p1 < "$KERNEL_PATCHES/common/Samsung/optimise_noneon_memcmp_android12_5.10.patch"
- fi
- fi
- sed -i 's/pm_wakeup_event(dev, 2 \* MSEC_PER_SEC);/pm_wakeup_event(dev, ktime_to_ms(min) + 1);/' kernel/time/alarmtimer.c
- patch -p1 < "$KERNEL_PATCHES/common/int_sqrt.patch"
- if [[ $BRANCH != SM-S926* && $BRANCH != SM-A546* && $BRANCH != SM-A356* && $BRANCH != SM-S711* ]]; then
- #patch -p1 < "$KERNEL_PATCHES/common/force_tcp_nodelay.patch"
- patch -p1 < "$KERNEL_PATCHES/common/reduce_gc_thread_sleep_time.patch"
- else
- echo "skipping force tcp no delay and reduce gc thread sleep time patches for s24 plus"
- fi
- patch -p1 < "$KERNEL_PATCHES/common/add_timeout_wakelocks_globally.patch"
- patch -p1 < "$KERNEL_PATCHES/common/f2fs_reduce_congestion.patch"
- patch -p1 < "$KERNEL_PATCHES/common/reduce_freeze_timeout.patch"
- if [ "$(printf '%s\n' "$KERNEL_VER" "$MIN_VERSION" | sort -V | head -n1)" = "$KERNEL_VER" ]; then
- patch -p1 < "$KERNEL_PATCHES/common/clear_page_16bytes_align.patch"
- else
- sed -e 's/SYM_FUNC_START_PI(clear_page)/SYM_FUNC_START(__pi_clear_page)/' "$KERNEL_PATCHES/common/clear_page_16bytes_align.patch" | patch -p1
- fi
- echo "Patching add_limitation_scaling_min_freq.patch"
- patch -p1 < "$KERNEL_PATCHES/common/add_limitation_scaling_min_freq.patch"
- echo "Patching re_write_limitation_scaling_min_freq.patch"
- patch -p1 < "$KERNEL_PATCHES/common/re_write_limitation_scaling_min_freq.patch"
- echo "Patching adjust_cpu_scan_order.patch"
- patch -p1 < "$KERNEL_PATCHES/common/adjust_cpu_scan_order.patch"
- echo "patching void_extra_s2idle_wake_attempts.patch"
- if [[ "$BRANCH" == "SM-S928B-Oneui8.5" || "$BRANCH" == "SM-S926B-Oneui8.5" || "$BRANCH" == "SM-S938B-Oneui8.5" || "$BRANCH" == "SM-S931B-Oneui8.5" ]]; then
- patch -p1 < "$KERNEL_PATCHES/common/Samsung/avoid_extra_s2idle_wake_attempts_oneui8.5.patch"
- else
- patch -p1 < "$KERNEL_PATCHES/common/avoid_extra_s2idle_wake_attempts.patch"
- fi
- if [[ $BRANCH != SM-S926* && $BRANCH != SM-A546* && $BRANCH != SM-A356* && $BRANCH != SM-S711* ]]; then
- echo "Patching disable_cache_hot_buddy.patch"
- patch -p1 < "$KERNEL_PATCHES/common/disable_cache_hot_buddy.patch"
- else
- echo "skipping disable_cache_hot_buddy"
- fi
- echo "Patching f2fs_enlarge_min_fsync_blocks.patch"
- patch -p1 < "$KERNEL_PATCHES/common/f2fs_enlarge_min_fsync_blocks.patch"
- echo "Patching increase_ext4_default_commit_age.patch"
- patch -p1 < "$KERNEL_PATCHES/common/increase_ext4_default_commit_age.patch"
- echo "Patching increase_sk_mem_packets.patch"
- patch -p1 < "$KERNEL_PATCHES/common/increase_sk_mem_packets.patch"
- echo "Patching reduce_pci_pme_wakeups.patch"
- patch -p1 < "$KERNEL_PATCHES/common/reduce_pci_pme_wakeups.patch"
- echo "Patching silence_irq_cpu_logspam.patch"
- patch -p1 < "$KERNEL_PATCHES/common/silence_irq_cpu_logspam.patch"
- echo "Patching silence_system_logspam.patch"
- patch -p1 < "$KERNEL_PATCHES/common/silence_system_logspam.patch"
- echo "Patching use_unlikely_wrap_cpufreq.patch"
- patch -p1 < "$KERNEL_PATCHES/common/use_unlikely_wrap_cpufreq.patch"
|