Ticket #9688 (closed defect: wontfix)
terrible SD write performance
|Reported by:||dsd||Owned by:||wad|
|Deployments affected:||Blocked By:|
Our system feels slow and our syncs take ages because of terrible SD card write performance. I am testing on a system which is marked as having a sandisk C24G
To reproduce: boot a system, press ctrl+alt+f2, run "sync" at bash prompt. It will take 5-10 seconds.
blktrace shows that only ~100kb of data is being written in those 5-10 seconds - approximately 12kb/sec.
I traced this down to the sdhci level. The individual small, scattered writes that are being performed are often taking 400-600ms to complete (even just for a 2 sector write). I went as far to check that that delay definitely occurs at the point where the sdhci command has been dispatched and before the interrupt arrives. (there is no measurable delay in the lead-up to command submission, or the processing of the interrupt)
I will attach some logs showing the write access pattern and the delays, and I will write a C program to reproduce this slow set of writes and hopefully act as a test case.