damn slow SDHC card
hi guys
i have /var and swap on an SD card (sandisk class4 4GB) in an embedded network device, which turns out to be reeeeally slow. System under certain circumstances freezes and in top i see iowait at 90% and processes which touch sd card, like kswapd, kjournald and *mmc*d are all on io-wait (D)
i found some help at linaro for sorting out if it is the SD card, which most probably is and try now to search a card which is fast enough
but tried also to sort out if maybe it is the kernel, because something is fishy there.
can you guys help me a little on that?
the card is a high-speed card, but it is not running in highspeed mode:
cat /sys/kernel/debug/mmc0/ios
clock: 25000000 Hz
vdd: 20 (3.2 ~ 3.3 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 0 (legacy)
i then forced the card setting to highspeed mode (by commenting out some returns in mmc_switch_hs() and found out that the card meets all requirements for highspeed, but
card->sw_caps.hs_max_dtr is 0
is that value the maximum bus speed which the card can handle? i assume when it is 0 it means it is limited to legacy specifications, which is quite slow (?)
or is it regardless for performance if a SDHC card runs in legacy mode?
thank you in advance
kind regards,
peter
Signature · 5 lines
:: e n d i a n :: open source - open minds :: peter warasin :: http://www.endian.com :: [email protected]