linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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



  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).