Message ID | 20211013100807.306920-1-miquel.raynal@bootlin.com |
---|---|
State | Accepted |
Delegated to: | David Oberhollenzer |
Headers | show |
Series | [mtd-utils] mtd-tests: Read and write pages during speed tests | expand |
----- Ursprüngliche Mail ----- > Von: "Miquel Raynal" <miquel.raynal@bootlin.com> > An: "david oberhollenzer" <david.oberhollenzer@sigma-star.at> > CC: "richard" <richard@nod.at>, "Vignesh Raghavendra" <vigneshr@ti.com>, "Tudor Ambarus" <Tudor.Ambarus@microchip.com>, > "linux-mtd" <linux-mtd@lists.infradead.org>, "Miquel Raynal" <miquel.raynal@bootlin.com> > Gesendet: Mittwoch, 13. Oktober 2021 12:08:07 > Betreff: [PATCH mtd-utils] mtd-tests: Read and write pages during speed tests > The speed test does reads and writes of different sizes: > - eraseblock > - page > - two pages > > At least this is the theory because, as opposed to the legacy kernel > module doing the same measurement, the userspace tool uses the subpage > size (hence accessing the same page 4, 8 or 16 times depending on the > subpage setting). Of course if the controller does not support subpages, > this issue is not visible. > > Use mtd.min_io_size instead for non-NOR devices in order to get the > right bandwidth (at least one that fits the logs). > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> > --- > tests/mtd-tests/flash_speed.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/mtd-tests/flash_speed.c b/tests/mtd-tests/flash_speed.c > index 0058269..2fc70a1 100644 > --- a/tests/mtd-tests/flash_speed.c > +++ b/tests/mtd-tests/flash_speed.c > @@ -343,7 +343,7 @@ int main(int argc, char **argv) > puts("not NAND flash, assume page size is 512 bytes."); > pgsize = 512; > } else { > - pgsize = mtd.subpage_size; > + pgsize = mtd.min_io_size; Now the userspace does the same as the kernel test. On the kernel side it uses mtd->writesize. Reviewed-by: Richard Weinberger <richard@nod.at> Thanks, //richard
Applied to mtd-utils.git master. Thanks, David
diff --git a/tests/mtd-tests/flash_speed.c b/tests/mtd-tests/flash_speed.c index 0058269..2fc70a1 100644 --- a/tests/mtd-tests/flash_speed.c +++ b/tests/mtd-tests/flash_speed.c @@ -343,7 +343,7 @@ int main(int argc, char **argv) puts("not NAND flash, assume page size is 512 bytes."); pgsize = 512; } else { - pgsize = mtd.subpage_size; + pgsize = mtd.min_io_size; } pgcnt = mtd.eb_size / pgsize;
The speed test does reads and writes of different sizes: - eraseblock - page - two pages At least this is the theory because, as opposed to the legacy kernel module doing the same measurement, the userspace tool uses the subpage size (hence accessing the same page 4, 8 or 16 times depending on the subpage setting). Of course if the controller does not support subpages, this issue is not visible. Use mtd.min_io_size instead for non-NOR devices in order to get the right bandwidth (at least one that fits the logs). Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> --- tests/mtd-tests/flash_speed.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)