Skip to contentSkip to conversation

damn slow SDHC card

DISCUSSION Peter Warasin 1 participant 1 message Jul 11, 2011 MMC, SD and SDIO

lore
Share & tools
lore
#0 lore raw

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]