radek-pesina opened a new issue, #9080: URL: https://github.com/apache/nuttx/issues/9080
Hi, Utilising the littlefs filesystem on SD/eMMC is providing read/write speeds of approximately 50KiB/sec (calculated using dd command). I've tried optimising the menuconfig settings to improve it, including options such as below but still the performance is lacking: - Turning on CONFIG_MEMCPY_VIK gave slight improvement - Setting USEC_PER_TICK to 1000 or below gave most improvement, however at the detriment of other aspects of the system. The fastest speeds observed by adjusting this was ~370KiB/s write and 700KiB/s read though overall this was unacceptable given the effect on the rest of the system. - Adjusting LittleFS parameters (e.g. CONFIG_FS_LITTLEFS_PROGRAM_SIZE_FACTOR, CONFIG_FS_LITTLEFS_READ_SIZE_FACTOR, CONFIG_FS_LITTLEFS_BLOCK_SIZE_FACTOR, CONFIG_FS_LITTLEFS_CACHE_SIZE_FACTOR, CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE - Ensuring SD/eMMC DMA read/writes are enabled - Setting MMCSD_MULTIBLOCK_LIMIT to 0 Details of build: - risc-v architecture using running kernel in S-mode, main clock running @ 75MHz, SD peripheral @ 25MHz - Toolchain: riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14 - Nuttx GIT version: https://github.com/apache/nuttx/pull/8922 with local changes in littlefs to use kmm_malloc/free due to using DMA and S-mode kernel - Built with commands: ``` $ make distclean -j16 $ ./tools/configure.sh rv-virt:knsh64 $ make -j16 $ make export -j16 $ make import -j16 ``` - Executed with command: ` $ qemu-system-riscv64 -semihosting -M virt,aclint=on -cpu rv64 -smp 8 -bios none -kernel nuttx -nographic -serial mon:stdio` Our architecture and hardware design requires the product to boot from eMMC and have a fast boot time for a firmware image of approximately 2MiB. At 50KiB/s the image load itself would consume 40 seconds. NOTE: Interestingly littlefs performs considerably better than vFAT on SD/eMMC, which on the same setup has read/writes speeds of ~12KiB/s. Littlefs however on a RAM disk gives speeds of 560KiB/s for write which is considerably slower than vFAT, which measures ~3225KiB/s. Does anyone have a rough feel on what performance we could expect when using littefs on SD/eMMC in Nuttx for a configuration like described above and are there ways to improve this? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org