[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdWm8Z-xkDUTjppbPT_uxFqfdOZPrPYxgBNgFRL6E=sN3w@mail.gmail.com>
Date: Mon, 9 Jan 2023 20:36:39 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Willy Tarreau <w@....eu>
Cc: "Theodore Ts'o" <tytso@....edu>, Pavel Machek <pavel@....cz>,
kernel list <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...l.org>
Subject: Re: Dhrystone -- userland version
Hi Willy,
On Mon, Jan 9, 2023 at 3:31 PM Willy Tarreau <w@....eu> wrote:
> On Mon, Jan 09, 2023 at 10:28:09AM +0100, Geert Uytterhoeven wrote:
> > On Mon, Jan 9, 2023 at 1:45 AM Theodore Ts'o <tytso@....edu> wrote:
> > > On Sun, Jan 08, 2023 at 07:47:07PM +0100, Pavel Machek wrote:
> > > > > However, as this is not Linux-specific, how hard can it be to convince
> > > > > your distro to include https://github.com/qris/dhrystone-deb.git?
> > > > > Usually, when I have a full userspace available, I just clone the above,
> > > > > and debuild it myself.
> > > >
> > > > Dunno. I'd not solve it if package was in Debian, but it is not.
> > >
> > > I would suspect the better long-term solution would be to get the
> > > package into Debian, since that will be easier for people to use. I
> > > suspect the reason why most distros don't include it is because it
> > > really is a **terrible** benchmark for most use cases.
> >
> > My use case is verifying the CPU core clock rate when working on
> > the clock driver and/or cpufreq. I can easily measure e.g. SPI or
> > UART clock rates
> > externally, but not CPU core clock rates.
>
> Then maybe you'd rather use this:
>
> https://github.com/wtarreau/mhz
Thanks!
> E.g.:
>
> $ ./mhz 10
> count=1666675 us50=20089 us250=100748 diff=80659 cpu_MHz=4132.645 tsc50=42427696 tsc250=212780620 diff=102 rdtsc_MHz=2112.014
> count=1666675 us50=20271 us250=101282 diff=81011 cpu_MHz=4114.688 tsc50=42813060 tsc250=213905908 diff=102 rdtsc_MHz=2111.970
> count=1666675 us50=20405 us250=100344 diff=79939 cpu_MHz=4169.867 tsc50=43094116 tsc250=211927426 diff=101 rdtsc_MHz=2112.027
> count=1666675 us50=20239 us250=100249 diff=80010 cpu_MHz=4166.167 tsc50=42744302 tsc250=211727114 diff=101 rdtsc_MHz=2112.021
> count=1666675 us50=20182 us250=100482 diff=80300 cpu_MHz=4151.121 tsc50=42624768 tsc250=212217884 diff=101 rdtsc_MHz=2111.994
> count=1666675 us50=20153 us250=100151 diff=79998 cpu_MHz=4166.792 tsc50=42562818 tsc250=211519326 diff=101 rdtsc_MHz=2112.009
> count=1666675 us50=20281 us250=99803 diff=79522 cpu_MHz=4191.733 tsc50=42832298 tsc250=210784252 diff=100 rdtsc_MHz=2112.019
> count=1666675 us50=20104 us250=99841 diff=79737 cpu_MHz=4180.431 tsc50=42461284 tsc250=210862414 diff=101 rdtsc_MHz=2111.957
> count=1666675 us50=20088 us250=100287 diff=80199 cpu_MHz=4156.349 tsc50=42423974 tsc250=211807066 diff=101 rdtsc_MHz=2112.035
> count=1666675 us50=20178 us250=99913 diff=79735 cpu_MHz=4180.536 tsc50=42614718 tsc250=211016124 diff=101 rdtsc_MHz=2112.014
>
> It's also what's used by sbc-bench to verify that CPU vendors are not
> cheating in the embedded world. It's very simple, and not arch-dependent
> nor compiler-dependent (at least as long as you don't build at -O0 :-)).
Seeing the rdtsc stuff, I was a bit skeptical, but it seems to work
fine on arm32 and rv64.
Unfortunately you forgot to add a LICENSE file ;-)
Alternatively, I can use the C version of BogoMIPS. Which has its
own merits and reputation.
The nice thing about Dhrystones is that people still publish numbers
for comparison, also DMIPS/MHz and DMIPS/mW.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists