* [Patch 0/1] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency @ 2011-07-11 21:28 Manoj Iyer 2011-07-11 21:28 ` [PATCH] " Manoj Iyer 0 siblings, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-11 21:28 UTC (permalink / raw) To: linux-kernel; +Cc: jbarnes, cjb, matsumur, linux-pci Ricoh 1180:e823 does not recognize certain types of SD/MMC cards. - Buffalo SD 512MB dmesg: I/O error, dev mmcblk0, sector xxx - Kingston SD 2GB dmesg: I/O error, dev mmcblk0, sector xxx - Patriot Micro SDHC dmesg: I/O error, dev mmcblk0, sector xxx. Lowering the SD base clock frequency from 200Mhz to 50Mhz fixes this issue. This solution was suggest by Koji Matsumuro, Ricoh Company,Ltd. The patch was tested on Toshiba Tecra R850 by Daniel Manrique. Details can be found in: http://launchpad.net/bugs/773524 ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-11 21:28 [Patch 0/1] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency Manoj Iyer @ 2011-07-11 21:28 ` Manoj Iyer 2011-07-11 21:53 ` Chris Ball 0 siblings, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-11 21:28 UTC (permalink / raw) To: linux-kernel; +Cc: jbarnes, cjb, matsumur, linux-pci Ricoh 1180:e823 does not recognize certain types of SD/MMC cards. Lowering the SD base clock frequency from 200Mhz to 50Mhz fixes this issue. This solution was suggest by Koji Matsumuro, Ricoh Company,Ltd. BugLink: http://launchpad.net/bugs/773524 Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com> Tested-by: Daniel Manrique <daniel.manrique@canonical.com> Cc: Koji Matsumuro <matsumur@nts.ricoh.co.jp> --- drivers/pci/quirks.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 02145e9..fe5bffa 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2758,6 +2758,30 @@ static void ricoh_mmc_fixup_r5c832(struct pci_dev *dev) dev_notice(&dev->dev, "proprietary Ricoh MMC controller disabled (via firewire function)\n"); dev_notice(&dev->dev, "MMC cards are now supported by standard SDHCI controller\n"); + + /* + * RICOH 0xe823 SD/MMC card reader fails to recognize + * certain types of SD/MMC cards. Lowering the SD base + * clock frequency from 200Mhz to 50Mhz fixes this issue. + * + * 0x150 - SD2.0 mode enable for changing base clock + * frequency to 50Mhz + * 0xe1 - Base clock frequency + * 0x32 - 50Mhz new clock frequency + * 0xf9 - Key register for 0x150 + * 0xfc - key register for 0xe1 + */ + if (dev->device == PCI_DEVICE_ID_RICOH_R5CE823) { + pci_write_config_byte(dev, 0xf9, 0xfc); + pci_write_config_byte(dev, 0x150, 0x10); + pci_write_config_byte(dev, 0xf9, 0x00); + pci_write_config_byte(dev, 0xfc, 0x01); + pci_write_config_byte(dev, 0xe1, 0x32); + pci_write_config_byte(dev, 0xfc, 0x00); + + dev_notice(&dev->dev, "Controller base frequency changed to 50Mhz)\n"); + } + } DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-11 21:28 ` [PATCH] " Manoj Iyer @ 2011-07-11 21:53 ` Chris Ball 2011-07-11 22:55 ` Manoj Iyer 2011-07-12 16:01 ` Manoj Iyer 0 siblings, 2 replies; 28+ messages in thread From: Chris Ball @ 2011-07-11 21:53 UTC (permalink / raw) To: Manoj Iyer; +Cc: linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi Manoj, adding linux-mmc@, On Mon, Jul 11 2011, Manoj Iyer wrote: > Ricoh 1180:e823 does not recognize certain types of SD/MMC cards. > Lowering the SD base clock frequency from 200Mhz to 50Mhz fixes > this issue. This solution was suggest by Koji Matsumuro, Ricoh > Company,Ltd. > > BugLink: http://launchpad.net/bugs/773524 > Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com> > Tested-by: Daniel Manrique <daniel.manrique@canonical.com> > Cc: Koji Matsumuro <matsumur@nts.ricoh.co.jp> > --- > drivers/pci/quirks.c | 24 ++++++++++++++++++++++++ > 1 files changed, 24 insertions(+), 0 deletions(-) > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > index 02145e9..fe5bffa 100644 > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c > @@ -2758,6 +2758,30 @@ static void ricoh_mmc_fixup_r5c832(struct pci_dev *dev) > > dev_notice(&dev->dev, "proprietary Ricoh MMC controller disabled (via firewire function)\n"); > dev_notice(&dev->dev, "MMC cards are now supported by standard SDHCI controller\n"); > + > + /* > + * RICOH 0xe823 SD/MMC card reader fails to recognize > + * certain types of SD/MMC cards. Lowering the SD base > + * clock frequency from 200Mhz to 50Mhz fixes this issue. > + * > + * 0x150 - SD2.0 mode enable for changing base clock > + * frequency to 50Mhz > + * 0xe1 - Base clock frequency > + * 0x32 - 50Mhz new clock frequency > + * 0xf9 - Key register for 0x150 > + * 0xfc - key register for 0xe1 > + */ > + if (dev->device == PCI_DEVICE_ID_RICOH_R5CE823) { > + pci_write_config_byte(dev, 0xf9, 0xfc); > + pci_write_config_byte(dev, 0x150, 0x10); > + pci_write_config_byte(dev, 0xf9, 0x00); > + pci_write_config_byte(dev, 0xfc, 0x01); > + pci_write_config_byte(dev, 0xe1, 0x32); > + pci_write_config_byte(dev, 0xfc, 0x00); > + > + dev_notice(&dev->dev, "Controller base frequency changed to 50Mhz)\n"); There's an erroneous ")" in this string; I'll replace it with a "." if this patch goes in via my tree. Also, let's make it "MMC controller" instead of just "Controller". > + } > + > } > DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); > DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); Have you checked to see how SD I/O performance differs after this change? (If this is significant, perhaps we want to try lowering the frequency only after a card starts returning errors, since some cards work fine at the higher frequency.) Thanks, - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-11 21:53 ` Chris Ball @ 2011-07-11 22:55 ` Manoj Iyer 2011-07-12 16:01 ` Manoj Iyer 1 sibling, 0 replies; 28+ messages in thread From: Manoj Iyer @ 2011-07-11 22:55 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, Daniel Manrique, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc >> + >> + dev_notice(&dev->dev, "Controller base frequency changed to 50Mhz)\n"); > > There's an erroneous ")" in this string; I'll replace it with a "." if > this patch goes in via my tree. Also, let's make it "MMC controller" > instead of just "Controller". Oops, I can fix that and resend, or would you rather make the change while (if) applying to your tree? > >> + } >> + >> } >> DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); >> DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); > > Have you checked to see how SD I/O performance differs after this change? > > (If this is significant, perhaps we want to try lowering the frequency > only after a card starts returning errors, since some cards work fine > at the higher frequency.) > This is something I thought about too, I can try and get some data on the cards (that already works) with the patch applied. Do you have any specific benchmarks in mind that you would like me to run? Or will timing read and write will work? Thanks a ton! -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-11 21:53 ` Chris Ball 2011-07-11 22:55 ` Manoj Iyer @ 2011-07-12 16:01 ` Manoj Iyer 2011-07-12 16:20 ` Chris Ball 1 sibling, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-12 16:01 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Chris, Test System: ThinkPad X220 Tablet, using Sandisk 2GB Class 2 SD, I did not see any considerable change in read/write times. Also, tested a Transcend MMCPlus 2GB card, before the patch was applied it would not mount the card, and would cause IO errors on read/write, but after the patch it mounts and works correctly. Linux u 3.0.0-4-generic-pae #5 SMP Mon Jul 11 20:26:49 UTC 2011 i686 GNU/Linux Dmesg outputs: === SD === [ 44.510107] mmc0: new SD card at address 0002 [ 44.510292] mmcblk0: mmc0:0002 00000 1.86 GiB [ 44.512408] mmcblk0: p1 u@u:~/Documents$ === MMC === [ 726.510850] mmc0: card 0001 removed [ 731.688463] mmc0: error -110 whilst initialising MMC card [ 731.776506] mmc0: error -110 whilst initialising MMC card [ 731.864157] mmc0: new MMC card at address 0001 [ 731.864611] mmcblk0: mmc0:0001 MMC 1.87 GiB [ 731.866047] mmcblk0: p1 u@u:~/Documents$ ============ BEFORE THE PATCH =============== Sandisk 2GB Class2 SD ============================================= === WRITE === u@u:~$ ls -lh test.file -rw-r--r-- 1 u u 10M 2011-07-12 10:19 test.file u@u:~$ time cp test.file /media/E0FD-1813/copyto real 0m0.480s user 0m0.000s sys 0m0.024s u@u:~$ time cp test.file /media/E0FD-1813/copyto1 real 0m0.476s user 0m0.000s sys 0m0.028s u@u:~$ time cp test.file /media/E0FD-1813/copyto2 real 0m0.484s user 0m0.000s sys 0m0.024s u@u:~$ time cp test.file /media/E0FD-1813/copyto3 real 0m0.480s user 0m0.000s sys 0m0.020s u@u:~$ u@u:~$ ls -lh /media/E0FD-1813/copyto* -rw-r--r-- 1 u u 10M 2011-07-12 10:20 /media/E0FD-1813/copyto -rw-r--r-- 1 u u 10M 2011-07-12 10:20 /media/E0FD-1813/copyto1 -rw-r--r-- 1 u u 10M 2011-07-12 10:20 /media/E0FD-1813/copyto2 -rw-r--r-- 1 u u 10M 2011-07-12 10:20 /media/E0FD-1813/copyto3 u@u:~$ === READ === u@u:~$ time cp /media/E0FD-1813/copyto1 /tmp/copyfrom1 real 0m0.017s user 0m0.000s sys 0m0.016s u@u:~$ time cp /media/E0FD-1813/copyto1 /tmp/copyfrom2 real 0m0.021s user 0m0.004s sys 0m0.020s u@u:~$ time cp /media/E0FD-1813/copyto1 /tmp/copyfrom3 real 0m0.020s user 0m0.000s sys 0m0.016s u@u:~$ time cp /media/E0FD-1813/copyto1 /tmp/copyfrom4 real 0m0.022s user 0m0.000s sys 0m0.020s u@u:~$ u@u:~$ ls -lh /tmp/copyfrom* -rw-r--r-- 1 u u 10M 2011-07-12 10:22 /tmp/copyfrom1 -rw-r--r-- 1 u u 10M 2011-07-12 10:22 /tmp/copyfrom2 -rw-r--r-- 1 u u 10M 2011-07-12 10:22 /tmp/copyfrom3 -rw-r--r-- 1 u u 10M 2011-07-12 10:22 /tmp/copyfrom4 u@u:~$ ============ AFTER THE PATCH ============= Sandisk 2GB Class2 SD ========================================== === WRITE === u@u:~$ time cp ./test.file /media/E0FD-1813/copyto1 real 0m0.757s user 0m0.000s sys 0m0.044s u@u:~$ time cp ./test.file /media/E0FD-1813/copyto2 real 0m0.488s user 0m0.004s sys 0m0.020s u@u:~$ time cp ./test.file /media/E0FD-1813/copyto3 real 0m0.484s user 0m0.004s sys 0m0.024s u@u:~$ time cp ./test.file /media/E0FD-1813/copyto4 real 0m0.486s user 0m0.000s sys 0m0.024s u@u:~$ ls -lh /media/E0FD-1813/ copyto1 copyto2 copyto3 copyto4 .Trash-1001/ u@u:~$ ls -lh /media/E0FD-1813/copyto* -rw-r--r-- 1 u u 10M 2011-07-12 10:30 /media/E0FD-1813/copyto1 -rw-r--r-- 1 u u 10M 2011-07-12 10:30 /media/E0FD-1813/copyto2 -rw-r--r-- 1 u u 10M 2011-07-12 10:30 /media/E0FD-1813/copyto3 -rw-r--r-- 1 u u 10M 2011-07-12 10:30 /media/E0FD-1813/copyto4 u@u:~$ === READ === u@u:~$ time cp /media/E0FD-1813/copyto1 /tmp/copyfrom1 real 0m0.020s user 0m0.000s sys 0m0.016s u@u:~$ time cp /media/E0FD-1813/copyto1 /tmp/copyfrom2 real 0m0.020s user 0m0.000s sys 0m0.016s u@u:~$ time cp /media/E0FD-1813/copyto1 /tmp/copyfrom3 real 0m0.020s user 0m0.000s sys 0m0.016s u@u:~$ time cp /media/E0FD-1813/copyto1 /tmp/copyfrom4 real 0m0.015s user 0m0.000s sys 0m0.012s u@u:~$ ls -lh /tmp/copyfrom* -rw-r--r-- 1 u u 10M 2011-07-12 10:31 /tmp/copyfrom1 -rw-r--r-- 1 u u 10M 2011-07-12 10:31 /tmp/copyfrom2 -rw-r--r-- 1 u u 10M 2011-07-12 10:31 /tmp/copyfrom3 -rw-r--r-- 1 u u 10M 2011-07-12 10:31 /tmp/copyfrom4 u@u:~$ ====== AFTER THE PATCH - MMC CARD =========== Transcend MMC 2GB ============================================= === WRITE === u@u:~$ time cp test.file /media/New\ Volume/copyto1 real 0m0.557s user 0m0.000s sys 0m0.024s u@u:~$ time cp test.file /media/New\ Volume/copyto2 real 0m0.581s user 0m0.000s sys 0m0.028s u@u:~$ time cp test.file /media/New\ Volume/copyto3 real 0m0.581s user 0m0.000s sys 0m0.032s u@u:~$ time cp test.file /media/New\ Volume/copyto4 real 0m0.585s user 0m0.000s sys 0m0.028s u@u:~$ ls -lh /media/New\ Volume/copyto* -rw-r--r-- 1 u u 10M 2011-07-12 10:42 /media/New Volume/copyto1 -rw-r--r-- 1 u u 10M 2011-07-12 10:42 /media/New Volume/copyto2 -rw-r--r-- 1 u u 10M 2011-07-12 10:42 /media/New Volume/copyto3 -rw-r--r-- 1 u u 10M 2011-07-12 10:42 /media/New Volume/copyto4 u@u:~$ === READ === u@u:~$ time cp /media/New\ Volume/copyto1 /tmp/copyfrom1 real 0m0.154s user 0m0.000s sys 0m0.024s u@u:~$ time cp /media/New\ Volume/copyto1 /tmp/copyfrom2 real 0m0.024s user 0m0.000s sys 0m0.020s u@u:~$ time cp /media/New\ Volume/copyto1 /tmp/copyfrom3 real 0m0.024s user 0m0.000s sys 0m0.020s u@u:~$ time cp /media/New\ Volume/copyto1 /tmp/copyfrom4 real 0m0.022s user 0m0.000s sys 0m0.020s u@u:~$ time cp /media/New\ Volume/copyto2 /tmp/copyfrom5 real 0m0.020s user 0m0.000s sys 0m0.016s u@u:~$ ls -lh /tmp/copyfrom* -rw-r--r-- 1 u u 10M 2011-07-12 10:44 /tmp/copyfrom1 -rw-r--r-- 1 u u 10M 2011-07-12 10:44 /tmp/copyfrom2 -rw-r--r-- 1 u u 10M 2011-07-12 10:44 /tmp/copyfrom3 -rw-r--r-- 1 u u 10M 2011-07-12 10:44 /tmp/copyfrom4 -rw-r--r-- 1 u u 10M 2011-07-12 10:44 /tmp/copyfrom5 u@u:~$ On Mon, 11 Jul 2011, Chris Ball wrote: > Hi Manoj, adding linux-mmc@, > > On Mon, Jul 11 2011, Manoj Iyer wrote: >> Ricoh 1180:e823 does not recognize certain types of SD/MMC cards. >> Lowering the SD base clock frequency from 200Mhz to 50Mhz fixes >> this issue. This solution was suggest by Koji Matsumuro, Ricoh >> Company,Ltd. >> >> BugLink: http://launchpad.net/bugs/773524 >> Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com> >> Tested-by: Daniel Manrique <daniel.manrique@canonical.com> >> Cc: Koji Matsumuro <matsumur@nts.ricoh.co.jp> >> --- >> drivers/pci/quirks.c | 24 ++++++++++++++++++++++++ >> 1 files changed, 24 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c >> index 02145e9..fe5bffa 100644 >> --- a/drivers/pci/quirks.c >> +++ b/drivers/pci/quirks.c >> @@ -2758,6 +2758,30 @@ static void ricoh_mmc_fixup_r5c832(struct pci_dev *dev) >> >> dev_notice(&dev->dev, "proprietary Ricoh MMC controller disabled (via firewire function)\n"); >> dev_notice(&dev->dev, "MMC cards are now supported by standard SDHCI controller\n"); >> + >> + /* >> + * RICOH 0xe823 SD/MMC card reader fails to recognize >> + * certain types of SD/MMC cards. Lowering the SD base >> + * clock frequency from 200Mhz to 50Mhz fixes this issue. >> + * >> + * 0x150 - SD2.0 mode enable for changing base clock >> + * frequency to 50Mhz >> + * 0xe1 - Base clock frequency >> + * 0x32 - 50Mhz new clock frequency >> + * 0xf9 - Key register for 0x150 >> + * 0xfc - key register for 0xe1 >> + */ >> + if (dev->device == PCI_DEVICE_ID_RICOH_R5CE823) { >> + pci_write_config_byte(dev, 0xf9, 0xfc); >> + pci_write_config_byte(dev, 0x150, 0x10); >> + pci_write_config_byte(dev, 0xf9, 0x00); >> + pci_write_config_byte(dev, 0xfc, 0x01); >> + pci_write_config_byte(dev, 0xe1, 0x32); >> + pci_write_config_byte(dev, 0xfc, 0x00); >> + >> + dev_notice(&dev->dev, "Controller base frequency changed to 50Mhz)\n"); > > There's an erroneous ")" in this string; I'll replace it with a "." if > this patch goes in via my tree. Also, let's make it "MMC controller" > instead of just "Controller". > >> + } >> + >> } >> DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); >> DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); > > Have you checked to see how SD I/O performance differs after this change? > > (If this is significant, perhaps we want to try lowering the frequency > only after a card starts returning errors, since some cards work fine > at the higher frequency.) > > Thanks, > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-12 16:01 ` Manoj Iyer @ 2011-07-12 16:20 ` Chris Ball 2011-07-12 17:09 ` Manoj Iyer 0 siblings, 1 reply; 28+ messages in thread From: Chris Ball @ 2011-07-12 16:20 UTC (permalink / raw) To: Manoj Iyer; +Cc: linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi Manoj, On Tue, Jul 12 2011, Manoj Iyer wrote: > Test System: ThinkPad X220 Tablet, using Sandisk 2GB Class 2 SD, I did > not see any considerable change in read/write times. Also, tested a > Transcend MMCPlus 2GB card, before the patch was applied it would not > mount the card, and would cause IO errors on read/write, but after the > patch it mounts and works correctly. > [..] > ============ BEFORE THE PATCH =============== > Sandisk 2GB Class2 SD > ============================================= > === WRITE === > u@u:~$ ls -lh test.file > -rw-r--r-- 1 u u 10M 2011-07-12 10:19 test.file > u@u:~$ time cp test.file /media/E0FD-1813/copyto > > real 0m0.480s > user 0m0.000s > sys 0m0.024s > [..] > ============ AFTER THE PATCH ============= > Sandisk 2GB Class2 SD > ========================================== > > === WRITE === > u@u:~$ time cp ./test.file /media/E0FD-1813/copyto1 > > real 0m0.757s > user 0m0.000s > sys 0m0.044s This suggests that there *was* a considerable difference in write speed, no? It might be helpful to use Arnd's flashbench tool¹ for further benchmarking, since it does the right thing with using direct I/O access without caches. Thanks, - Chris. ¹: http://git.linaro.org/gitweb?p=people/arnd/flashbench.git -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-12 16:20 ` Chris Ball @ 2011-07-12 17:09 ` Manoj Iyer 2011-07-12 17:30 ` Chris Ball 0 siblings, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-12 17:09 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc [-- Attachment #1: Type: TEXT/PLAIN, Size: 6554 bytes --] Chris, btw only the 1st write was slower, subsequent writes looks ok. === before == === after == real 0m0.480s vs real 0m0.757s real 0m0.476s vs real 0m0.488s real 0m0.484s vs real 0m0.484s real 0m0.480s vs real 0m0.486s I have attached the output of flashbench and the time test to http://launchpad.net/bugs/773524 Might be easier for side by side comparison. But I have it pasted here as well. === FLASHBENCH ================ ======== BEFORE PATCH ========= == Guess erase block and page sizes == u@u:~/flash/flashbench$ sudo ./flashbench -a /dev/mmcblk0 --blocksize=1024 align 536870912 pre 1.49ms on 3.42ms post 3.06ms diff 1.15ms align 268435456 pre 1.51ms on 3.7ms post 3.09ms diff 1.4ms align 134217728 pre 2.19ms on 3.64ms post 3.05ms diff 1.03ms align 67108864 pre 1.49ms on 3.53ms post 3.1ms diff 1.23ms align 33554432 pre 2.45ms on 3.79ms post 3.12ms diff 999µs align 16777216 pre 1.46ms on 3.52ms post 3.1ms diff 1.24ms align 8388608 pre 1.46ms on 3.52ms post 3.1ms diff 1.24ms align 4194304 pre 1.46ms on 3.52ms post 3.1ms diff 1.24ms align 2097152 pre 1.46ms on 3.52ms post 3.1ms diff 1.24ms align 1048576 pre 2.02ms on 3.79ms post 3.12ms diff 1.22ms align 524288 pre 2.22ms on 2.39ms post 2.41ms diff 77.6µs align 262144 pre 2.43ms on 2.61ms post 2.61ms diff 95.8µs align 131072 pre 2.58ms on 2.77ms post 2.73ms diff 111µs align 65536 pre 2.65ms on 2.87ms post 2.74ms diff 169µs align 32768 pre 2.7ms on 2.88ms post 2.84ms diff 107µs align 16384 pre 2.73ms on 2.91ms post 2.87ms diff 111µs align 8192 pre 2.74ms on 2.92ms post 2.88ms diff 109µs align 4096 pre 2.9ms on 2.86ms post 2.83ms diff -7395ns align 2048 pre 2.88ms on 2.87ms post 2.86ms diff 2.28µs u@u:~/flash/flashbench$ == Finding the number of open erase blocks == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 4MiB 6.36M/s 2MiB 6.24M/s 1MiB 6.17M/s 512KiB 6.19M/s 256KiB 6.22M/s u@u:~/flash/flashbench$ u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=3 4MiB 6.25M/s 2MiB 6.25M/s 1MiB 6.24M/s 512KiB 2.53M/s 256KiB 1.14M/s u@u:~/flash/flashbench$ ====== AFTER PATCH ======== == Guess erase block and page sizes == u@u:~/flash/flashbench$ sudo ./flashbench -a /dev/mmcblk0 --blocksize=1024 [sudo] password for u: align 536870912 pre 1.56ms on 3.53ms post 3.14ms diff 1.18ms align 268435456 pre 1.54ms on 3.52ms post 3.12ms diff 1.19ms align 134217728 pre 1.5ms on 3.5ms post 3.1ms diff 1.2ms align 67108864 pre 1.56ms on 3.68ms post 3.2ms diff 1.3ms align 33554432 pre 1.55ms on 3.6ms post 3.15ms diff 1.25ms align 16777216 pre 1.57ms on 3.62ms post 3.18ms diff 1.25ms align 8388608 pre 1.57ms on 3.61ms post 3.16ms diff 1.24ms align 4194304 pre 1.55ms on 3.6ms post 3.16ms diff 1.24ms align 2097152 pre 1.56ms on 3.61ms post 3.22ms diff 1.22ms align 1048576 pre 1.57ms on 3.62ms post 3.16ms diff 1.25ms align 524288 pre 2.23ms on 2.42ms post 2.44ms diff 81µs align 262144 pre 2.49ms on 2.67ms post 2.61ms diff 115µs align 131072 pre 2.68ms on 2.87ms post 2.8ms diff 129µs align 65536 pre 2.78ms on 2.98ms post 2.85ms diff 172µs align 32768 pre 2.8ms on 2.99ms post 2.94ms diff 117µs align 16384 pre 2.81ms on 2.99ms post 2.95ms diff 117µs align 8192 pre 2.86ms on 3ms post 3.01ms diff 68.6µs align 4096 pre 2.96ms on 2.93ms post 2.93ms diff -14207n align 2048 pre 2.98ms on 3ms post 2.98ms diff 20.1µs u@u:~/flash/flashbench$ == Finding the number of open erase blocks == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 [sudo] password for u: 4MiB 5.49M/s 2MiB 6.22M/s 1MiB 6.22M/s 512KiB 6.21M/s 256KiB 6.21M/s u@u:~/flash/flashbench$ u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=3 [sudo] password for u: 4MiB 5.31M/s 2MiB 6.16M/s 1MiB 6.2M/s 512KiB 2.53M/s 256KiB 1.14M/s u@u:~/flash/flashbench$ On Tue, 12 Jul 2011, Chris Ball wrote: > Hi Manoj, > > On Tue, Jul 12 2011, Manoj Iyer wrote: >> Test System: ThinkPad X220 Tablet, using Sandisk 2GB Class 2 SD, I did >> not see any considerable change in read/write times. Also, tested a >> Transcend MMCPlus 2GB card, before the patch was applied it would not >> mount the card, and would cause IO errors on read/write, but after the >> patch it mounts and works correctly. >> [..] >> ============ BEFORE THE PATCH =============== >> Sandisk 2GB Class2 SD >> ============================================= >> === WRITE === >> u@u:~$ ls -lh test.file >> -rw-r--r-- 1 u u 10M 2011-07-12 10:19 test.file >> u@u:~$ time cp test.file /media/E0FD-1813/copyto >> >> real 0m0.480s >> user 0m0.000s >> sys 0m0.024s >> [..] >> ============ AFTER THE PATCH ============= >> Sandisk 2GB Class2 SD >> ========================================== >> >> === WRITE === >> u@u:~$ time cp ./test.file /media/E0FD-1813/copyto1 >> >> real 0m0.757s >> user 0m0.000s >> sys 0m0.044s > > This suggests that there *was* a considerable difference in write speed, no? > > It might be helpful to use Arnd's flashbench tool¹ for further benchmarking, > since it does the right thing with using direct I/O access without caches. > > Thanks, > > - Chris. > > ¹: http://git.linaro.org/gitweb?p=people/arnd/flashbench.git > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-12 17:09 ` Manoj Iyer @ 2011-07-12 17:30 ` Chris Ball 2011-07-12 18:00 ` Arnd Bergmann 0 siblings, 1 reply; 28+ messages in thread From: Chris Ball @ 2011-07-12 17:30 UTC (permalink / raw) To: Manoj Iyer Cc: linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc, Arnd Bergmann Hi, On Tue, Jul 12 2011, Manoj Iyer wrote: > btw only the 1st write was slower, subsequent writes looks ok. > [..] > I have attached the output of flashbench and the time test to > > http://launchpad.net/bugs/773524 > [..] > == Finding the number of open erase blocks == > u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * > 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 > 4MiB 6.36M/s > 2MiB 6.24M/s > 1MiB 6.17M/s > 512KiB 6.19M/s > 256KiB 6.22M/s > u@u:~/flash/flashbench$ > [..] > ====== AFTER PATCH ======== > [..] > == Finding the number of open erase blocks == > u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * > 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 > [sudo] password for u: > 4MiB 5.49M/s > 2MiB 6.22M/s > 1MiB 6.22M/s > 512KiB 6.21M/s > 256KiB 6.21M/s > u@u:~/flash/flashbench$ That's interesting. Arnd, any idea why only the first test of the flashbench run would be slower after the patch? Thanks, - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-12 17:30 ` Chris Ball @ 2011-07-12 18:00 ` Arnd Bergmann 2011-07-13 14:45 ` Chris Ball 0 siblings, 1 reply; 28+ messages in thread From: Arnd Bergmann @ 2011-07-12 18:00 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc On Tuesday 12 July 2011 19:30:42 Chris Ball wrote: > On Tue, Jul 12 2011, Manoj Iyer wrote: > > btw only the 1st write was slower, subsequent writes looks ok. > > [..] > > I have attached the output of flashbench and the time test to > > > > http://launchpad.net/bugs/773524 > > [..] > > == Finding the number of open erase blocks == > > u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * > > 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 > > 4MiB 6.36M/s > > 2MiB 6.24M/s > > 1MiB 6.17M/s > > 512KiB 6.19M/s > > 256KiB 6.22M/s > > u@u:~/flash/flashbench$ > > [..] > > ====== AFTER PATCH ======== > > [..] > > == Finding the number of open erase blocks == > > u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * > > 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 > > [sudo] password for u: > > 4MiB 5.49M/s > > 2MiB 6.22M/s > > 1MiB 6.22M/s > > 512KiB 6.21M/s > > 256KiB 6.21M/s > > u@u:~/flash/flashbench$ > > That's interesting. Arnd, any idea why only the first test of the > flashbench run would be slower after the patch? I would very much expect that to be nonreproducible. The first row in each test is the result of a single write() system call and does not get averaged out. More importantly the time for each write depends a lot of the state of the card before the write. For instance when you do a lot of random writes to a card, optionally take it out and put it into a different machine, and then do a large linear write, that linear write will be very slow because the card has to garbage collect all the random writes that were done earlier. After a few writes (usually one is enough), it gets back to the full performance. Arnd ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-12 18:00 ` Arnd Bergmann @ 2011-07-13 14:45 ` Chris Ball 2011-07-13 15:42 ` Manoj Iyer 0 siblings, 1 reply; 28+ messages in thread From: Chris Ball @ 2011-07-13 14:45 UTC (permalink / raw) To: Arnd Bergmann Cc: Manoj Iyer, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi Arnd, On Tue, Jul 12 2011, Arnd Bergmann wrote: > I would very much expect that to be nonreproducible. The first row > in each test is the result of a single write() system call and does > not get averaged out. More importantly the time for each write > depends a lot of the state of the card before the write. > > For instance when you do a lot of random writes to a card, optionally > take it out and put it into a different machine, and then do a large > linear write, that linear write will be very slow because the > card has to garbage collect all the random writes that were done > earlier. After a few writes (usually one is enough), it gets back > to the full performance. That makes sense. Do you think this explains Manoj getting a slower first file copy speed (757ms vs. 480ms) after applying his patch? (Manoj, perhaps you could retry your test without GC being needed?) What would we expect lowering the SD base clock frequency from 200MHz to 50MHz to do to performance theoretically? Thanks, - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 14:45 ` Chris Ball @ 2011-07-13 15:42 ` Manoj Iyer 2011-07-13 16:35 ` Arnd Bergmann 0 siblings, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-13 15:42 UTC (permalink / raw) To: Chris Ball Cc: Arnd Bergmann, Manoj Iyer, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Chris/Arnd, Here is a series of test I did with the patched kernel. == cold boot insert SD card == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 4MiB 4.96M/s 2MiB 6.3M/s 1MiB 6.23M/s 512KiB 6.23M/s 256KiB 6.26M/s == rerun the same test 2nd time === u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 4MiB 6.28M/s 2MiB 6.29M/s 1MiB 6.29M/s 512KiB 6.29M/s 256KiB 6.26M/s == remove and reinsert the SD card == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 4MiB 6.42M/s 2MiB 6.28M/s 1MiB 6.22M/s 512KiB 6.23M/s 256KiB 6.26M/s == remove and reinsert the SD card == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 4MiB 6.42M/s 2MiB 6.3M/s 1MiB 6.22M/s 512KiB 6.25M/s 256KiB 6.24M/s == reboot, reinsert the SD card == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 [sudo] password for u: 4MiB 6.45M/s 2MiB 6.33M/s 1MiB 6.25M/s 512KiB 6.29M/s 256KiB 6.3M/s u@u:~/flash/flashbench$ == rerun the test again == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 4MiB 6.27M/s 2MiB 6.27M/s 1MiB 6.28M/s 512KiB 6.27M/s 256KiB 6.24M/s u@u:~/flash/flashbench$ == poweroff, Poweron, insert SD card == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 [sudo] password for u: 4MiB 6.45M/s 2MiB 6.33M/s 1MiB 6.24M/s 512KiB 6.29M/s 256KiB 6.32M/s u@u:~/flash/flashbench$ == rerun the test again == u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 4MiB 6.29M/s 2MiB 6.28M/s 1MiB 6.29M/s 512KiB 6.28M/s 256KiB 6.25M/s u@u:~/flash/flashbench$ On Wed, 13 Jul 2011, Chris Ball wrote: > Hi Arnd, > > On Tue, Jul 12 2011, Arnd Bergmann wrote: >> I would very much expect that to be nonreproducible. The first row >> in each test is the result of a single write() system call and does >> not get averaged out. More importantly the time for each write >> depends a lot of the state of the card before the write. >> >> For instance when you do a lot of random writes to a card, optionally >> take it out and put it into a different machine, and then do a large >> linear write, that linear write will be very slow because the >> card has to garbage collect all the random writes that were done >> earlier. After a few writes (usually one is enough), it gets back >> to the full performance. > > That makes sense. Do you think this explains Manoj getting a slower > first file copy speed (757ms vs. 480ms) after applying his patch? > (Manoj, perhaps you could retry your test without GC being needed?) > > What would we expect lowering the SD base clock frequency from 200MHz > to 50MHz to do to performance theoretically? > > Thanks, > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 15:42 ` Manoj Iyer @ 2011-07-13 16:35 ` Arnd Bergmann 2011-07-13 16:46 ` Manoj Iyer 2011-07-13 16:50 ` Chris Ball 0 siblings, 2 replies; 28+ messages in thread From: Arnd Bergmann @ 2011-07-13 16:35 UTC (permalink / raw) To: Manoj Iyer Cc: Chris Ball, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc On Wednesday 13 July 2011, Manoj Iyer wrote: > > Chris/Arnd, > > Here is a series of test I did with the patched kernel. > == cold boot insert SD card == > u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * > 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 > 4MiB 4.96M/s > 2MiB 6.3M/s > 1MiB 6.23M/s > 512KiB 6.23M/s > 256KiB 6.26M/s The very first one obviously triggers a garbage collection. Everything after that is well within measuring accuracy around 6.25MB/s > On Wed, 13 Jul 2011, Chris Ball wrote: > > > > That makes sense. Do you think this explains Manoj getting a slower > > first file copy speed (757ms vs. 480ms) after applying his patch? > > (Manoj, perhaps you could retry your test without GC being needed?) Yes. For a single sample, it can easily explain differences up to 500ms. You have to average out file system benchmarks across a lot of files to be sure. > > What would we expect lowering the SD base clock frequency from 200MHz > > to 50MHz to do to performance theoretically? Not much. This card only has a 6MB/s write speed, which is well below what a 50 MHz bus can do. It mgiht be different on a fast eMMC device or a Sandisk Extreme Pro UHS-1 card. Arnd ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 16:35 ` Arnd Bergmann @ 2011-07-13 16:46 ` Manoj Iyer 2011-07-13 16:55 ` Chris Ball 2011-07-13 16:50 ` Chris Ball 1 sibling, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-13 16:46 UTC (permalink / raw) To: Arnd Bergmann Cc: Manoj Iyer, Chris Ball, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Chris, Do you think that lowering the controller speed to 50Mhz in case we have a failure is a better idea than reducing the speed for all e823 ricoh controllers? I can send a V2 of the patch. What do you think ? On Wed, 13 Jul 2011, Arnd Bergmann wrote: > On Wednesday 13 July 2011, Manoj Iyer wrote: >> >> Chris/Arnd, >> >> Here is a series of test I did with the patched kernel. > >> == cold boot insert SD card == >> u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * >> 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 >> 4MiB 4.96M/s >> 2MiB 6.3M/s >> 1MiB 6.23M/s >> 512KiB 6.23M/s >> 256KiB 6.26M/s > > The very first one obviously triggers a garbage collection. > Everything after that is well within measuring accuracy around 6.25MB/s > >> On Wed, 13 Jul 2011, Chris Ball wrote: > >>> >>> That makes sense. Do you think this explains Manoj getting a slower >>> first file copy speed (757ms vs. 480ms) after applying his patch? >>> (Manoj, perhaps you could retry your test without GC being needed?) > > Yes. For a single sample, it can easily explain differences up to 500ms. > You have to average out file system benchmarks across a lot of files > to be sure. > >>> What would we expect lowering the SD base clock frequency from 200MHz >>> to 50MHz to do to performance theoretically? > > Not much. This card only has a 6MB/s write speed, which is well below > what a 50 MHz bus can do. It mgiht be different on a fast eMMC device > or a Sandisk Extreme Pro UHS-1 card. > > Arnd > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 16:46 ` Manoj Iyer @ 2011-07-13 16:55 ` Chris Ball 2011-07-13 17:02 ` Manoj Iyer 0 siblings, 1 reply; 28+ messages in thread From: Chris Ball @ 2011-07-13 16:55 UTC (permalink / raw) To: Manoj Iyer Cc: Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi, On Wed, Jul 13 2011, Manoj Iyer wrote: > Do you think that lowering the controller speed to 50Mhz in case we > have a failure is a better idea than reducing the speed for all e823 > ricoh controllers? I can send a V2 of the patch. What do you think ? It could be better. Do you think you could get hold of a UHS-1 card for testing with? (I don't think it's worth doing if there's no appreciable performance difference either way.) Thanks, - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 16:55 ` Chris Ball @ 2011-07-13 17:02 ` Manoj Iyer 2011-07-13 17:08 ` Chris Ball 0 siblings, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-13 17:02 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc > It could be better. Do you think you could get hold of a UHS-1 card for > testing with? (I don't think it's worth doing if there's no appreciable > performance difference either way.) Yes, I can go out and buy one today, do the performance tests like I have done before and report back to you. > > Thanks, > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 17:02 ` Manoj Iyer @ 2011-07-13 17:08 ` Chris Ball 2011-07-18 20:36 ` Manoj Iyer 0 siblings, 1 reply; 28+ messages in thread From: Chris Ball @ 2011-07-13 17:08 UTC (permalink / raw) To: Manoj Iyer Cc: Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi, On Wed, Jul 13 2011, Manoj Iyer wrote: >> It could be better. Do you think you could get hold of a UHS-1 card for >> testing with? (I don't think it's worth doing if there's no appreciable >> performance difference either way.) > > Yes, I can go out and buy one today, do the performance tests like I > have done before and report back to you. Perfect. Thanks very much! - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 17:08 ` Chris Ball @ 2011-07-18 20:36 ` Manoj Iyer 2011-07-18 20:40 ` Chris Ball 0 siblings, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-18 20:36 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc [-- Attachment #1: Type: TEXT/PLAIN, Size: 2501 bytes --] Chris, Here are the results with SanDisk SDSDXP1-016G-A75 16GB Extreme Pro SDHC Memory Card. u@u:~/flashbench$ sudo ./flashbench -a /dev/mmcblk0p1 [sudo] password for u: align 4294967296 pre 1.16ms on 1.15ms post 1.15ms diff -2024ns align 2147483648 pre 1.2ms on 1.2ms post 1.2ms diff 522ns align 1073741824 pre 1.21ms on 1.2ms post 1.2ms diff 570ns align 536870912 pre 1.2ms on 1.2ms post 1.2ms diff 662ns align 268435456 pre 1.2ms on 1.2ms post 1.2ms diff 404ns align 134217728 pre 1.2ms on 1.2ms post 1.2ms diff -1692ns align 67108864 pre 1.15ms on 1.16ms post 1.16ms diff 1.37µs align 33554432 pre 1.18ms on 1.19ms post 1.15ms diff 31.3µs align 16777216 pre 1.17ms on 1.19ms post 1.15ms diff 31.5µs align 8388608 pre 1.17ms on 1.21ms post 1.18ms diff 32.9µs align 4194304 pre 1.37ms on 1.55ms post 1.17ms diff 274µs align 2097152 pre 1.37ms on 1.37ms post 1.39ms diff -7992ns align 1048576 pre 1.33ms on 1.33ms post 1.34ms diff -7793ns align 524288 pre 1.33ms on 1.33ms post 1.34ms diff -6641ns align 262144 pre 1.34ms on 1.38ms post 1.35ms diff 33.8µs align 131072 pre 1.35ms on 1.37ms post 1.34ms diff 27.2µs align 65536 pre 1.34ms on 1.37ms post 1.34ms diff 31.7µs align 32768 pre 1.33ms on 1.37ms post 1.34ms diff 32.5µs u@u:~/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0p1 --open-au-nr=2 4MiB 23.2M/s 2MiB 23.6M/s 1MiB 23.5M/s 512KiB 23.2M/s 256KiB 23.2M/s u@u:~/flashbench$ On Wed, 13 Jul 2011, Chris Ball wrote: > Hi, > > On Wed, Jul 13 2011, Manoj Iyer wrote: >>> It could be better. Do you think you could get hold of a UHS-1 card for >>> testing with? (I don't think it's worth doing if there's no appreciable >>> performance difference either way.) >> >> Yes, I can go out and buy one today, do the performance tests like I >> have done before and report back to you. > > Perfect. Thanks very much! > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-18 20:36 ` Manoj Iyer @ 2011-07-18 20:40 ` Chris Ball 2011-07-18 20:47 ` Manoj Iyer 0 siblings, 1 reply; 28+ messages in thread From: Chris Ball @ 2011-07-18 20:40 UTC (permalink / raw) To: Manoj Iyer Cc: Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi Manoj, On Mon, Jul 18 2011, Manoj Iyer wrote: > Here are the results with SanDisk SDSDXP1-016G-A75 16GB Extreme Pro > SDHC Memory Card. > > u@u:~/flashbench$ sudo ./flashbench -a /dev/mmcblk0p1 > [sudo] password for u: > align 4294967296 pre 1.16ms on 1.15ms post 1.15ms > diff -2024ns > align 2147483648 pre 1.2ms on 1.2ms post 1.2ms > diff 522ns > align 1073741824 pre 1.21ms on 1.2ms post 1.2ms > diff 570ns > align 536870912 pre 1.2ms on 1.2ms post 1.2ms diff 662ns > align 268435456 pre 1.2ms on 1.2ms post 1.2ms diff 404ns > align 134217728 pre 1.2ms on 1.2ms post 1.2ms diff > -1692ns > align 67108864 pre 1.15ms on 1.16ms post 1.16ms diff > 1.37µs > align 33554432 pre 1.18ms on 1.19ms post 1.15ms diff > 31.3µs > align 16777216 pre 1.17ms on 1.19ms post 1.15ms diff > 31.5µs > align 8388608 pre 1.17ms on 1.21ms post 1.18ms diff > 32.9µs > align 4194304 pre 1.37ms on 1.55ms post 1.17ms diff 274µs > align 2097152 pre 1.37ms on 1.37ms post 1.39ms diff > -7992ns > align 1048576 pre 1.33ms on 1.33ms post 1.34ms diff > -7793ns > align 524288 pre 1.33ms on 1.33ms post 1.34ms diff > -6641ns > align 262144 pre 1.34ms on 1.38ms post 1.35ms diff > 33.8µs > align 131072 pre 1.35ms on 1.37ms post 1.34ms diff > 27.2µs > align 65536 pre 1.34ms on 1.37ms post 1.34ms diff > 31.7µs > align 32768 pre 1.33ms on 1.37ms post 1.34ms diff > 32.5µs > > u@u:~/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] > --blocksize=$[256 * 1024] /dev/mmcblk0p1 --open-au-nr=2 > 4MiB 23.2M/s > 2MiB 23.6M/s > 1MiB 23.5M/s > 512KiB 23.2M/s > 256KiB 23.2M/s > u@u:~/flashbench$ I don't understand whether these measurements are before or after your patch -- we're looking to see what the *difference* in performance is with the patch applied, right? Thanks, - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-18 20:40 ` Chris Ball @ 2011-07-18 20:47 ` Manoj Iyer 2011-07-18 21:05 ` Chris Ball 2012-11-22 0:29 ` Chris Ball 0 siblings, 2 replies; 28+ messages in thread From: Manoj Iyer @ 2011-07-18 20:47 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc [-- Attachment #1: Type: TEXT/PLAIN, Size: 3355 bytes --] Chris, Right, without the patch I get.. [ 52.526665] mmc0: new SDHC card at address e624 [ 52.571228] mmcblk0: mmc0:e624 SD16G 14.8 GiB [ 52.591071] mmcblk0: retrying using single block read [ 52.593105] mmcblk0: error -84 transferring data, sector 0, nr 8, card status 0x900 [ 52.593109] end_request: I/O error, dev mmcblk0, sector 0 [ 52.594594] mmcblk0: error -84 transferring data, sector 1, nr 7, card status 0x900 [ 52.594604] end_request: I/O error, dev mmcblk0, sector 1 [ 52.602893] quiet_error: 24 callbacks suppressed [ 52.602902] Buffer I/O error on device mmcblk0, logical block 0 [ 52.605349] ldm_validate_partition_table(): Disk read failed. [ 52.605384] Dev mmcblk0: unable to read RDB block 0 [ 52.607729] mmcblk0: unable to read partition table u@u:~$ So, I cannot generate any comparison data with this SD card. On Mon, 18 Jul 2011, Chris Ball wrote: > Hi Manoj, > > On Mon, Jul 18 2011, Manoj Iyer wrote: >> Here are the results with SanDisk SDSDXP1-016G-A75 16GB Extreme Pro >> SDHC Memory Card. >> >> u@u:~/flashbench$ sudo ./flashbench -a /dev/mmcblk0p1 >> [sudo] password for u: >> align 4294967296 pre 1.16ms on 1.15ms post 1.15ms >> diff -2024ns >> align 2147483648 pre 1.2ms on 1.2ms post 1.2ms >> diff 522ns >> align 1073741824 pre 1.21ms on 1.2ms post 1.2ms >> diff 570ns >> align 536870912 pre 1.2ms on 1.2ms post 1.2ms diff 662ns >> align 268435456 pre 1.2ms on 1.2ms post 1.2ms diff 404ns >> align 134217728 pre 1.2ms on 1.2ms post 1.2ms diff >> -1692ns >> align 67108864 pre 1.15ms on 1.16ms post 1.16ms diff >> 1.37µs >> align 33554432 pre 1.18ms on 1.19ms post 1.15ms diff >> 31.3µs >> align 16777216 pre 1.17ms on 1.19ms post 1.15ms diff >> 31.5µs >> align 8388608 pre 1.17ms on 1.21ms post 1.18ms diff >> 32.9µs >> align 4194304 pre 1.37ms on 1.55ms post 1.17ms diff 274µs >> align 2097152 pre 1.37ms on 1.37ms post 1.39ms diff >> -7992ns >> align 1048576 pre 1.33ms on 1.33ms post 1.34ms diff >> -7793ns >> align 524288 pre 1.33ms on 1.33ms post 1.34ms diff >> -6641ns >> align 262144 pre 1.34ms on 1.38ms post 1.35ms diff >> 33.8µs >> align 131072 pre 1.35ms on 1.37ms post 1.34ms diff >> 27.2µs >> align 65536 pre 1.34ms on 1.37ms post 1.34ms diff >> 31.7µs >> align 32768 pre 1.33ms on 1.37ms post 1.34ms diff >> 32.5µs >> >> u@u:~/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] >> --blocksize=$[256 * 1024] /dev/mmcblk0p1 --open-au-nr=2 >> 4MiB 23.2M/s >> 2MiB 23.6M/s >> 1MiB 23.5M/s >> 512KiB 23.2M/s >> 256KiB 23.2M/s >> u@u:~/flashbench$ > > I don't understand whether these measurements are before or after your > patch -- we're looking to see what the *difference* in performance is > with the patch applied, right? > > Thanks, > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-18 20:47 ` Manoj Iyer @ 2011-07-18 21:05 ` Chris Ball 2011-07-18 21:12 ` Manoj Iyer 2011-07-19 19:43 ` Manoj Iyer 2012-11-22 0:29 ` Chris Ball 1 sibling, 2 replies; 28+ messages in thread From: Chris Ball @ 2011-07-18 21:05 UTC (permalink / raw) To: Manoj Iyer Cc: Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi Manoj, On Mon, Jul 18 2011, Manoj Iyer wrote: > Right, without the patch I get.. > > [ 52.526665] mmc0: new SDHC card at address e624 > [ 52.571228] mmcblk0: mmc0:e624 SD16G 14.8 GiB > [ 52.591071] mmcblk0: retrying using single block read > [ 52.593105] mmcblk0: error -84 transferring data, sector 0, nr 8, > card status 0x900 > [ 52.593109] end_request: I/O error, dev mmcblk0, sector 0 > [ 52.594594] mmcblk0: error -84 transferring data, sector 1, nr 7, > card status 0x900 > [ 52.594604] end_request: I/O error, dev mmcblk0, sector 1 > [ 52.602893] quiet_error: 24 callbacks suppressed > [ 52.602902] Buffer I/O error on device mmcblk0, logical block 0 > [ 52.605349] ldm_validate_partition_table(): Disk read failed. > [ 52.605384] Dev mmcblk0: unable to read RDB block 0 > [ 52.607729] mmcblk0: unable to read partition table > u@u:~$ > > So, I cannot generate any comparison data with this SD card. I see, thanks. So we're lacking any data on what speed the card would normally provide. Perhaps you could try that card on a different controller, just so we're able to see whether it's usually possible to get closer to 45M/sec with it? I think I'll take your patch as-is for 3.1 -- since if there is a performance degradation, it's on cards that simply don't work at all right now -- and if you're able to work on a followup patch that only performs the clock-lowering after the first error, I think that'd be a handy patch to have around. Does that sound good? Thanks! - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-18 21:05 ` Chris Ball @ 2011-07-18 21:12 ` Manoj Iyer 2011-07-19 19:43 ` Manoj Iyer 1 sibling, 0 replies; 28+ messages in thread From: Manoj Iyer @ 2011-07-18 21:12 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc > I see, thanks. So we're lacking any data on what speed the card would > normally provide. Perhaps you could try that card on a different > controller, just so we're able to see whether it's usually possible > to get closer to 45M/sec with it? Sure, let me generate some data on based on Ricoh R5C822. > > I think I'll take your patch as-is for 3.1 -- since if there is a > performance degradation, it's on cards that simply don't work at all > right now -- and if you're able to work on a followup patch that only > performs the clock-lowering after the first error, I think that'd be a > handy patch to have around. Does that sound good? > That sounds good to me, that way we limit degradation in performance only to previously non-working cards. I will send the V2 soon. > Thanks! > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > Thanks a ton. -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-18 21:05 ` Chris Ball 2011-07-18 21:12 ` Manoj Iyer @ 2011-07-19 19:43 ` Manoj Iyer 1 sibling, 0 replies; 28+ messages in thread From: Manoj Iyer @ 2011-07-19 19:43 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc [-- Attachment #1: Type: TEXT/PLAIN, Size: 3735 bytes --] Here is flashbench data on Ricoh R5C822 for SanDisk SDSDXP1-016G-A75 16GB Extreme Pro SDHC Memory Card. Dell XPS 1330M (Ubuntu Natty). manjo@sleepy:~/Projects/flashbench$ sudo ./flashbench -a /dev/mmcblk0p1 [sudo] password for manjo: align 4294967296 pre 1.91ms on 1.92ms post 1.92ms diff 4.46µs align 2147483648 pre 1.99ms on 1.99ms post 1.99ms diff -642ns align 1073741824 pre 1.99ms on 1.99ms post 1.99ms diff 435ns align 536870912 pre 1.99ms on 1.99ms post 1.99ms diff -1003ns align 268435456 pre 1.99ms on 1.99ms post 1.99ms diff -283ns align 134217728 pre 1.99ms on 1.99ms post 1.99ms diff 539ns align 67108864 pre 1.92ms on 1.91ms post 1.91ms diff 75ns align 33554432 pre 1.97ms on 2.01ms post 1.97ms diff 41µs align 16777216 pre 1.98ms on 2.02ms post 1.97ms diff 43.9µs align 8388608 pre 1.97ms on 1.97ms post 1.98ms diff -3481ns align 4194304 pre 2.22ms on 2.39ms post 1.97ms diff 292µs align 2097152 pre 2.29ms on 2.29ms post 2.3ms diff -3058ns align 1048576 pre 2.22ms on 2.22ms post 2.21ms diff 100ns align 524288 pre 2.22ms on 2.21ms post 2.21ms diff -728ns align 262144 pre 2.24ms on 2.24ms post 2.24ms diff 5.13µs align 131072 pre 2.25ms on 2.24ms post 2.24ms diff 275ns align 65536 pre 2.23ms on 2.23ms post 2.23ms diff 1.7µs align 32768 pre 2.24ms on 2.23ms post 2.23ms diff -2799ns manjo@sleepy:~/Projects/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/mmcblk0p1 --open-au-nr=2 4MiB 9.96M/s 2MiB 11.2M/s 1MiB 11.2M/s 512KiB 11.2M/s 256KiB 11.2M/s manjo@sleepy:~/Projects/flashbench$ > Hi Manoj, > > On Mon, Jul 18 2011, Manoj Iyer wrote: >> Right, without the patch I get.. >> >> [ 52.526665] mmc0: new SDHC card at address e624 >> [ 52.571228] mmcblk0: mmc0:e624 SD16G 14.8 GiB >> [ 52.591071] mmcblk0: retrying using single block read >> [ 52.593105] mmcblk0: error -84 transferring data, sector 0, nr 8, >> card status 0x900 >> [ 52.593109] end_request: I/O error, dev mmcblk0, sector 0 >> [ 52.594594] mmcblk0: error -84 transferring data, sector 1, nr 7, >> card status 0x900 >> [ 52.594604] end_request: I/O error, dev mmcblk0, sector 1 >> [ 52.602893] quiet_error: 24 callbacks suppressed >> [ 52.602902] Buffer I/O error on device mmcblk0, logical block 0 >> [ 52.605349] ldm_validate_partition_table(): Disk read failed. >> [ 52.605384] Dev mmcblk0: unable to read RDB block 0 >> [ 52.607729] mmcblk0: unable to read partition table >> u@u:~$ >> >> So, I cannot generate any comparison data with this SD card. > > I see, thanks. So we're lacking any data on what speed the card would > normally provide. Perhaps you could try that card on a different > controller, just so we're able to see whether it's usually possible > to get closer to 45M/sec with it? > > I think I'll take your patch as-is for 3.1 -- since if there is a > performance degradation, it's on cards that simply don't work at all > right now -- and if you're able to work on a followup patch that only > performs the clock-lowering after the first error, I think that'd be a > handy patch to have around. Does that sound good? > > Thanks! > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-18 20:47 ` Manoj Iyer 2011-07-18 21:05 ` Chris Ball @ 2012-11-22 0:29 ` Chris Ball 2012-11-26 16:42 ` Manoj Iyer 1 sibling, 1 reply; 28+ messages in thread From: Chris Ball @ 2012-11-22 0:29 UTC (permalink / raw) To: Manoj Iyer Cc: Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi Manoj, Matsumuro-san, On Mon, Jul 18 2011, Manoj Iyer wrote: > Right, without the patch I get.. > > [ 52.526665] mmc0: new SDHC card at address e624 > [ 52.571228] mmcblk0: mmc0:e624 SD16G 14.8 GiB > [ 52.591071] mmcblk0: retrying using single block read > [ 52.593105] mmcblk0: error -84 transferring data, sector 0, nr 8, > card status 0x900 > [ 52.593109] end_request: I/O error, dev mmcblk0, sector 0 > [ 52.594594] mmcblk0: error -84 transferring data, sector 1, nr 7, > card status 0x900 > [ 52.594604] end_request: I/O error, dev mmcblk0, sector 1 > [ 52.602893] quiet_error: 24 callbacks suppressed > [ 52.602902] Buffer I/O error on device mmcblk0, logical block 0 > [ 52.605349] ldm_validate_partition_table(): Disk read failed. > [ 52.605384] Dev mmcblk0: unable to read RDB block 0 > [ 52.607729] mmcblk0: unable to read partition table > u@u:~$ > > So, I cannot generate any comparison data with this SD card. I don't know if you remember this bug, but I have reports from two users who see "error -84"s on :e823 controllers even with this patch active on modern ThinkPads. Maybe 50MHz isn't low enough sometimes? Is it possible to lower the base clock further? I noticed that the frequency is encoded ine one of the PCI writes: + * 0x32 - 50Mhz new clock frequency So if I get access to one of these systems, I might try lowering that value (by half, say) and see what happens. But at the moment I haven't found someone who's willing to try kernel patches yet, and I don't have one of these systems myself. Thanks! - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2012-11-22 0:29 ` Chris Ball @ 2012-11-26 16:42 ` Manoj Iyer 2012-11-26 16:57 ` Chris Ball 0 siblings, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2012-11-26 16:42 UTC (permalink / raw) To: Chris Ball Cc: Manoj Iyer, Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Chris, Do you know what systems produce these errors? I can look and see if we have those for testing your patch. Cheers Manoj On Wed, 21 Nov 2012, Chris Ball wrote: > Hi Manoj, Matsumuro-san, > > On Mon, Jul 18 2011, Manoj Iyer wrote: >> Right, without the patch I get.. >> >> [ 52.526665] mmc0: new SDHC card at address e624 >> [ 52.571228] mmcblk0: mmc0:e624 SD16G 14.8 GiB >> [ 52.591071] mmcblk0: retrying using single block read >> [ 52.593105] mmcblk0: error -84 transferring data, sector 0, nr 8, >> card status 0x900 >> [ 52.593109] end_request: I/O error, dev mmcblk0, sector 0 >> [ 52.594594] mmcblk0: error -84 transferring data, sector 1, nr 7, >> card status 0x900 >> [ 52.594604] end_request: I/O error, dev mmcblk0, sector 1 >> [ 52.602893] quiet_error: 24 callbacks suppressed >> [ 52.602902] Buffer I/O error on device mmcblk0, logical block 0 >> [ 52.605349] ldm_validate_partition_table(): Disk read failed. >> [ 52.605384] Dev mmcblk0: unable to read RDB block 0 >> [ 52.607729] mmcblk0: unable to read partition table >> u@u:~$ >> >> So, I cannot generate any comparison data with this SD card. > > I don't know if you remember this bug, but I have reports from two users > who see "error -84"s on :e823 controllers even with this patch active on > modern ThinkPads. > > Maybe 50MHz isn't low enough sometimes? Is it possible to lower the base > clock further? > > I noticed that the frequency is encoded ine one of the PCI writes: > + * 0x32 - 50Mhz new clock frequency > > So if I get access to one of these systems, I might try lowering that > value (by half, say) and see what happens. But at the moment I haven't > found someone who's willing to try kernel patches yet, and I don't have > one of these systems myself. > > Thanks! > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2012-11-26 16:42 ` Manoj Iyer @ 2012-11-26 16:57 ` Chris Ball 0 siblings, 0 replies; 28+ messages in thread From: Chris Ball @ 2012-11-26 16:57 UTC (permalink / raw) To: Manoj Iyer Cc: Arnd Bergmann, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi Manoj, On Mon, Nov 26 2012, Manoj Iyer wrote: > Do you know what systems produce these errors? I can look and see if > we have those for testing your patch. One T430s using the ExpressCard reader¹, and one X220, both with :e823. Thanks, - Chris. ¹: http://support.lenovo.com/en_US/product-and-parts/detail.page?&DocID=PD023556 -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 16:35 ` Arnd Bergmann 2011-07-13 16:46 ` Manoj Iyer @ 2011-07-13 16:50 ` Chris Ball 2011-07-13 16:54 ` Manoj Iyer 1 sibling, 1 reply; 28+ messages in thread From: Chris Ball @ 2011-07-13 16:50 UTC (permalink / raw) To: Arnd Bergmann Cc: Manoj Iyer, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc Hi, On Wed, Jul 13 2011, Arnd Bergmann wrote: > Not much. This card only has a 6MB/s write speed, which is well below > what a 50 MHz bus can do. It mgiht be different on a fast eMMC device > or a Sandisk Extreme Pro UHS-1 card. Okay, I see. I think we're good for now, then -- hopefully anyone using a UHS card on their laptop will see the printk when wondering why their performance isn't great and get in touch with us, and we can investigate more then. I've pushed Manoj's patch to mmc-next for 3.1 now, with the printk changes and a stable@ tag. Thanks again, - Chris. -- Chris Ball <cjb@laptop.org> <http://printf.net/> One Laptop Per Child ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 16:50 ` Chris Ball @ 2011-07-13 16:54 ` Manoj Iyer 2011-07-18 23:27 ` Jesse Barnes 0 siblings, 1 reply; 28+ messages in thread From: Manoj Iyer @ 2011-07-13 16:54 UTC (permalink / raw) To: Chris Ball Cc: Arnd Bergmann, Manoj Iyer, linux-kernel, jbarnes, matsumur, linux-pci, linux-mmc > On Wed, Jul 13 2011, Arnd Bergmann wrote: >> Not much. This card only has a 6MB/s write speed, which is well below >> what a 50 MHz bus can do. It mgiht be different on a fast eMMC device >> or a Sandisk Extreme Pro UHS-1 card. > > Okay, I see. I think we're good for now, then -- hopefully anyone using > a UHS card on their laptop will see the printk when wondering why their > performance isn't great and get in touch with us, and we can investigate > more then. > > I've pushed Manoj's patch to mmc-next for 3.1 now, with the printk > changes and a stable@ tag. > Thanks Chris! > Thanks again, > > - Chris. > -- > Chris Ball <cjb@laptop.org> <http://printf.net/> > One Laptop Per Child > > -- ==================== Manoj Iyer Ubuntu/Canonical Hardware Enablement ==================== ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency 2011-07-13 16:54 ` Manoj Iyer @ 2011-07-18 23:27 ` Jesse Barnes 0 siblings, 0 replies; 28+ messages in thread From: Jesse Barnes @ 2011-07-18 23:27 UTC (permalink / raw) To: Manoj Iyer Cc: Chris Ball, Arnd Bergmann, linux-kernel, matsumur, linux-pci, linux-mmc On Wed, 13 Jul 2011 11:54:40 -0500 (CDT) Manoj Iyer <manoj.iyer@canonical.com> wrote: > > > On Wed, Jul 13 2011, Arnd Bergmann wrote: > >> Not much. This card only has a 6MB/s write speed, which is well > >> below what a 50 MHz bus can do. It mgiht be different on a fast > >> eMMC device or a Sandisk Extreme Pro UHS-1 card. > > > > Okay, I see. I think we're good for now, then -- hopefully anyone > > using a UHS card on their laptop will see the printk when wondering > > why their performance isn't great and get in touch with us, and we > > can investigate more then. > > > > I've pushed Manoj's patch to mmc-next for 3.1 now, with the printk > > changes and a stable@ tag. > > > > Thanks Chris! Assuming you can't move the patch into the MMC driver itself, you can add my acked-by for the PCI quirk addition. Thanks, Jesse ^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2012-11-26 16:57 UTC | newest] Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-07-11 21:28 [Patch 0/1] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency Manoj Iyer 2011-07-11 21:28 ` [PATCH] " Manoj Iyer 2011-07-11 21:53 ` Chris Ball 2011-07-11 22:55 ` Manoj Iyer 2011-07-12 16:01 ` Manoj Iyer 2011-07-12 16:20 ` Chris Ball 2011-07-12 17:09 ` Manoj Iyer 2011-07-12 17:30 ` Chris Ball 2011-07-12 18:00 ` Arnd Bergmann 2011-07-13 14:45 ` Chris Ball 2011-07-13 15:42 ` Manoj Iyer 2011-07-13 16:35 ` Arnd Bergmann 2011-07-13 16:46 ` Manoj Iyer 2011-07-13 16:55 ` Chris Ball 2011-07-13 17:02 ` Manoj Iyer 2011-07-13 17:08 ` Chris Ball 2011-07-18 20:36 ` Manoj Iyer 2011-07-18 20:40 ` Chris Ball 2011-07-18 20:47 ` Manoj Iyer 2011-07-18 21:05 ` Chris Ball 2011-07-18 21:12 ` Manoj Iyer 2011-07-19 19:43 ` Manoj Iyer 2012-11-22 0:29 ` Chris Ball 2012-11-26 16:42 ` Manoj Iyer 2012-11-26 16:57 ` Chris Ball 2011-07-13 16:50 ` Chris Ball 2011-07-13 16:54 ` Manoj Iyer 2011-07-18 23:27 ` Jesse Barnes
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.