From: Sourav Poddar <sourav.poddar@ti.com>
To: "Gupta, Pekon" <pekon@ti.com>, Trent Piepho <tpiepho@gmail.com>,
Mark Brown <broonie@kernel.org>
Cc: Peter Korsgaard <peter@korsgaard.com>,
"Balbi, Felipe" <balbi@ti.com>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
"spi-devel-general@lists.sourceforge.net"
<spi-devel-general@lists.sourceforge.net>,
Brian Norris <computersforpeace@gmail.com>,
David Woodhouse <dwmw2@infradead.org>
Subject: Re: [PATCH 1/3] spi/qspi: Add memory mapped read support.
Date: Thu, 17 Oct 2013 17:54:53 +0530 [thread overview]
Message-ID: <525FD715.50703@ti.com> (raw)
In-Reply-To: <20980858CB6D3A4BAE95CA194937D5E73EA23640@DBDE04.ent.ti.com>
Hi All,
On Wednesday 16 October 2013 12:03 AM, Gupta, Pekon wrote:
>> From: Trent Piepho
>> Are there any numbers to show if memory mapped read support is a
>> benefit in Linux? There is some question as to whether it's useful at
>> all or not.
>>
>> If it is, I think low latency for small reads is probably one of the
>> only advantages. To do that, you aren't going to want to deal with
>> device PM for every single read. It would make more sense to turn the
>> hardware on when the MTD device is opened and leave it on until
>> closed.
>>
> +1
>
> Therefore early suggestions were to make 'MM_MODE' as default
> (if device enables it via DT). This means:
> (1) switch to 'SPI_MODE' _only_ when required for commands like
> mtd_erase, etc. and switch back to 'MM_MODE' when done.
> (2) And keep your controller clocks on.
>
> This would ensure that you do minimum config-switching when using
> MM_MODE. And would thus achieve low latency, and no driver intervention.
>
> Yes, real thruput numbers would help clear the picture here ..
>
> with regards, pekon
I did some throughput measurement to get some number on the
read side. Here are my observations:
Case1:
--------
Using SPI framework.
Setup:
Here, the actual memcpy is done in the spi controller, and flash
communicates to the qspi controller to do the memcpy using the
SPI framework. This is what is propsed in the $subject patch.
Measurement method:
used jiffies_to_msecs at the beginning and at the end of the
mtd_read api
and calculated the difference.
Result:
Tried a transfer of 32KB, which takes around 20 ms of time to read.
Case2:
--------
Bypassing SPI framework.
Setup:
Here, the actual memcpy is done in the mtd read api itself, by
getting the
memmap address from the spi controller.
Measurement method:
used jiffies_to_msecs before and after memcpy and calculated the
difference.
Result:
Tried a transfer of 32KB, which takes around 10 ms of time to read.
So, time reduced almost to half while bypassing the SPI framework.
WARNING: multiple messages have this Message-ID (diff)
From: Sourav Poddar <sourav.poddar-l0cyMroinI0@public.gmane.org>
To: "Gupta, Pekon" <pekon-l0cyMroinI0@public.gmane.org>,
Trent Piepho <tpiepho-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Peter Korsgaard <peter-+2lRwdCCLRT2eFz/2MeuCQ@public.gmane.org>,
"Balbi, Felipe" <balbi-l0cyMroinI0@public.gmane.org>,
"linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org"
<spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
Brian Norris
<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Subject: Re: [PATCH 1/3] spi/qspi: Add memory mapped read support.
Date: Thu, 17 Oct 2013 17:54:53 +0530 [thread overview]
Message-ID: <525FD715.50703@ti.com> (raw)
In-Reply-To: <20980858CB6D3A4BAE95CA194937D5E73EA23640-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
Hi All,
On Wednesday 16 October 2013 12:03 AM, Gupta, Pekon wrote:
>> From: Trent Piepho
>> Are there any numbers to show if memory mapped read support is a
>> benefit in Linux? There is some question as to whether it's useful at
>> all or not.
>>
>> If it is, I think low latency for small reads is probably one of the
>> only advantages. To do that, you aren't going to want to deal with
>> device PM for every single read. It would make more sense to turn the
>> hardware on when the MTD device is opened and leave it on until
>> closed.
>>
> +1
>
> Therefore early suggestions were to make 'MM_MODE' as default
> (if device enables it via DT). This means:
> (1) switch to 'SPI_MODE' _only_ when required for commands like
> mtd_erase, etc. and switch back to 'MM_MODE' when done.
> (2) And keep your controller clocks on.
>
> This would ensure that you do minimum config-switching when using
> MM_MODE. And would thus achieve low latency, and no driver intervention.
>
> Yes, real thruput numbers would help clear the picture here ..
>
> with regards, pekon
I did some throughput measurement to get some number on the
read side. Here are my observations:
Case1:
--------
Using SPI framework.
Setup:
Here, the actual memcpy is done in the spi controller, and flash
communicates to the qspi controller to do the memcpy using the
SPI framework. This is what is propsed in the $subject patch.
Measurement method:
used jiffies_to_msecs at the beginning and at the end of the
mtd_read api
and calculated the difference.
Result:
Tried a transfer of 32KB, which takes around 20 ms of time to read.
Case2:
--------
Bypassing SPI framework.
Setup:
Here, the actual memcpy is done in the mtd read api itself, by
getting the
memmap address from the spi controller.
Measurement method:
used jiffies_to_msecs before and after memcpy and calculated the
difference.
Result:
Tried a transfer of 32KB, which takes around 10 ms of time to read.
So, time reduced almost to half while bypassing the SPI framework.
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
next prev parent reply other threads:[~2013-10-17 12:25 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-09 15:24 [PATCH 0/3]Add quad/memory mapped support for SPI flash Sourav Poddar
2013-10-09 15:24 ` Sourav Poddar
2013-10-09 15:24 ` [PATCH 1/3] spi/qspi: Add memory mapped read support Sourav Poddar
2013-10-09 15:24 ` Sourav Poddar
2013-10-09 16:07 ` Mark Brown
2013-10-09 16:07 ` Mark Brown
2013-10-09 16:54 ` Sourav Poddar
2013-10-09 16:54 ` Sourav Poddar
2013-10-09 17:40 ` Mark Brown
2013-10-09 17:40 ` Mark Brown
2013-10-09 18:15 ` Sourav Poddar
2013-10-09 18:15 ` Sourav Poddar
2013-10-09 18:41 ` Mark Brown
2013-10-09 18:41 ` Mark Brown
2013-10-09 19:01 ` Peter Korsgaard
2013-10-09 19:01 ` Peter Korsgaard
2013-10-09 19:36 ` Mark Brown
2013-10-09 19:36 ` Mark Brown
2013-10-10 2:27 ` Trent Piepho
2013-10-10 2:27 ` Trent Piepho
2013-10-10 8:52 ` Sourav Poddar
2013-10-10 8:52 ` Sourav Poddar
2013-10-10 10:14 ` Mark Brown
2013-10-10 10:14 ` Mark Brown
2013-10-10 10:17 ` Sourav Poddar
2013-10-10 10:17 ` Sourav Poddar
2013-10-10 11:08 ` Sourav Poddar
2013-10-10 11:08 ` Sourav Poddar
2013-10-11 10:08 ` Mark Brown
2013-10-11 10:08 ` Mark Brown
2013-10-15 6:06 ` Sourav Poddar
2013-10-15 6:06 ` Sourav Poddar
2013-10-15 11:16 ` Mark Brown
2013-10-15 11:16 ` Mark Brown
2013-10-15 11:49 ` Sourav Poddar
2013-10-15 11:49 ` Sourav Poddar
2013-10-15 12:46 ` Mark Brown
2013-10-15 12:46 ` Mark Brown
2013-10-15 13:23 ` Sourav Poddar
2013-10-15 13:23 ` Sourav Poddar
2013-10-15 15:33 ` Gupta, Pekon
2013-10-15 15:33 ` Gupta, Pekon
2013-10-15 16:01 ` Mark Brown
2013-10-15 16:01 ` Mark Brown
2013-10-15 16:54 ` Gupta, Pekon
2013-10-15 16:54 ` Gupta, Pekon
2013-10-15 15:53 ` Mark Brown
2013-10-15 15:53 ` Mark Brown
2013-10-15 18:01 ` Brian Norris
2013-10-15 18:01 ` Brian Norris
2013-10-15 18:10 ` Sourav Poddar
2013-10-15 18:10 ` Sourav Poddar
2013-10-15 18:13 ` Trent Piepho
2013-10-15 18:13 ` Trent Piepho
2013-10-15 18:33 ` Gupta, Pekon
2013-10-15 18:33 ` Gupta, Pekon
2013-10-15 20:52 ` Mark Brown
2013-10-15 20:52 ` Mark Brown
2013-10-15 21:03 ` Trent Piepho
2013-10-15 21:03 ` Trent Piepho
2013-10-15 22:10 ` Mark Brown
2013-10-15 22:10 ` Mark Brown
2013-10-17 12:24 ` Sourav Poddar [this message]
2013-10-17 12:24 ` Sourav Poddar
2013-10-17 12:38 ` Mark Brown
2013-10-17 12:38 ` Mark Brown
2013-10-17 13:03 ` Gupta, Pekon
2013-10-17 13:03 ` Gupta, Pekon
2013-10-17 23:42 ` Mark Brown
2013-10-18 4:06 ` Sourav Poddar
2013-10-18 5:56 ` Trent Piepho
2013-10-18 6:10 ` Sourav Poddar
2013-10-18 7:27 ` Sourav Poddar
2013-10-18 10:31 ` Mark Brown
2013-10-18 11:48 ` Sourav Poddar
2013-10-18 13:08 ` Mark Brown
2013-10-18 14:47 ` Sourav Poddar
2013-10-15 20:59 ` Mark Brown
2013-10-15 20:59 ` Mark Brown
2013-10-11 9:30 ` Gupta, Pekon
2013-10-11 9:30 ` Gupta, Pekon
2013-10-10 10:10 ` Mark Brown
2013-10-10 10:10 ` Mark Brown
[not found] ` <20131010101052.GF21581-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-10-10 23:53 ` Trent Piepho
2013-10-11 9:59 ` Mark Brown
2013-10-11 9:59 ` Mark Brown
2013-10-09 15:24 ` [PATCHv3 2/3] drivers: mtd: devices: Add quad " Sourav Poddar
2013-10-09 15:24 ` Sourav Poddar
2013-10-09 18:15 ` Jagan Teki
2013-10-09 18:15 ` Jagan Teki
2013-10-11 7:10 ` Gupta, Pekon
2013-10-11 7:10 ` Gupta, Pekon
2013-10-24 1:06 ` Brian Norris
2013-10-24 5:44 ` Sourav Poddar
2013-10-24 7:34 ` Brian Norris
2013-10-24 8:44 ` Sourav Poddar
2013-10-24 17:07 ` Brian Norris
2013-10-24 17:55 ` Sourav Poddar
2013-10-09 15:24 ` [RFC/PATCH 3/3] drivers: mtd: devices: Add memory mapped " Sourav Poddar
2013-10-09 15:24 ` Sourav Poddar
2013-10-09 15:45 ` Mark Brown
2013-10-09 15:45 ` Mark Brown
2013-10-24 0:22 ` [PATCH 0/3]Add quad/memory mapped support for SPI flash Brian Norris
2013-10-24 4:51 ` Sourav Poddar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=525FD715.50703@ti.com \
--to=sourav.poddar@ti.com \
--cc=balbi@ti.com \
--cc=broonie@kernel.org \
--cc=computersforpeace@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=pekon@ti.com \
--cc=peter@korsgaard.com \
--cc=spi-devel-general@lists.sourceforge.net \
--cc=tpiepho@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.