forked from rrcarlosr/Jetpack
39 lines
1.7 KiB
Plaintext
39 lines
1.7 KiB
Plaintext
|
eMMC Block layer simulation speed controls in /sys/block/mmcblk*/
|
||
|
===============================================
|
||
|
|
||
|
Turned on with CONFIG_MMC_SIMULATE_MAX_SPEED which enables MMC device speed
|
||
|
limiting. Used to test and simulate the behavior of the system when
|
||
|
confronted with a slow MMC.
|
||
|
|
||
|
Enables max_read_speed, max_write_speed and cache_size attributes and module
|
||
|
default parameters to control the write or read maximum KB/second speed
|
||
|
behaviors.
|
||
|
|
||
|
NB: There is room for improving the algorithm for aspects tied directly to
|
||
|
eMMC specific behavior. For instance, wear leveling and stalls from an
|
||
|
exhausted erase pool. We would expect that if there was a need to provide
|
||
|
similar speed simulation controls to other types of block devices, aspects of
|
||
|
their behavior are modelled separately (e.g. head seek times, heat assist,
|
||
|
shingling and rotational latency).
|
||
|
|
||
|
/sys/block/mmcblk0/max_read_speed:
|
||
|
|
||
|
Number of KB/second reads allowed to the block device. Used to test and
|
||
|
simulate the behavior of the system when confronted with a slow reading MMC.
|
||
|
Set to 0 or "off" to place no speed limit.
|
||
|
|
||
|
/sys/block/mmcblk0/max_write_speed:
|
||
|
|
||
|
Number of KB/second writes allowed to the block device. Used to test and
|
||
|
simulate the behavior of the system when confronted with a slow writing MMC.
|
||
|
Set to 0 or "off" to place no speed limit.
|
||
|
|
||
|
/sys/block/mmcblk0/cache_size:
|
||
|
|
||
|
Number of MB of high speed memory or high speed SLC cache expected on the
|
||
|
eMMC device being simulated. Used to help simulate the write-back behavior
|
||
|
more accurately. The assumption is the cache has no delay, but draws down
|
||
|
in the background to the MLC/TLC primary store at the max_write_speed rate.
|
||
|
Any write speed delays will show up when the cache is full, or when an I/O
|
||
|
request to flush is issued.
|