All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gautham R Shenoy <ego@linux.vnet.ibm.com>
To: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Cc: Nathan Lynch <nathanl@linux.ibm.com>,
	"Gautham R. Shenoy" <ego@linux.vnet.ibm.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	linux-kernel@vger.kernel.org,
	"Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>,
	Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 2/3] powerpc/sysfs: Show idle_purr and idle_spurr for every CPU
Date: Wed, 4 Dec 2019 18:07:28 +0530	[thread overview]
Message-ID: <20191204123728.GD5197@in.ibm.com> (raw)
In-Reply-To: <9b8f82b0-86dd-d524-aae6-34f8c33bd2c2@linux.vnet.ibm.com>

Hi Kamalesh,

On Tue, Dec 03, 2019 at 07:07:53PM +0530, Kamalesh Babulal wrote:
> On 11/27/19 5:31 PM, Gautham R. Shenoy wrote:
> > From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
> > 
> > On Pseries LPARs, to calculate utilization, we need to know the
> > [S]PURR ticks when the CPUs were busy or idle.
> > 
> > The total PURR and SPURR ticks are already exposed via the per-cpu
> > sysfs files /sys/devices/system/cpu/cpuX/purr and
> > /sys/devices/system/cpu/cpuX/spurr.
> > 
> > This patch adds support for exposing the idle PURR and SPURR ticks via
> > /sys/devices/system/cpu/cpuX/idle_purr and
> > /sys/devices/system/cpu/cpuX/idle_spurr.
> 
> The patch looks good to me, with a minor file mode nit pick mentioned below.
> 
> > 
> > Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
> > ---
> >  arch/powerpc/kernel/sysfs.c | 32 ++++++++++++++++++++++++++++++++
> >  1 file changed, 32 insertions(+)
> > 
> > diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c
> > index 80a676d..42ade55 100644
> > --- a/arch/powerpc/kernel/sysfs.c
> > +++ b/arch/powerpc/kernel/sysfs.c
> > @@ -1044,6 +1044,36 @@ static ssize_t show_physical_id(struct device *dev,
> >  }
> >  static DEVICE_ATTR(physical_id, 0444, show_physical_id, NULL);
> > 
> > +static ssize_t idle_purr_show(struct device *dev,
> > +			      struct device_attribute *attr, char *buf)
> > +{
> > +	struct cpu *cpu = container_of(dev, struct cpu, dev);
> > +	unsigned int cpuid = cpu->dev.id;
> > +	struct lppaca *cpu_lppaca_ptr = paca_ptrs[cpuid]->lppaca_ptr;
> > +	u64 idle_purr_cycles = be64_to_cpu(cpu_lppaca_ptr->wait_state_cycles);
> > +
> > +	return sprintf(buf, "%llx\n", idle_purr_cycles);
> > +}
> > +static DEVICE_ATTR_RO(idle_purr);
> 
> per cpu purr/spurr sysfs file is created with file mode 0400. Using
> DEVICE_ATTR_RO for their idle_* variants will create sysfs files with 0444 as
> their file mode, you should probably use DEVICE_ATTR() with file mode 0400 to
> have consist permission for both variants.

Thanks for catching this. I missed checking the permissions of purr
and spurr. Will send another version.


> 
> -- 
> Kamalesh

WARNING: multiple messages have this Message-ID (diff)
From: Gautham R Shenoy <ego@linux.vnet.ibm.com>
To: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Cc: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
	Nathan Lynch <nathanl@linux.ibm.com>,
	"Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>,
	Tyrel Datwyler <tyreld@linux.ibm.com>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] powerpc/sysfs: Show idle_purr and idle_spurr for every CPU
Date: Wed, 4 Dec 2019 18:07:28 +0530	[thread overview]
Message-ID: <20191204123728.GD5197@in.ibm.com> (raw)
In-Reply-To: <9b8f82b0-86dd-d524-aae6-34f8c33bd2c2@linux.vnet.ibm.com>

Hi Kamalesh,

