Skip to content

Commit 665448a

Browse files
committed
Optimize storage, use cache as secondary swap and reuse devlog as cache
Change-Id: I15cf136cf180f0e6686cd37641cc4170867adecd
1 parent 32a3347 commit 665448a

File tree

6 files changed

+72
-53
lines changed

6 files changed

+72
-53
lines changed

overlay/frameworks/base/core/res/res/xml/storage_list.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
android:allowMassStorage="false"
3636
android:maxFileSize="4096" />
3737
<!-- external USB OTG storage -->
38-
<storage android:mountPoint="/storage/usbdisk"
38+
<storage android:mountPoint="/storage/usb-otg"
3939
android:storageDescription="@string/storage_usb"
4040
android:removable="true" />
4141
</StorageList>

recovery/root/etc/twrp.fstab

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
/recovery emmc /dev/block/mmcblk0p21
55
/system ext4 /dev/block/mmcblk0p22
66
/data f2fs /dev/block/mmcblk0p23 length=-16384
7-
/cache f2fs /dev/block/mmcblk0p24
7+
/cache f2fs /dev/block/mmcblk0p28
88
/misc emmc /dev/block/mmcblk0p31
99
/sdcard1 vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="sdcard1";andsec;storage;wipeingui;removable
1010
/data1 f2fs /dev/block/mmcblk1p2 /dev/block/mmcblk1 flags=display="data1";wipeingui;removable
11-
/usbdisk vfat /dev/block/sda1 /dev/block/sda flags=display="usbdisk";storage;wipeingui;removable
11+
/usb-otg vfat /dev/block/sda1 /dev/block/sda flags=display="usb-otg";storage;wipeingui;removable

rootdir/etc/fstab.pyramid

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
88
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
99
/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
10-
/dev/block/platform/msm_sdcc.1/by-name/devlog /devlog ext4 noatime,nosuid,nodev,barrier=0 wait
10+
/dev/block/platform/msm_sdcc.1/by-name/devlog /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
11+
/dev/block/platform/msm_sdcc.1/by-name/devlog /cache f2fs rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check
1112
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,noatime,barrier=1 wait
12-
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
13-
/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check
1413
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check,encryptable=footer,length=-16384
1514
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs noatime,nodiratime,nosuid,nodev,inline_xattr,discard,rw wait,check,encryptable=footer,length=-16384
1615
/dev/block/platform/msm_sdcc.3/by-num/p2 /data1 ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check
@@ -23,4 +22,7 @@
2322
d* auto auto defaults voldmanaged=usbdisk:auto,noemulatedsd
2423

2524
# ZRAM
26-
/dev/block/zram0 none swap defaults zramsize=268435456
25+
/dev/block/zram0 none swap defaults zramsize=134217728
26+
27+
# Cache as secondary swap
28+
/dev/block/platform/msm_sdcc.1/by-name/cache none swap defaults defaults

rootdir/etc/init.pyramid.rc

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
import init.pyramid.usb.rc
22

33
on early-init
4-
write /sys/devices/system/cpu/cpu1/online 1
5-
write /sys/block/mmcblk0/bdi/read_ahead_kb 512
6-
write /sys/block/mmcblk0/queue/scheduler noop
4+
write /sys/devices/system/cpu/cpu1/online 1
5+
write /sys/block/mmcblk0/bdi/read_ahead_kb 512
6+
write /sys/block/mmcblk0/queue/scheduler noop
7+
write /sys/block/mmcblk1/bdi/read_ahead_kb 512
8+
write /sys/block/mmcblk1/queue/scheduler noop
79

8-
# ZRAM
9-
write /sys/block/zram0/comp_algorithm lz4
10-
write /sys/block/zram0/max_comp_streams 2
10+
# ZRAM
11+
write /sys/block/zram0/comp_algorithm lz4
12+
write /sys/block/zram0/max_comp_streams 2
13+
14+
# UKMS
15+
write /sys/kernel/mm/uksm/run 1
16+
write /sys/kernel/mm/uksm/cpu_governor medium
17+
write /sys/kernel/mm/uksm/sleep_millisecs 500
1118

1219
on init
1320
mkdir /devlog 0700 root root
@@ -46,7 +53,10 @@ on fs
4653
mkdir /firmware_q6 0771 system system
4754
# mount all mmc partitions
4855
mount_all /fstab.pyramid
56+
# init and enable swap partitions (zram and cache)
57+
mkswap /dev/block/platform/msm_sdcc.1/by-name/cache
4958
swapon_all /fstab.pyramid
59+
write /proc/sys/vm/swappiness 60
5060

