From: "Doug Smythies" <dsmythies@telus.net>
To: "'Borislav Petkov'" <bp@suse.de>,
"'Artem Bityutskiy'" <dedekind1@gmail.com>
Cc: "'Rafael J. Wysocki'" <rafael@kernel.org>,
"'Len Brown'" <lenb@kernel.org>,
"'Linux PM Mailing List'" <linux-pm@vger.kernel.org>
Subject: RE: [PATCH] tools/power/turbostat: fix compatibility with older kernels
Date: Wed, 27 Jan 2021 12:15:10 -0800 [thread overview]
Message-ID: <002201d6f4e9$1e9f6c10$5bde4430$@net> (raw)
In-Reply-To: <20210127185957.GD8115@zn.tnic>
On 2021.01.27 Borislav Petkov wrote:
> On Wed, Jan 27, 2021 at 03:24:44PM +0200, Artem Bityutskiy wrote:
> > From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> >
> > Commit
> >
> > 6d6501d912a9 tools/power/turbostat: Read energy_perf_bias from sysfs
> >
> > added a useful EPB print by reading EPB from sysfs's 'energy_perf_bias' file.
> > However, older kernels, which do not necessarily have that sysfs file (e.g.,
> > Centos 7's stock kernel does not have it). As a result, turbostat fails with
> > older kernels.
> >
> > This patch fixes the problem by ignoring the sysfs file read errors.
> >
> > Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
> > ---
> > tools/power/x86/turbostat/turbostat.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
> > index 389ea5209a83..12e014f2c24b 100644
> > --- a/tools/power/x86/turbostat/turbostat.c
> > +++ b/tools/power/x86/turbostat/turbostat.c
> > @@ -1839,7 +1839,9 @@ int get_epb(int cpu)
> >
> > sprintf(path, "/sys/devices/system/cpu/cpu%d/power/energy_perf_bias", cpu);
> >
> > - fp = fopen_or_die(path, "r");
> > + fp = fopen(path, "r");
> > + if (!fp)
> > + return -1;
> >
> > ret = fscanf(fp, "%d", &epb);
> > if (ret != 1)
>
> So I was under the impression that things in tools/ are tied to the
> kernel version they're shipped with. Which means, you should probably
> get the one from the centos kernel.
>
> However, if this is supposed to work on older kernels too, then
It is supposed to work with old kernels. Here is a quote from Len from [1] (2019.09.05) :
> The latest turbostat and x86_energy_perf_policy utilities
> in the upstream kernel tree should always be backward
> compatible with all old kernels. If that is EVER not the
> case, I want to know about it.
>
> Yes, I know that some distros ship old versions of these
> utilities built out of their matching kernel tree snapshots.
> Yes, applying upstream fixes to .stable for such distros is a good thing.
>
> However, the better solution for these particular utilities, is that
> they simply always use upstream utilities -- even with old kernels.
>
> When somebody reports a problem and I need them to run these tools,
> 100% of the time, I start by sending them the latest upstream version
> to replace the old version shipped by the distro.
Which is also what I do. I was also trying, so far without success, to
get a distro to relax its stringent, unnecessary, turbostat dependency
checking [2].
>
> 6d6501d912a9 ("tools/power/turbostat: Read energy_perf_bias from sysfs")
>
> would need to be extended to first test the sysfs file's existence and
> if not there, fall back to the MSR reading...
Yes agree, the information is still required.
[1] https://marc.info/?l=linux-pm&m=156770359620861&w=2
[2] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1844201
next prev parent reply other threads:[~2021-01-27 20:15 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-27 13:24 [PATCH] tools/power/turbostat: fix compatibility with older kernels Artem Bityutskiy
2021-01-27 18:59 ` Borislav Petkov
2021-01-27 20:15 ` Doug Smythies [this message]
2021-01-27 20:33 ` Borislav Petkov
2021-01-28 17:10 ` Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='002201d6f4e9$1e9f6c10$5bde4430$@net' \
--to=dsmythies@telus.net \
--cc=bp@suse.de \
--cc=dedekind1@gmail.com \
--cc=lenb@kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).