[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5A47E75E594F054BAF48C5E4FC4B92AB030555A1A2@dbde02.ent.ti.com>
Date: Wed, 6 May 2009 13:31:29 +0530
From: "Gadiyar, Anand" <gadiyar@...com>
To: Jarkko Lavinen <jarkko.lavinen@...ia.com>
CC: "pierre@...man.eu" <pierre@...man.eu>,
Tony Lindgren <tony@...mide.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-omap@...r.kernel.org" <linux-omap@...r.kernel.org>
Subject: RE: [PATCH] OMAP: HSMMC: Do not enable buffer ready interrupt if
using DMA
On Tue, May 5, 2009, Jarkko Lavinen wrote:
> On Tue, Apr 21, 2009 at 09:39:22AM +0200, ext Gadiyar, Anand wrote:
> > From: Anand Gadiyar <gadiyar@...com>
> >
> > OMAP: HSMMC: Do not enable buffer ready interrupt if using DMA
> >
> > This considerably reduces the number of interrupts during a transfer
> > and ought to result in some power saving.
>
> I tried the patch with reading from the raw mmc block device to
> /dev/null with dd (with bs 32k and 1M). I cannot see any
> difference in interrupt count from /proc/interrupts or in read
> speed. At least the patch works. Cpu was 34340es3.
>
> I also trid without the patch just disabling the Buffer
> Read/write Ready bits from INT_EN_MASK which is then written to
> both MMCHS_IE and MMCHS_ISE. Still no change in read speed nor
> mmc irq count.
>
> Cheers
> Jarkko Lavinen
I discovered this while doing MMC writes. I did not check if there
was any difference during a read. I notice you have only tested with
MMC reads.
Here's what I get with and without the patch.
- Anand
Without patch
/ # mount -t vfat /dev/mmcblk0 /mnt/mmc
/ # cat /proc/interrupts | grep mmc
83: 90 INTC mmc0
384: 1 twl4030 mmc0
/ # dd if=/dev/zero of=/mnt/mmc/32kbs.txt bs=32k count=1000
1000+0 records in
1000+0 records out
/ # cat /proc/interrupts | grep mmc
83: 3760 INTC mmc0
384: 1 twl4030 mmc0
/ # dd if=/dev/zero of=/mnt/mmc/1Mbs.txt bs=1M count=32
32+0 records in
32+0 records out
/ # cat /proc/interrupts | grep mmc
83: 7570 INTC mmc0
384: 1 twl4030 mmc0
/ # ls -l /mnt/mmc
-rwxr-xr-x 1 root root 33554432 Dec 31 18:03 1Mbs.txt
-rwxr-xr-x 1 root root 32768000 Dec 31 18:03 32kbs.txt
/ # umount /mnt/mmc
With patch
/ # mount -t vfat /dev/mmcblk0 /mnt/mmc
/ # cat /proc/interrupts | grep mmc
83: 67 INTC mmc0
384: 0 twl4030 mmc0
/ # dd if=/dev/zero of=/mnt/mmc/32kbs.txt bs=32k count=1000
1000+0 records in
1000+0 records out
/ # cat /proc/interrupts | grep mmc
83: 3103 INTC mmc0
384: 0 twl4030 mmc0
/ # dd if=/dev/zero of=/mnt/mmc/1Mbs.txt bs=1M count=32
32+0 records in
32+0 records out
/ # cat /proc/interrupts | grep mmc
83: 6170 INTC mmc0
384: 0 twl4030 mmc0
/ # ls -l /mnt/mmc
-rwxr-xr-x 1 root root 33554432 Dec 31 18:01 1Mbs.txt
-rwxr-xr-x 1 root root 32768000 Dec 31 18:00 32kbs.txt
/ # umount /mnt/mmc--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists