linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Agner <stefan@agner.ch>
To: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Cc: dwmw2@infradead.org, computersforpeace@gmail.com,
	mark.rutland@arm.com, boris.brezillon@free-electrons.com,
	aaron@tastycactus.com, marb@ixxat.de, pawel.moll@arm.com,
	ijc+devicetree@hellion.org.uk, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, robh+dt@kernel.org,
	linux-mtd@lists.infradead.org, kernel@pengutronix.de,
	galak@codeaurora.org, shawn.guo@linaro.org,
	linux-arm-kernel@lists.infradead.org, bpringlemeir@nbsps.com
Subject: Re: [PATCH v4 1/6] mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others
Date: Wed, 17 Jun 2015 15:02:03 +0200	[thread overview]
Message-ID: <32a7fe8d8df87dfe35ea50c582077c78@agner.ch> (raw)
In-Reply-To: <20150609200751.GC5720@breakpoint.cc>

On 2015-06-09 22:07, Sebastian Andrzej Siewior wrote:
> On 2015-06-03 17:05:16 [+0200], Stefan Agner wrote:
>> As Boris guessed correctly, the reason I used the raw variant was due to
>> performance improvements due to the barrier. However, I will use
> 
> yeah, do you have any numbers by chance?
> 

Just reevaluated the "performance optimizations". On a VF610 SoC (with
L2 cache) the improvements increase performance by 2.5% and below. On a
VF500 SoC (without L2 cache) it seems to have slightly more impact, up
to 4%. Overall, it seems to influence write more than read.

Back then, when I implemented the improvements it certainly had a bigger
impact. I don't have strong opinion on that...


=> VF610, with relaxed, optimized
[   45.554246] 
[   45.555934] =================================================
[   45.561762] mtd_speedtest: MTD device: 3
[   45.576627] mtd_speedtest: MTD device size 104857600, eraseblock size
131072, page size 2048, count of eraseblocks 800, pages per eraseblock
64, OOB size 64
[   45.595350] mtd_test: scanning for bad eraseblocks
[   45.602177] mtd_test: scanned 800 eraseblocks, 0 are bad
[   46.404682] mtd_speedtest: testing eraseblock write speed
[   65.650704] mtd_speedtest: eraseblock write speed is 5344 KiB/s
[   65.656738] mtd_speedtest: testing eraseblock read speed
[   73.480687] mtd_speedtest: eraseblock read speed is 13118 KiB/s
[   74.264593] mtd_speedtest: testing page write speed
[   94.444190] mtd_speedtest: page write speed is 5087 KiB/s
[   94.449674] mtd_speedtest: testing page read speed
[  102.760387] mtd_speedtest: page read speed is 12343 KiB/s
[  103.544838] mtd_speedtest: testing 2 page write speed
[  123.257753] mtd_speedtest: 2 page write speed is 5199 KiB/s
[  123.263440] mtd_speedtest: testing 2 page read speed
[  131.171313] mtd_speedtest: 2 page read speed is 12963 KiB/s
[  131.176981] mtd_speedtest: Testing erase speed
[  131.968196] mtd_speedtest: erase speed is 130279 KiB/s
[  131.973442] mtd_speedtest: Testing 2x multi-block erase speed
[  132.153410] mtd_speedtest: 2x multi-block erase speed is 585142 KiB/s
[  132.159924] mtd_speedtest: Testing 4x multi-block erase speed
[  132.334864] mtd_speedtest: 4x multi-block erase speed is 609523 KiB/s
[  132.341369] mtd_speedtest: Testing 8x multi-block erase speed
[  132.516091] mtd_speedtest: 8x multi-block erase speed is 609523 KiB/s
[  132.522602] mtd_speedtest: Testing 16x multi-block erase speed
[  132.695800] mtd_speedtest: 16x multi-block erase speed is 613173
KiB/s
[  132.702389] mtd_speedtest: Testing 32x multi-block erase speed
[  132.874831] mtd_speedtest: 32x multi-block erase speed is 616867
KiB/s
[  132.881445] mtd_speedtest: Testing 64x multi-block erase speed
[  133.053647] mtd_speedtest: 64x multi-block erase speed is 616867
KiB/s
[  133.060267] mtd_speedtest: finished
[  133.063812] =================================================