5161
mkdir /data/tombstones 0771 system system
5262
symlink /data/tombstones /tombstones
@@ -259,21 +269,20 @@ service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
259269
oneshot
260270

261271
service dhcpcd_p2p /system/bin/dhcpcd -aABKL
262-
disabled
263-
oneshot
272+
disabled
273+
oneshot
264274

265275
service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
266-
disabled
267-
oneshot
276+
disabled
277+
oneshot
268278

269279
service iprenew_bt-pan /system/bin/dhcpcd -n
270-
disabled
271-
oneshot
280+
disabled
281+
oneshot
272282

273283
service iprenew_wlan0 /system/bin/dhcpcd -n
274-
disabled
275-
oneshot
276-
# wifi--
284+
disabled
285+
oneshot
277286

278287
# external sdcard daemon running as media_rw (1023)
279288
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
@@ -286,6 +295,9 @@ service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emul
286295

287296
on property:init.svc.bootanim=stopped
288297
start qcom-post-boot
298+
# config storage access
299+
write /sys/block/mmcblk0/queue/scheduler fiops
300+
write /sys/block/mmcblk1/queue/scheduler row
289301

290302
on property:ro.hdmi.enable=true
291303
start hdmid
@@ -336,9 +348,5 @@ on property:sys.boot_completed=1
336348
# Wake on volume
337349
write /sys/keyboard/vol_wakeup 1
338350

339-
on property:init.svc.bootanim=stopped
340-
write /sys/block/mmcblk0/queue/scheduler fiops
341-
342351
on property:sys.radio.shutdown=true
343352
exec /system/bin/sh /system/etc/init.qcom.efs.sync.sh
344-

rootdir/etc/init.pyramid.sh

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,38 @@
11
#!/system/bin/sh
22

33
export PATH=${PATH}:/system/bin/:/system/xbin/
4+
LOG="/cache/${0}.log"
5+
6+
log -p i -t userinit "[${0}][Start]"
47

58
# Log related mounts and mount points before
6-
log -p i -t userinit "[${0}] Before"
7-
echo "[${0}] Before" >> /cache/${0}.log
8-
mount >> /cache/${0}.log
9-
ls -la /data/ >> /cache/${0}.log
10-
ls -la /data1/ >> /cache/${0}.log
9+
echo "[Start]" >> ${LOG}
10+
mount >> ${LOG}
11+
echo "[/]" >> ${LOG}
12+
ls -la / >> ${LOG}
13+
echo "[/data]" >> ${LOG}
14+
ls -la /data/ >> ${LOG}
15+
echo "[/data1]" >> ${LOG}
16+
ls -la /data1/ >> ${LOG}
17+
du -sch /data1/* >> ${LOG}
1118

12-
# Attempt to link data content to secondary data (optional)
19+
# Attempt to link data components to secondary data (optional)
1320
# If we fail those locations will be used as usual
1421
# Ensure permissions are set correctly
15-
test -d /data1/app && chmod 0771 /data1/app && chown system:system /data1/app && rm -Rf /data/app && ln -s /data1/app /data/app && log -p i -t userinit "[${0}] Linked /data1/app" && echo "[${0}] Linked /data1/app" >> /cache/${0}.log
16-
#test -d /data1/app-asec && chmod 0700 /data1/app-asec && chown root:root /data1/app-asec && rm -Rf /data/app-asec && ln -s /data1/app-asec /data/app-asec && log -p i -t userinit "[${0}] Linked /data1/app-asec" && echo "[${0}] Linked /data1/app-asec" >> /cache/${0}.log
17-
#test -d /data1/app-lib && chmod 0771 /data1/app-lib && chown system:system /data1/app-lib && rm -Rf /data/app-lib && ln -s /data1/app-lib /data/app-lib && log -p i -t userinit "[${0}] Linked /data1/app-lib" && echo "[${0}] Linked /data1/app-lib" >> /cache/${0}.log
18-
#test -d /data1/app-private && chmod 0771 /data1/app-private && chown system:system /data1/app-private && rm -Rf /data/app-private && ln -s /data1/app-private /data/app-private && log -p i -t userinit "[${0}] Linked /data1/app-private" && echo "[${0}] Linked /data1/app-private" >> /cache/${0}.log
19-
test -d /data1/dalvik-cache && chmod 0771 /data1/dalvik-cache && chown root:root /data1/dalvik-cache && rm -Rf /data/dalvik-cache && ln -s /data1/dalvik-cache /data/dalvik-cache && log -p i -t userinit "[${0}] Linked /data1/dalvik-cache" && echo "[${0}] Linked /data1/dalvik-cache" >> /cache/${0}.log
20-
test -d /data1/data && chmod 0771 /data1/data && chown system:system /data1/data && rm -Rf /data/data && ln -s /data1/data /data/data && log -p i -t userinit "[${0}] Linked /data1/data" && echo "[${0}] Linked /data1/data" >> /cache/${0}.log
21-
test -d /data1/media && chmod 0770 /data1/media && chown media_rw:media_rw /data1/media && rm -Rf /data/media && ln -s /data1/media /data/media && log -p i -t userinit "[${0}] Linked /data1/media" && echo "[${0}] Linked /data1/media" >> /cache/${0}.log
22+
test -d /data1/dalvik-cache && chmod 0771 /data1/dalvik-cache && chown root:root /data1/dalvik-cache && rm -Rf /data/dalvik-cache && ln -s /data1/dalvik-cache /data/dalvik-cache && log -p i -t userinit "[${0}] Linked /data1/dalvik-cache" && echo "[${0}] Linked /data1/dalvik-cache" >> ${LOG}
23+
test -d /data1/app && chmod 0771 /data1/app && chown system:system /data1/app && rm -Rf /data/app && ln -s /data1/app /data/app && log -p i -t userinit "[${0}] Linked /data1/app" && echo "[${0}] Linked /data1/app" >> ${LOG}
24+
test -d /data1/data && chmod 0771 /data1/data && chown system:system /data1/data && rm -Rf /data/data && ln -s /data1/data /data/data && log -p i -t userinit "[${0}] Linked /data1/data" && echo "[${0}] Linked /data1/data" >> ${LOG}
25+
test -d /data1/media && chmod 0770 /data1/media && chown media_rw:media_rw /data1/media && rm -Rf /data/media && ln -s /data1/media /data/media && log -p i -t userinit "[${0}] Linked /data1/media" && echo "[${0}] Linked /data1/media" >> ${LOG}
2226

2327
# Log related mounts and mount points after
24-
log -p i -t userinit "[${0}] After"
25-
echo "[${0}] After" >> /cache/${0}.log
26-
mount >> /cache/${0}.log
27-
ls -la /data/ >> /cache/${0}.log
28-
ls -la /data1/ >> /cache/${0}.log
28+
echo "[Stop]" >> ${LOG}
29+
mount >> ${LOG}
30+
echo "[/]" >> ${LOG}
31+
ls -la / >> ${LOG}
32+
echo "[/data]" >> ${LOG}
33+
ls -la /data/ >> ${LOG}
34+
echo "[/data1]" >> ${LOG}
35+
ls -la /data1/ >> ${LOG}
36+
du -sch /data1/* >> ${LOG}
37+
38+
log -p i -t userinit "[${0}][Stop]"

system_prop.mk

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,26 @@
55
PRODUCT_PROPERTY_OVERRIDES += \
66
ro.sf.lcd_density=240
77

8-
# radio
8+
# Radio
99
PRODUCT_PROPERTY_OVERRIDES += \
1010
mobiledata.interfaces=rmnet0 \
1111
rild.libpath=/system/lib/libhtc_ril.so \
1212
ro.telephony.ril_class=HtcMsm8660RIL
1313

14-
# wifi
14+
# WiFi
1515
PRODUCT_PROPERTY_OVERRIDES += \
16-
wifi.interface=wlan0
16+
wifi.interface=wlan0
1717

1818
# UMS
1919
PRODUCT_PROPERTY_OVERRIDES += \
20-
persist.sys.usb.config=mtp,adb \
2120
ro.vold.umsdirtyratio=20
2221

23-
# tweaks
22+
# Tweaks
2423
PRODUCT_PROPERTY_OVERRIDES += \
25-
dalvik.vm.dexopt-data-only=1 \
26-
dalvik.vm.dexopt-flags=m=y \
27-
windowsmgr.max_events_per_sec=300 \
28-
pm.sleep_mode=1
24+
dalvik.vm.dexopt-data-only=1 \
25+
dalvik.vm.dexopt-flags=m=y \
26+
windowsmgr.max_events_per_sec=300 \
27+
pm.sleep_mode=1
2928

3029
# Display
3130
PRODUCT_PROPERTY_OVERRIDES += \

0 commit comments

Comments
 (0)