[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181112214333.lplffcc722hta43v@zorba>
Date: Mon, 12 Nov 2018 13:43:33 -0800
From: Daniel Walker <danielwa@...co.com>
To: David Woodhouse <dwmw2@...radead.org>
Cc: "Nikunj Kela (nkela)" <nkela@...co.com>,
Richard Weinberger <richard.weinberger@...il.com>,
"linux-mtd @ lists . infradead . org" <linux-mtd@...ts.infradead.org>,
LKML <linux-kernel@...r.kernel.org>,
"xe-linux-external(mailer list)" <xe-linux-external@...co.com>
Subject: Re: [PATCH] jffs2: implement mount option to configure endianness
On Thu, Nov 08, 2018 at 07:47:08PM +0000, David Woodhouse wrote:
> On Thu, 2018-11-08 at 18:01 +0000, Nikunj Kela (nkela) wrote:
> > But we can hypothesise and handwave about it until the cows come home;
> > I'd like to see a real test of whether it actually makes a difference
> > that we care about.
> >
> > If it does, one option might be to just build separate versions of
> > scan.c for each endianness, since that's the critical path we care
> > about.
> >
> > I wonder if this feature is really that important that we need to duplicate the drivers.
> > Also, it might take some time for me to find some device that I can run the tests with and without this patch.
>
> Hm?
>
> # modprobe mtdram size=16384
> # mount -tjffs2 mtd0 /mnt
> # cp -av .git /mnt # until it fills up
> # umount /mnt
> # perf record mount -tjffs2 mtd0 /mnt
>
> On my desktop 'perf' only gets about 12 samples from that, so it's not
> ideal. But you can make the mtdram device bigger, use something other
> than my shiny new laptop, and use a higher sample frequency from 'perf'
> and you should be able to get some vaguely meaningful results.
>
10 meg MTDRAM device baseline without any changes,
sh-4.2# perf stat -B mount -tjffs2 /dev/mtdblock7 /mnt
jffs2: Flash size not aligned to erasesize, reducing to 9920KiB
Performance counter stats for 'mount -tjffs2 /dev/mtdblock7 /mnt':
74.922624 task-clock # 0.820 CPUs utilized
14 context-switches # 0.187 K/sec
0 cpu-migrations # 0.000 K/sec
94 page-faults # 0.001 M/sec
103274114 cycles # 1.378 GHz [ 6.65%]
1887555 stalled-cycles-frontend # 1.83% frontend cycles idle
1688520 stalled-cycles-backend # 1.63% backend cycles idle
106423876 instructions # 1.03 insns per cycle
# 0.02 stalled cycles per insn
21325416 branches # 284.633 M/sec [97.41%]
104797 branch-misses # 0.49% of all branches [95.20%]
0.091398368 seconds time elapsed
Same partition size, adding in the patch from Nikunj set to Native,
sh-4.2# perf stat -B mount -t jffs2 /dev/mtdblock7 /mnt
jffs2: Flash size not aligned to erasesize, reducing to 9920KiB
Performance counter stats for 'mount -t jffs2 /dev/mtdblock7 /mnt':
75.223488 task-clock # 0.736 CPUs utilized
17 context-switches # 0.226 K/sec
0 cpu-migrations # 0.000 K/sec
94 page-faults # 0.001 M/sec
100815917 cycles # 1.340 GHz
16561335 stalled-cycles-frontend # 16.43% frontend cycles idle
2991700 stalled-cycles-backend # 2.97% backend cycles idle
106536662 instructions # 1.06 insns per cycle
# 0.16 stalled cycles per insn
10931326 branches # 145.318 M/sec [ 4.13%]
931410 branch-misses # 8.52% of all branches [ 2.87%]
0.102157784 seconds time elapsed
I'm not sure this tells us very much. If anything it looks like not much has changes.
Daniel
Powered by blists - more mailing lists