You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We experience very long locking of the FS if we perform a single rename (more 12s)
The hardware is pretty solid:
ARM @ 250+ MHz
NOR spi @ 100 Mhz bus (octo SPI) - sector size in 4KB
FS size : 32 MB
littlefs version 2.4.1 (issue also existing on 2.2.0)
Zephyr OS (but doesn't matter here)
Too simplify the issue and reproduce easily.
erase the whole flash
mount littlefs
create 100 small files (256 bytes each)
Then in loop
open("test", FS_O_CREATE | FS_O_WRITE)
write(1024 bytes)
close()
rename("test", "test_rename")
Usually each rename of the loop requires 4000+ flash read operations (96K of data) and a single write, no erase.
BUT: every 33 loop, a single rename last 2s, requires ~300K flash read operations (4.7MB of data), a single sector erase, 7 writes.
... It looks to be a lot for a FS filled with 100 files and 26KB of data (the more files and/or data, the longer is the lock)
I will try to analyze what is done, but this scenario may sound a bell to the littlefs developers.
Arnaud
The text was updated successfully, but these errors were encountered:
We experience very long locking of the FS if we perform a single rename (more 12s)
The hardware is pretty solid:
littlefs version 2.4.1 (issue also existing on 2.2.0)
Zephyr OS (but doesn't matter here)
Too simplify the issue and reproduce easily.
Then in loop
Usually each rename of the loop requires 4000+ flash read operations (96K of data) and a single write, no erase.
BUT: every 33 loop, a single rename last 2s, requires ~300K flash read operations (4.7MB of data), a single sector erase, 7 writes.
... It looks to be a lot for a FS filled with 100 files and 26KB of data (the more files and/or data, the longer is the lock)
I will try to analyze what is done, but this scenario may sound a bell to the littlefs developers.
Arnaud
The text was updated successfully, but these errors were encountered: