Enabling writebooster capability for Pixel UFS (pa/2994670) enabled the following flags in Android Common Kernel: - wb_flush_en - wb_flush_during_h8 - wb_enable This patch disables these writebooster-related flags to restore the intended behavior for Pixel devices. This overrides the default Android Common Kernel behavior. While 'wb_flush_en' and 'wb_enable' have corresponding sysfs entries ('enable_wb_buf_flush' and 'wb_on') for toggling, 'wb_flush_during_h8' currently lacks this functionality in the Android Common Kernel. Pixel provides the 'manual_gc' sysfs entry as a workaround. Setting 'manual_gc' to 0 disables 'wb_flush_during_h8'. Bug: 377958570 Flag: EXEMPT bugfix Test: check if all writebooster-realated flags are false upon init Change-Id: I918bf6939de3e208b715f554a96ccbd053f68a18 Signed-off-by: Daniel Lee <chullee@google.com>
74 lines
2.9 KiB
Text
74 lines
2.9 KiB
Text
on init
|
|
# Make foreground and background I/O priority different. none-to-rt was
|
|
# introduced in kernel 5.14. promote-to-rt was introduced in kernel 6.5.
|
|
# Write none-to-rt first and promote-to-rt next to support both older and
|
|
# newer kernel versions.
|
|
write /dev/blkio/blkio.prio.class none-to-rt
|
|
write /dev/blkio/blkio.prio.class promote-to-rt
|
|
|
|
on property:ro.build.type=userdebug
|
|
write /dev/sys/block/bootdevice/pixel/enable_pixel_ufs_logging 1
|
|
chown system /dev/sg3
|
|
|
|
on default_storage_mode
|
|
# F2FS
|
|
write /dev/sys/fs/by-name/userdata/data_io_flag 8
|
|
write /dev/sys/fs/by-name/userdata/node_io_flag 8
|
|
write /dev/sys/fs/by-name/userdata/max_io_bytes 524288
|
|
write /dev/sys/fs/by-name/userdata/min_hot_blocks 0
|
|
|
|
# Block
|
|
write /dev/sys/block/by-name/rootdisk/queue/iostats 1
|
|
write /dev/sys/block/by-name/rootdisk/queue/nr_requests 128
|
|
write /dev/sys/block/by-name/rootdisk/queue/rq_affinity 2
|
|
write /dev/sys/block/by-name/zoned_device/queue/rq_affinity 2
|
|
|
|
# UFS
|
|
write /dev/sys/block/bootdevice/clkgate_enable 1
|
|
|
|
on init
|
|
# Symlink /dev/sys/block/bootdevice
|
|
wait /dev/block/platform/${ro.boot.boot_devices}
|
|
symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
|
|
symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice
|
|
|
|
# F2FS
|
|
write /dev/sys/fs/by-name/userdata/data_io_flag 56
|
|
write /dev/sys/fs/by-name/userdata/node_io_flag 56
|
|
|
|
# Block
|
|
write /dev/sys/block/by-name/rootdisk/queue/iostats 0
|
|
write /dev/sys/block/by-name/rootdisk/queue/nr_requests 256
|
|
|
|
# UFS
|
|
write /dev/sys/block/bootdevice/clkgate_enable 0
|
|
write /dev/sys/block/bootdevice/wb_on 0
|
|
write /dev/sys/block/bootdevice/enable_wb_buf_flush 0
|
|
|
|
on property:sys.boot_completed=1
|
|
# Health Storage HAL
|
|
chown system system /dev/sys/block/bootdevice/manual_gc
|
|
write /dev/sys/block/bootdevice/manual_gc 0
|
|
|
|
# Pixelstats
|
|
chown system system /dev/sys/block/bootdevice/slowio_read_cnt
|
|
chown system system /dev/sys/block/bootdevice/slowio_sync_cnt
|
|
chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt
|
|
chown system system /dev/sys/block/bootdevice/slowio_write_cnt
|
|
|
|
chown system system /dev/sys/fs/by-name/userdata/committed_atomic_block
|
|
chown system system /dev/sys/fs/by-name/userdata/compr_new_inode
|
|
chown system system /dev/sys/fs/by-name/userdata/compr_saved_block
|
|
chown system system /dev/sys/fs/by-name/userdata/compr_written_block
|
|
chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments
|
|
chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode
|
|
chown system system /dev/sys/fs/by-name/userdata/peak_atomic_write
|
|
chown system system /dev/sys/fs/by-name/userdata/revoked_atomic_block
|
|
|
|
trigger default_storage_mode
|
|
|
|
on charger
|
|
trigger default_storage_mode
|
|
|
|
on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
|
|
trigger default_storage_mode
|