[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b14bc8d1c2652ffc5e35b68279ee36ecadbfa83b.camel@intel.com>
Date: Tue, 16 May 2023 03:07:56 +0000
From: "Zhang, Rui" <rui.zhang@...el.com>
To: "david@...morbit.com" <david@...morbit.com>,
"djwong@...nel.org" <djwong@...nel.org>,
"Tang, Feng" <feng.tang@...el.com>
CC: lkp <lkp@...el.com>, "Huang, Ying" <ying.huang@...el.com>,
"Yin, Fengwei" <fengwei.yin@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-xfs@...r.kernel.org" <linux-xfs@...r.kernel.org>,
"Sang, Oliver" <oliver.sang@...el.com>,
"dchinner@...hat.com" <dchinner@...hat.com>,
"oe-lkp@...ts.linux.dev" <oe-lkp@...ts.linux.dev>
Subject: Re: [linus:master] [xfs] 2edf06a50f: fsmark.files_per_sec -5.7%
regression
> > > Also for the turbostat.Bzy_MHz diff, IIUC, 0Day always uses
> > > 'performance' cpufreq governor. And as the test case is running
> > > 32 thread in a platform with 96 CPUs, there are many CPUs in idle
> > > state in average, and I suspect the Bzy_MHz may be calculated
> > > considering those cpufreq and cpuidle factors.
> >
> > If "busy MHz" includes the speed of idle CPUs, then it's not really
> > a measure of the speed of "busy" CPUs. If what you say is true,
> > then
> > it is, at best, badly names - it would just be the "average Mhz",
> > right?
>
> I found the turbostat.c in kernel tree tools/power/x86/turbostat/
>
> if (DO_BIC(BIC_Bzy_MHz)) {
> if (has_base_hz)
> outp +=
> sprintf(outp, "%s%.0f", (printed++ ? delim : ""),
> base_hz / units * t->aperf / t->mperf);
> else
> outp += sprintf(outp, "%s%.0f", (printed++ ? delim :
> ""),
> tsc / units * t->aperf / t->mperf /
> interval_float);
> }
>
> Rui Zhang told me the 'aperf' is the actual cpu cycles of a CPU in a
> period of time, and it only count when CPU is in C0 state, and will
> stop counting when cpu is in idle power state. Like in one second
> interval, if the CPU spends 500 ms running at 1000 MHz, and the other
> 500 ms in idle, then the Bzy_MHz will be shown 500 MHz.
Bzy_MHz will show 1000 MHz because it is the actual frequency when CPU
is in C0.
Avg_MHz will show 500 MHz because it is the average frequency including
the CPU idle time.
thanks,
rui
Powered by blists - more mailing lists