=> VF610, without relaxed and using accessors
vf610_nfc_set/vf610_nfc_set_field and friends:
[   60.015797] 
[   60.017481] =================================================
[   60.023320] mtd_speedtest: MTD device: 3
[   60.037232] mtd_speedtest: MTD device size 104857600, eraseblock size
131072, page size 2048, count of eraseblocks 800, pages per eraseblock
64, OOB size 64
[   60.066359] mtd_test: scanning for bad eraseblocks
[   60.074016] mtd_test: scanned 800 eraseblocks, 0 are bad
[   60.286730] mtd_speedtest: testing eraseblock write speed
[   79.679892] mtd_speedtest: eraseblock write speed is 5281 KiB/s
[   79.685930] mtd_speedtest: testing eraseblock read speed
[   87.563845] mtd_speedtest: eraseblock read speed is 13008 KiB/s
[   88.353390] mtd_speedtest: testing page write speed
[  108.984528] mtd_speedtest: page write speed is 4965 KiB/s
[  108.990041] mtd_speedtest: testing page read speed
[  117.012486] mtd_speedtest: page read speed is 12774 KiB/s
[  117.801663] mtd_speedtest: testing 2 page write speed
[  137.674009] mtd_speedtest: 2 page write speed is 5154 KiB/s
[  137.679696] mtd_speedtest: testing 2 page read speed
[  145.643303] mtd_speedtest: 2 page read speed is 12865 KiB/s
[  145.648982] mtd_speedtest: Testing erase speed
[  146.444423] mtd_speedtest: erase speed is 129456 KiB/s
[  146.449669] mtd_speedtest: Testing 2x multi-block erase speed
[  146.629634] mtd_speedtest: 2x multi-block erase speed is 588505 KiB/s
[  146.636142] mtd_speedtest: Testing 4x multi-block erase speed
[  146.813027] mtd_speedtest: 4x multi-block erase speed is 598830 KiB/s
[  146.819577] mtd_speedtest: Testing 8x multi-block erase speed
[  146.996654] mtd_speedtest: 8x multi-block erase speed is 595348 KiB/s
[  147.003192] mtd_speedtest: Testing 16x multi-block erase speed
[  147.178085] mtd_speedtest: 16x multi-block erase speed is 609523
KiB/s
[  147.184703] mtd_speedtest: Testing 32x multi-block erase speed
[  147.358306] mtd_speedtest: 32x multi-block erase speed is 613173
KiB/s
[  147.364929] mtd_speedtest: Testing 64x multi-block erase speed
[  147.540505] mtd_speedtest: 64x multi-block erase speed is 605917
KiB/s
[  147.547106] mtd_speedtest: finished
[  147.558336] =================================================

=> VF500, with relaxed, optimized
[   42.878713] 
[   42.880775] =================================================
[   42.886589] mtd_speedtest: MTD device: 3
[   42.933491] mtd_speedtest: MTD device size 132120576, eraseblock size
131072, page size 2048, count of eraseblocks 1008, pages per eraseblock
64, OOB size 64
[   42.981413] mtd_test: scanning for bad eraseblocks
[   42.987505] mtd_test: block 142 is bad
[   43.001342] mtd_test: block 1004 is bad
[   43.024184] mtd_test: block 1005 is bad
[   43.029184] mtd_test: block 1006 is bad
[   43.045070] mtd_test: block 1007 is bad
[   43.048975] mtd_test: scanned 1008 eraseblocks, 5 are bad
[   43.854654] mtd_speedtest: testing eraseblock write speed
[   68.873797] mtd_speedtest: eraseblock write speed is 5150 KiB/s
[   68.879915] mtd_speedtest: testing eraseblock read speed
[   80.409787] mtd_speedtest: eraseblock read speed is 11171 KiB/s
[   81.053244] mtd_speedtest: testing page write speed
[  109.851897] mtd_speedtest: page write speed is 4462 KiB/s
[  109.857496] mtd_speedtest: testing page read speed
[  121.964415] mtd_speedtest: page read speed is 10616 KiB/s
[  122.603068] mtd_speedtest: testing 2 page write speed
[  148.929905] mtd_speedtest: 2 page write speed is 4880 KiB/s
[  148.935696] mtd_speedtest: testing 2 page read speed
[  160.908554] mtd_speedtest: 2 page read speed is 10731 KiB/s
[  160.914236] mtd_speedtest: Testing erase speed
[  161.579429] mtd_speedtest: erase speed is 194226 KiB/s
[  161.584680] mtd_speedtest: Testing 2x multi-block erase speed
[  162.226599] mtd_speedtest: 2x multi-block erase speed is 201861 KiB/s
[  162.233153] mtd_speedtest: Testing 4x multi-block erase speed
[  162.870923] mtd_speedtest: 4x multi-block erase speed is 202818 KiB/s
[  162.877591] mtd_speedtest: Testing 8x multi-block erase speed
[  163.503176] mtd_speedtest: 8x multi-block erase speed is 207070 KiB/s
[  163.509826] mtd_speedtest: Testing 16x multi-block erase speed
[  164.138392] mtd_speedtest: 16x multi-block erase speed is 206405
KiB/s
[  164.145128] mtd_speedtest: Testing 32x multi-block erase speed
[  164.768705] mtd_speedtest: 32x multi-block erase speed is 207741
KiB/s
[  164.775475] mtd_speedtest: Testing 64x multi-block erase speed
[  165.394716] mtd_speedtest: 64x multi-block erase speed is 209094
KiB/s
[  165.401347] mtd_speedtest: finished
[  165.415581] =================================================

