[KERNEL][05/06/2021] fsociety tribute for Google Pixel 4a

Search This thread

momojuro

Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Hello everyone, we've reached the beta stage!
    A donation link has also been added to the thread in case you want to support my work.

    Changelog

    fsociety tribute beta#1.00
    • drivers: char: mem: Reroute random fops to urandom
    • defconfig: Boot with schedutil
    • Revert "linux: blkdev: Set nr_requests to 64"
    • include: linux: Update nr_requests and read-ahead values (to stock 128, and 512 respectively)
    • defconfig: Reduce timer frequency to 100 Hz (for less power consumption)
    • block: Disable I/O stats accounting by default (to reduce approximate 0.5/1% overhead for block devices)
    • defconfig: Disable debug and some unused drivers config
    • net: add WireGuard from wireguard-linux-compat
    • Different scheduler improvement commits cherry-picked from Sultan kernel
    • More CAF patches and fixes for the KGSL graphic driver

    Download & Links
     

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Hello again, a quick update to do things right!

    Changelog

    fsociety tribute beta#1.01
    • wireguard: Update to version 1.0.20210219
    • Revert "defconfig: Reduce PELT half-life from 32 ms to 16 ms"

    Download & Links
     

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Hello everyone, today's new update!

    Changelog

    fsociety tribute beta#1.02
    • Revert the latest merged CAF patches and fixes applied to the KGSL graphic driver
    • Revert "AIO: Don't plug the I/O queue in do_io_submit()"
    • power: smb5: Disable debug logging

    Download & Links
     

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Hello friend. Hello friend?

    Can you build in wireless monitor mode and usb keyboard support for use with nethunter?

    Hello there,

    I have looked it up, and it seems that the WIreless Monitor Mode is enabled by default in newer Android powered devices with CONFIG_FEATURE_MONITOR_MODE_SUPPORT

    However, I have pushed commits which would make the kernel work properly with nethunter. I will look up on the USB keyboard support when I will have more free time

    I think that the USB keyboard should work as CONFIG_USB_GADGET is enabled by default. Let me know if it does!
     

    Attachments

    • fsociety-tribute-beta#1.02-nethunter.zip
      14.5 MB · Views: 10
    Last edited:
    • Like
    Reactions: d33dvb and EriecTan

    plout0n

    New member
    Mar 13, 2021
    3
    1
    Google Pixel 4a
    Hello everyone, today's new update!

    Changelog

    fsociety tribute beta#1.02
    • Revert the latest merged CAF patches and fixes applied to the KGSL graphic driver
    • Revert "AIO: Don't plug the I/O queue in do_io_submit()"
    • power: smb5: Disable debug logging

    Download & Links
    Thanks for all the great updates. Kernel runs great. 👍
     
    • Like
    Reactions: momojuro

    bobbarker2

    Senior Member
    Aug 30, 2013
    1,507
    510
    Thank you for your contribution, this phone is sorely lacking in custom development compared to other contemporary devices.

    Why did you decide did use PELT16 instead of WALT? Asking out of genuine curiosity, not questioning your choice. (This is of course assuming I read the code correctly)
     
    • Like
    Reactions: momojuro

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Thank you for your contribution, this phone is sorely lacking in custom development compared to other contemporary devices.

    Why did you decide did use PELT16 instead of WALT? Asking out of genuine curiosity, not questioning your choice. (This is of course assuming I read the code correctly)

    Hello there,

    Thank you for your kind words. It is because WALT is disabled by default.
    The commit I reverted was a change imported from Sultan kernel that reduced "PELT half-life from 32 ms to 16 ms" which was allowing the scheduler to ramp up faster for improved interactivity, but performance is not the only aspect I care about.
     

    bobbarker2

    Senior Member
    Aug 30, 2013
    1,507
    510
    Hello there,

    Thank you for your kind words. It is because WALT is disabled by default.
    The commit I reverted was a change imported from Sultan kernel that reduced "PELT half-life from 32 ms to 16 ms" which was allowing the scheduler to ramp up faster for improved interactivity, but performance is not the only aspect I care about.

    Oh weird, I thought Google used WALT on Pixels.. with the intro of EAS scheduling, WALT was/is tuned for mobile devices.

    Woops I just read commit, missed the "revert" part. I would have thought you would want the half-life to be 16ms. Here's a Qualcomm produced test I found of WALT/PELT16 https://static.linaro.org/connect/yvr18/presentations/yvr18-208.pdf. Of course I could be missing the big picture.
     
    • Like
    Reactions: momojuro

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Oh weird, I thought Google used WALT on Pixels.. with the intro of EAS scheduling, WALT was/is tuned for mobile devices.

    Woops I just read commit, missed the "revert" part. I would have thought you would want the half-life to be 16ms. Here's a Qualcomm produced test I found of WALT/PELT16 https://static.linaro.org/connect/yvr18/presentations/yvr18-208.pdf. Of course I could be missing the big picture.

    Thank you for the heads up! You were right.
    However, it is a mess to compile the kernel with WALT enabled. It has also not been updated compared to PELT.
     
    Last edited:

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Hello everyone, today's new update!

    Changelog

    fsociety tribute beta#1.03

    Thanks to Sultanxda and kdrag0n for the following changes:
    • disp: msm: Don't clear dim layers when there aren't any applied
    • defconfig: Enable the BPF JIT compiler (again)
    • defconfig: Enable ZSTD
    • defconfig: Omit CPU and PID from console printk
    • defconfig: Disable GPU memory usage tracing
    • scsi: ufs: Only create one pm_qos object for the IRQ
    • scsi: ufs: Only apply pm_qos to the CPU servicing UFS interrupts
    • scsi: ufs: Remove 10 ms CPU idle latency unvote timeout
    • Revert "mutex: Add a delay into the SPIN_ON_OWNER wait loop."
    • Revert "usb: gadget: mtp: Increase RX transfer length to 1M"
    • Revert "usb: gadget: f_mtp: Increase default TX buffer size"
    • scatterlist: Don't allocate sg lists using __get_free_page
    • mm: kmemleak: Don't die when memory allocation fails
    • mm: kmemleak: Don't require global debug options or debugfs
    • pinctrl: msm: Remove explicit barriers from mmio ops where unneeded
    • dma-buf/sync_file: Speed up ioctl by omitting debug names
    • msm: camera: Stub out the camera_debug_util API and compile it out
    • locking/rwsem: Don't hog RCU read lock while optimistically spinning
    • locking/mutex: Don't hog RCU read lock while optimistically spinning
    • cpuidle: Mark CPUs idle as late as possible to avoid unneeded IPIs
    • cpuidle: Optimize pm_qos notifier callback and IPI semantics
    • arm64: Allow IPI_WAKEUP to be used outside of the ACPI parking protocol
    • kernel: Only set one CPU in the default IRQ affinity mask
    • kernel: Don't allow IRQ affinity masks to have more than one CPU
    • qos: Don't allow userspace to impose restrictions on CPU idle levels
    • msm: kgsl: Wake GPU upon receiving an ioctl rather than upon touch input

    Download & Links
     

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Hello everyone, today's new update!

    Changelog

    fsociety tribute beta#1.04

    Thanks to Sultanxda and engstk for the following changes:
    • msm: kgsl: Don't allocate memory dynamically for drawobj sync structs
    • bpf: Avoid allocating small buffers for map keys and values
    • defconfig: Reduce PELT half-life from 32 ms to 16 ms (again, and correctly this time)
    • defconfig: Enable USB2 Fast Charge
    • drivers: misc: power: implement usb2 fast charge mode
    Download & Links
     
    Last edited:

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Hello again, this is the last update before going to the stable stage!

    Changelog

    fsociety tribute beta#1.05

    Revert the following changes:
    • msm: kgsl: Don't allocate memory dynamically for drawobj sync structs
    • bpf: Avoid allocating small buffers for map keys and values
    • defconfig: Reduce PELT half-life from 32 ms to 16 ms (again, and correctly this time)

    Download & Links
     

    d33dvb

    Senior Member
  • Sep 30, 2007
    690
    158
    Hello there,

    I have looked it up, and it seems that the WIreless Monitor Mode is enabled by default in newer Android powered devices with CONFIG_FEATURE_MONITOR_MODE_SUPPORT

    However, I have pushed commits which would make the kernel work properly with nethunter. I will look up on the USB keyboard support when I will have more free time

    I think that the USB keyboard should work as CONFIG_USB_GADGET is enabled by default. Let me know if it does!
    Awesome thanks so much I will let you know how I make out, very cool of you man.
     
    • Like
    Reactions: momojuro

    captain sideways

    Senior Member
    Jul 27, 2019
    103
    22
    hello :) thanks for your efforts, I'm running this now - it's pretty snappy and I think I have slightly better battery usage as well compared to my previous kernel 👍

    not sure if this is possible but I'll try my luck - is there any way you can add USB Mass Storage mode to this kernel please? I'd like to use the app Drivedroid but have never been able to get it running on Pixel Stock F/W either 10 or 11 as the app doesn't detect any USB Mass Storage mode :(

    Thanks 🙏
     
    • Like
    Reactions: momojuro

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    hello :) thanks for your efforts, I'm running this now - it's pretty snappy and I think I have slightly better battery usage as well compared to my previous kernel 👍

    not sure if this is possible but I'll try my luck - is there any way you can add USB Mass Storage mode to this kernel please? I'd like to use the app Drivedroid but have never been able to get it running on Pixel Stock F/W either 10 or 11 as the app doesn't detect any USB Mass Storage mode :(

    Thanks 🙏

    Hello there,
    Thank you for your positive feedback. I appreciate it!
    I will try to look if there is any workaround for this on my end, but I cannot promise anything.
     
    Last edited:
    • Like
    Reactions: captain sideways

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    We have reached the stable stage!

    Changelog

    fsociety tribute stable#1.00

    Thanks to everyone involved in the following changes, and to my testers from the Telegram group:
    • sched: Import sched_irq_work_queue()
    • cpufreq: schedutil: Queue sugov irq work on policy online cpu
    • cpufreq: schedutil: Fix the incorrect average capacity calculation
    • drivers: binder: silence logging
    • mm: Increase vmstat interval to 1 minute
    • msm: ipa: add check to see if pm client is not NULL
    • drm/msm/sde: Skip heavy autorefresh checks when it's not enabled
    • do accept() in LIFO order for cache efficiency
    • power: Reduce debug logging if logbuffer is still enabled
    • defconfig: Unset CONFIG_SCHEDSTATS
    • defconfig: Set timer frequency to 250 Hz
    • defconfig: Disable some crufts
    • defconfig: Disable SLUB per-CPU partial caches
    • defconfig: Disable unnecessary errata
    • Kbuild: Optimize more crypto drivers with crypto extensions
    • kbuild: Proper CPU optimization flags for Clang and GCC
    • scsi: ufs: Keep UniPro in FASTMODE
    • scsi: ufs: Fix ufshcd_probe_hba() return value when fails to reinit
    • scsi: ufs: handle error to avoid kernel panic
    • usb: dwc3: gadget: Issue soft reset as part of composition switch
    • UPSTREAM: sched/rt: Disable RT_RUNTIME_SHARE by default
    • Revert "msm_geni_serial: reduce wakelock timeout from ISR to 100ms"
    • Revert "msm: camera: Stub out the camera_debug_util API and compile it out"
    • Revert "msm: camera: disable debug logging"
    • Revert "msm: camera: Fix memory leak"
    • dts: fix missing frequency on sd730
    • arm64: Makefile: Proper CPU optimization flags for Clang and GCC
    • arm64: dts: sdmmagpie: Allow big cluster to idle in USB perf mode
    • arm64: dts: sdmmagpie: Power off DSI PHY during idle PC
    • arm64: Kconfig: disable some tracers
    • ARM64: sdmmagpie: fix a few freq inconsistencies
    • ARM64: sdmmagpie: add lower freq to llcc-bw bus
    • ARM64: dst: sdmmagpie-idp: scale SSOC with BSOS
    • ARM64: dts: sdmmagpie: fix max frequencies
    • ARM64: dts: magpie: Remove unused conflicting disp_rdump_memory region
    Download & Links
     
    Last edited:
    • Like
    Reactions: EriecTan and nss357

    momojuro

    Senior Member
  • Jan 15, 2014
    508
    832
    Samsung Galaxy A30
    Google Pixel 4a
    Hello everyone, today's new update!

    Changelog

    fsociety tribute stable#1.01

    Thanks to everyone involved in the following changes:
    • drivers: thermal: Return zero on success for qmi_tmd_send_state_request.
    • drivers: thermal: step_wise: Handle the temperature stable trend.
    • drivers: thermal: step_wise: Clear mitigation on reaching clear threshold
    • sched/core: fix preemption disable tracking during context switch to idle
    • cpumask: Add cpumasks for big and LITTLE CPU clusters
    • defconfig: Configure big and LITTLE CPU masks
    • defconfig: set exfat-linux options
    • fs: exfat: add version 2.2.0-3arter97 (like it is the case with CAF latest changes)
    • kernel: Add API to mark IRQs and kthreads as performance critical
    • drm/msm: Offload commit cleanup onto an unbound worker
    • workqueue: Affine unbound workqueues to little CPUs by default
    • msm: ipa: Do not acquire wakelocks
    • msm: vidc: Disable msm_vidc_fw_debug_mode
    • msm: kgsl: Mark IRQ as performance critical
    • drm: Mark IRQ as performance critical
    • msm: adreno: Set GPU timeout to 64 ms
    • ARM64: dts: sdmmagpie: Set GPU idle timeout to 64 ms
    • ARM64: dts: qcom: Delete CDSP sec memory region
    • arm64: dts: sdmmagpie: Avoid run-time IPIs from expedited grace periods
    Download & Links
     
    Last edited:
    • Like
    Reactions: EriecTan and nss357

    Top Liked Posts

    Our Apps
    Get our official app!
    The best way to access XDA on your phone
    Nav Gestures
    Add swipe gestures to any Android
    One Handed Mode
    Eases uses one hand with your phone