Message ID | 1459470504-5007-2-git-send-email-eric@anholt.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 03/31/2016 06:28 PM, Eric Anholt wrote: > This approximately triples write performance for the SD card. My card > is too full of important data to collect very reliable numbers, but I > see 271.361% +/- 166.742% improvement (n=3 before, 6 after), for 'dd > if=/dev/zero of=/boot/asdf bs=1M count=3 oflag=dsync,direct'. Read > performance appears to be unaffected. I thought that switching the defconfig wasn't possible, since this HW module relies on the SoC core clock, and that can be asynchronously changed by the FW running on the VideoCore. Consequently, this change isn't safe unless the user puts non-default options in their config.txt. The same comment applies to "[PATCH 1/4] ARM: bcm2835: Switch BCM2835 to sdhci-iproc.c for MMC" in the other series.
Stephen Warren <swarren@wwwdotorg.org> writes: > On 03/31/2016 06:28 PM, Eric Anholt wrote: >> This approximately triples write performance for the SD card. My card >> is too full of important data to collect very reliable numbers, but I >> see 271.361% +/- 166.742% improvement (n=3 before, 6 after), for 'dd >> if=/dev/zero of=/boot/asdf bs=1M count=3 oflag=dsync,direct'. Read >> performance appears to be unaffected. > > I thought that switching the defconfig wasn't possible, since this HW > module relies on the SoC core clock, and that can be asynchronously > changed by the FW running on the VideoCore. Consequently, this change > isn't safe unless the user puts non-default options in their config.txt. > > The same comment applies to "[PATCH 1/4] ARM: bcm2835: Switch BCM2835 to > sdhci-iproc.c for MMC" in the other series. I think you're thinking of SDHOST, the other controller? This is just switching implementations for the EMMC controller so that eventually we can delete our old implementation.
On 03/31/2016 08:01 PM, Stephen Warren wrote: > On 03/31/2016 06:28 PM, Eric Anholt wrote: >> This approximately triples write performance for the SD card. My card >> is too full of important data to collect very reliable numbers, but I >> see 271.361% +/- 166.742% improvement (n=3 before, 6 after), for 'dd >> if=/dev/zero of=/boot/asdf bs=1M count=3 oflag=dsync,direct'. Read >> performance appears to be unaffected. > > I thought that switching the defconfig wasn't possible, since this HW > module relies on the SoC core clock, and that can be asynchronously > changed by the FW running on the VideoCore. Consequently, this change > isn't safe unless the user puts non-default options in their config.txt. > > The same comment applies to "[PATCH 1/4] ARM: bcm2835: Switch BCM2835 to > sdhci-iproc.c for MMC" in the other series. Ah, now I realize that sdhci-bcm2835.c and sdhci-iproc.c are two alternative drivers for the same HW device. For some reason I got the incorrect impression from some past email/patch discussion that sdhci-iproc.c was a driver for the alternative SD controller in the chip. So, there's no problem with this patch. Acked-by: Stephen Warren <swarren@wwwdotorg.org> (although /me wonders why sdhci-iproc.c was even added in the first place given sdhci-bcm2835.c pre-dates it by over 2 years, and equally why the new driver is any faster given it looks almost identical and accesses the same HW, but I suppose it doesn't matter).
Hi, > Stephen Warren <swarren@wwwdotorg.org> hat am 1. April 2016 um 18:58 > geschrieben: > > > On 03/31/2016 08:01 PM, Stephen Warren wrote: > > On 03/31/2016 06:28 PM, Eric Anholt wrote: > >> This approximately triples write performance for the SD card. My card > >> is too full of important data to collect very reliable numbers, but I > >> see 271.361% +/- 166.742% improvement (n=3 before, 6 after), for 'dd > >> if=/dev/zero of=/boot/asdf bs=1M count=3 oflag=dsync,direct'. Read > >> performance appears to be unaffected. > > > > I thought that switching the defconfig wasn't possible, since this HW > > module relies on the SoC core clock, and that can be asynchronously > > changed by the FW running on the VideoCore. Consequently, this change > > isn't safe unless the user puts non-default options in their config.txt. > > > > The same comment applies to "[PATCH 1/4] ARM: bcm2835: Switch BCM2835 to > > sdhci-iproc.c for MMC" in the other series. > > Ah, now I realize that sdhci-bcm2835.c and sdhci-iproc.c are two > alternative drivers for the same HW device. For some reason I got the > incorrect impression from some past email/patch discussion that > sdhci-iproc.c was a driver for the alternative SD controller in the chip. > > So, there's no problem with this patch. > Acked-by: Stephen Warren <swarren@wwwdotorg.org> > > (although /me wonders why sdhci-iproc.c was even added in the first > place given sdhci-bcm2835.c pre-dates it by over 2 years, and equally > why the new driver is any faster given it looks almost identical and > accesses the same HW, but I suppose it doesn't matter). my old results (without DMA support) wasn't so impressing: sdhci-bcm2835 378 kB/s WRITE 10,6 MB/s READ sdhci-iproc 881 kB/s WRITE 10,8 MB/s READ The performance gain comes from the more intelligent quirk handling. sdhci-bcm2835 has a fixed delay after each write. Regards Stefan > > _______________________________________________ > linux-rpi-kernel mailing list > linux-rpi-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index 43a8ce0..a913520 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -642,7 +642,6 @@ CONFIG_MMC_SDHCI_SPEAR=y CONFIG_MMC_SDHCI_S3C=y CONFIG_MMC_SDHCI_S3C_DMA=y CONFIG_MMC_SDHCI_BCM_KONA=y -CONFIG_MMC_SDHCI_BCM2835=y CONFIG_MMC_SDHCI_ST=y CONFIG_MMC_OMAP=y CONFIG_MMC_OMAP_HS=y
This approximately triples write performance for the SD card. My card is too full of important data to collect very reliable numbers, but I see 271.361% +/- 166.742% improvement (n=3 before, 6 after), for 'dd if=/dev/zero of=/boot/asdf bs=1M count=3 oflag=dsync,direct'. Read performance appears to be unaffected. Signed-off-by: Eric Anholt <eric@anholt.net> --- arch/arm/configs/multi_v7_defconfig | 1 - 1 file changed, 1 deletion(-)