=> VF500, without relaxed and using accessors
[   93.466642] 
[   93.468578] =================================================
[   93.474563] mtd_speedtest: MTD device: 3
[   93.510699] mtd_speedtest: MTD device size 132120576, eraseblock size
131072, page size 2048, count of eraseblocks 1008, pages per eraseblock
64, OOB size 64
[   93.534490] mtd_test: scanning for bad eraseblocks
[   93.553066] mtd_test: block 142 is bad
[   93.586518] mtd_test: block 1004 is bad
[   93.590559] mtd_test: block 1005 is bad
[   93.595654] mtd_test: block 1006 is bad
[   93.607090] mtd_test: block 1007 is bad
[   93.630667] mtd_test: scanned 1008 eraseblocks, 5 are bad
[   94.457510] mtd_speedtest: testing eraseblock write speed
[  120.495695] mtd_speedtest: eraseblock write speed is 4932 KiB/s
[  120.501726] mtd_speedtest: testing eraseblock read speed
[  131.937006] mtd_speedtest: eraseblock read speed is 11233 KiB/s
[  132.576468] mtd_speedtest: testing page write speed
[  160.663012] mtd_speedtest: page write speed is 4572 KiB/s
[  160.668608] mtd_speedtest: testing page read speed
[  172.624020] mtd_speedtest: page read speed is 10743 KiB/s
[  173.263221] mtd_speedtest: testing 2 page write speed
[  199.811255] mtd_speedtest: 2 page write speed is 4837 KiB/s
[  199.816933] mtd_speedtest: testing 2 page read speed
[  211.558975] mtd_speedtest: 2 page read speed is 10939 KiB/s
[  211.564657] mtd_speedtest: Testing erase speed
[  212.227608] mtd_speedtest: erase speed is 194816 KiB/s
[  212.232951] mtd_speedtest: Testing 2x multi-block erase speed
[  212.875607] mtd_speedtest: 2x multi-block erase speed is 201544 KiB/s
[  212.882254] mtd_speedtest: Testing 4x multi-block erase speed
[  213.521870] mtd_speedtest: 4x multi-block erase speed is 202818 KiB/s
[  213.528471] mtd_speedtest: Testing 8x multi-block erase speed
[  214.154043] mtd_speedtest: 8x multi-block erase speed is 207070 KiB/s
[  214.160690] mtd_speedtest: Testing 16x multi-block erase speed
[  214.785910] mtd_speedtest: 16x multi-block erase speed is 207405
KiB/s
[  214.792652] mtd_speedtest: Testing 32x multi-block erase speed
[  215.418150] mtd_speedtest: 32x multi-block erase speed is 207405
KiB/s
[  215.424883] mtd_speedtest: Testing 64x multi-block erase speed
[  216.051367] mtd_speedtest: 64x multi-block erase speed is 206737
KiB/s
[  216.058056] mtd_speedtest: finished
[  216.069363] =================================================

--
Stefan

  parent reply	other threads:[~2015-06-17 13:05 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-25 16:28 [PATCH v4 0/6] mtd: nand: vf610_nfc: Freescale NFC for VF610 Stefan Agner
2015-03-25 16:28 ` [PATCH v4 1/6] mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others Stefan Agner
2015-06-02  1:32   ` Brian Norris
2015-06-02  9:01     ` Stefan Agner
2015-06-03  8:10   ` Sebastian Andrzej Siewior
2015-06-03  9:45     ` Stefan Agner
2015-06-03 12:03       ` Sebastian Andrzej Siewior
2015-06-03 15:09         ` Stefan Agner
2015-06-09 20:05           ` Sebastian Andrzej Siewior
2015-06-03 13:08   ` Sebastian Andrzej Siewior
2015-06-03 15:05     ` Stefan Agner
2015-06-09 20:07       ` Sebastian Andrzej Siewior
2015-06-09 20:31         ` Stefan Agner
2015-06-12 19:44           ` Sebastian Andrzej Siewior
2015-06-17 13:02         ` Stefan Agner [this message]
2015-06-18 18:27           ` Sebastian Andrzej Siewior
2015-03-25 16:28 ` [PATCH v4 2/6] mtd: nand: vf610_nfc: add hardware BCH-ECC support Stefan Agner
2015-03-25 16:28 ` [PATCH v4 3/6] mtd: nand: vf610_nfc: add device tree bindings Stefan Agner
2015-03-25 16:28 ` [PATCH v4 4/6] ARM: vf610: enable NAND Flash Controller Stefan Agner
2015-03-25 16:28 ` [PATCH v4 5/6] ARM: dts: vf610: add NAND flash controller peripherial Stefan Agner
2015-03-25 16:28 ` [PATCH v4 6/6] ARM: dts: vf-colibri: enable NAND flash controller Stefan Agner

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=32a7fe8d8df87dfe35ea50c582077c78@agner.ch \
    --to=stefan@agner.ch \
    --cc=aaron@tastycactus.com \
    --cc=boris.brezillon@free-electrons.com \
    --cc=bpringlemeir@nbsps.com \
    --cc=computersforpeace@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=marb@ixxat.de \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sebastian@breakpoint.cc \
    --cc=shawn.guo@linaro.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).