On Tue, Dec 03, 2019 at 07:07:53PM +0530, Kamalesh Babulal wrote:
> On 11/27/19 5:31 PM, Gautham R. Shenoy wrote:
> > From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
> > 
> > On Pseries LPARs, to calculate utilization, we need to know the
> > [S]PURR ticks when the CPUs were busy or idle.
> > 
> > The total PURR and SPURR ticks are already exposed via the per-cpu
> > sysfs files /sys/devices/system/cpu/cpuX/purr and
> > /sys/devices/system/cpu/cpuX/spurr.
> > 
> > This patch adds support for exposing the idle PURR and SPURR ticks via
> > /sys/devices/system/cpu/cpuX/idle_purr and
> > /sys/devices/system/cpu/cpuX/idle_spurr.
> 
> The patch looks good to me, with a minor file mode nit pick mentioned below.
> 
> > 
> > Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
> > ---
> >  arch/powerpc/kernel/sysfs.c | 32 ++++++++++++++++++++++++++++++++
> >  1 file changed, 32 insertions(+)
> > 
> > diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c
> > index 80a676d..42ade55 100644
> > --- a/arch/powerpc/kernel/sysfs.c
> > +++ b/arch/powerpc/kernel/sysfs.c
> > @@ -1044,6 +1044,36 @@ static ssize_t show_physical_id(struct device *dev,
> >  }
> >  static DEVICE_ATTR(physical_id, 0444, show_physical_id, NULL);
> > 
> > +static ssize_t idle_purr_show(struct device *dev,
> > +			      struct device_attribute *attr, char *buf)
> > +{
> > +	struct cpu *cpu = container_of(dev, struct cpu, dev);
> > +	unsigned int cpuid = cpu->dev.id;
> > +	struct lppaca *cpu_lppaca_ptr = paca_ptrs[cpuid]->lppaca_ptr;
> > +	u64 idle_purr_cycles = be64_to_cpu(cpu_lppaca_ptr->wait_state_cycles);
> > +
> > +	return sprintf(buf, "%llx\n", idle_purr_cycles);
> > +}
> > +static DEVICE_ATTR_RO(idle_purr);
> 
> per cpu purr/spurr sysfs file is created with file mode 0400. Using
> DEVICE_ATTR_RO for their idle_* variants will create sysfs files with 0444 as
> their file mode, you should probably use DEVICE_ATTR() with file mode 0400 to
> have consist permission for both variants.

Thanks for catching this. I missed checking the permissions of purr
and spurr. Will send another version.


> 
> -- 
> Kamalesh

  reply	other threads:[~2019-12-04 12:49 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-27 12:01 [PATCH 0/3] pseries: Track and expose idle PURR and SPURR ticks Gautham R. Shenoy
2019-11-27 12:01 ` Gautham R. Shenoy
2019-11-27 12:01 ` [PATCH 1/3] powerpc/pseries: Account for SPURR ticks on idle CPUs Gautham R. Shenoy
2019-11-27 12:01   ` Gautham R. Shenoy
2019-12-03 13:39   ` Kamalesh Babulal
2019-12-04 22:24   ` Nathan Lynch
2019-12-04 22:24     ` Nathan Lynch
2020-02-03  4:45     ` Gautham R Shenoy
2020-02-03  4:45       ` Gautham R Shenoy
2019-11-27 12:01 ` [PATCH 2/3] powerpc/sysfs: Show idle_purr and idle_spurr for every CPU Gautham R. Shenoy
2019-11-27 12:01   ` Gautham R. Shenoy
2019-12-03 13:37   ` Kamalesh Babulal
2019-12-04 12:37     ` Gautham R Shenoy [this message]
2019-12-04 12:37       ` Gautham R Shenoy
2019-12-03 21:02   ` kbuild test robot
2019-12-03 21:02     ` kbuild test robot
2019-12-03 21:02     ` kbuild test robot
2019-12-04 22:24   ` Nathan Lynch
2019-12-04 22:24     ` Nathan Lynch
2020-02-03  4:47     ` Gautham R Shenoy
2020-02-03  4:47       ` Gautham R Shenoy
2019-12-05 16:53   ` Naveen N. Rao
2019-12-05 16:53     ` Naveen N. Rao
2020-02-03  4:50     ` Gautham R Shenoy
2020-02-03  4:50       ` Gautham R Shenoy
2020-02-04  7:52       ` Naveen N. Rao
2020-02-04  7:52         ` Naveen N. Rao
2020-02-05  4:19         ` Gautham R Shenoy
2020-02-05  4:19           ` Gautham R Shenoy
2020-02-05  6:58           ` Naveen N. Rao
2020-02-05  6:58             ` Naveen N. Rao
2020-02-05  7:08   ` Christophe Leroy
2020-02-05  8:07     ` Naveen N. Rao
2020-02-05  8:07       ` Naveen N. Rao
2019-11-27 12:01 ` [PATCH 3/3] Documentation: Document sysfs interfaces purr, spurr, idle_purr, idle_spurr Gautham R. Shenoy
2019-11-27 12:01   ` Gautham R. Shenoy
2019-12-04 22:25   ` Nathan Lynch
2019-12-04 22:25     ` Nathan Lynch
2019-12-04 22:24 ` [PATCH 0/3] pseries: Track and expose idle PURR and SPURR ticks Nathan Lynch
2019-12-04 22:24   ` Nathan Lynch
2019-12-05 15:03   ` Kamalesh Babulal
2019-12-05 15:03     ` Kamalesh Babulal
2019-12-05 16:16     ` Nathan Lynch
2019-12-05 16:16       ` Nathan Lynch
2019-12-05 17:25       ` Naveen N. Rao
2019-12-05 17:25         ` Naveen N. Rao
2019-12-06  9:14         ` Naveen N. Rao
2019-12-06  9:14           ` Naveen N. Rao
2020-02-04  9:12           ` Kamalesh Babulal
2020-02-04  9:12             ` Kamalesh Babulal

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=20191204123728.GD5197@in.ibm.com \
    --to=ego@linux.vnet.ibm.com \
    --cc=kamalesh@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=nathanl@linux.ibm.com \
    --cc=naveen.n.rao@linux.vnet.ibm.com \
    --cc=svaidy@linux.vnet.ibm.com \
    --cc=tyreld@linux.ibm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.