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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html