action.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: add kernel optimizations
  2. description: apply patches from kernel patches repo for kernel optimization
  3. inputs:
  4. kernel_version:
  5. description: 'Kernel version'
  6. required: true
  7. runs:
  8. using: composite
  9. steps:
  10. - name: apply patches
  11. shell: bash
  12. run: |
  13. cd "$COMMON"
  14. MIN_VERSION="5.16"
  15. # CAUSES COMPILE ERROR-p1 -F 3 < "$KERNEL_PATCHES/common/add_limitation_scaling_min_freq.patch"
  16. # PATCH FAILS ON ONEUI 8.5patch -p1 -F 3 < "$KERNEL_PATCHES/common/avoid_extra_s2idle_wake_attempts.patch"
  17. #patch fails on all hunks for all devices patch -p1 < "$KERNEL_PATCHES/common/re_write_limitation_scaling_min_freq.patch"
  18. #good patches that work
  19. patch -p1 < "$KERNEL_PATCHES/common/add_timeout_wakelocks_globally.patch"
  20. patch -p1 < "$KERNEL_PATCHES/common/adjust_cpu_scan_order.patch"
  21. if [ "$(printf '%s\n' "${{ inputs.kernel_version }}" "$MIN_VERSION" | sort -V | head -n1)" = "${{ inputs.kernel_version }}" ]; then
  22. patch -p1 --forward < "$KERNEL_PATCHES/common/clear_page_16bytes_align.patch"
  23. else
  24. cat "$KERNEL_PATCHES/common/clear_page_16bytes_align.patch" | sed -e 's/SYM_FUNC_START_PI(clear_page)/SYM_FUNC_START_PI(__pi_clear_page)/' | patch -p1 -F3 --forward
  25. fi
  26. patch -p1 < "$KERNEL_PATCHES/common/disable_cache_hot_buddy.patch"
  27. patch -p1 < "$KERNEL_PATCHES/common/f2fs_enlarge_min_fsync_blocks.patch"
  28. patch -p1 < "$KERNEL_PATCHES/common/f2fs_reduce_congestion.patch"
  29. patch -p1 < "$KERNEL_PATCHES/common/file_struct_8bytes_align.patch"
  30. patch -p1 < "$KERNEL_PATCHES/common/force_tcp_nodelay.patch"
  31. patch -p1 < "$KERNEL_PATCHES/common/increase_ext4_default_commit_age.patch"
  32. patch -p1 < "$KERNEL_PATCHES/common/increase_sk_mem_packets.patch"
  33. patch -p1 < "$KERNEL_PATCHES/common/int_sqrt.patch"
  34. patch -p1 < "$KERNEL_PATCHES/common/mem_opt_prefetch.patch"
  35. patch -p1 -F 3 < "$KERNEL_PATCHES/common/minimise_wakeup_time.patch"
  36. #test for organizing
  37. if [ "$(printf '%s\n' "${{ inputs.kernel_version }}" "$MIN_VERSION" | sort -V | tail -n1)" = "${{ inputs.kernel_version }}" ]; then
  38. patch -p1 -F 3 < "$KERNEL_PATCHES/common/optimise_memcmp.patch"
  39. elif [ "$(printf '%s\n' "${{ inputs.kernel_version }}" "5.11" | sort -V | tail -n1)" = "${{ inputs.kernel_version }}" ]; then
  40. 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 --forward
  41. else
  42. echo "Optimised memcmp patch not found!"
  43. fi
  44. patch -p1 < "$KERNEL_PATCHES/common/optimized_mem_operations.patch"
  45. patch -p1 < "$KERNEL_PATCHES/common/reduce_cache_pressure.patch"
  46. patch -p1 < "$KERNEL_PATCHES/common/reduce_freeze_timeout.patch"
  47. patch -p1 < "$KERNEL_PATCHES/common/reduce_gc_thread_sleep_time.patch"