All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
To: Chanwoo Choi <cw00.choi@samsung.com>,
	Kamil Konieczny <k.konieczny@samsung.com>
Cc: Kamil Konieczny <k.konieczny@partner.samsung.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	MyungJoo Ham <myungjoo.ham@samsung.com>
Subject: Re: [PATCH 3/7] devfreq: add clearing transitions stats in sysfs
Date: Thu, 14 Nov 2019 19:23:03 +0100	[thread overview]
Message-ID: <95813188-be4f-d3b3-459a-597be775f035@samsung.com> (raw)
In-Reply-To: <3a5096c3-03d2-fd5d-852a-6a19c5b262a5@samsung.com>


Hi Chanwoo,

On 11/13/19 10:41 AM, Chanwoo Choi wrote:
> Hi,
> 
> If user only want to use the transitions stats information
> from now, the user just read the sysfs twice and then
> can calculate them between the read data. It is enough

IOW you are suggesting that user should invest his valuable time
into actually doing such calculations (or implementing some extra
script to do the data parsing and calculations automatically)
instead of doing simple write to special sysfs file?

Also similar patch for cpufreq has been applied not so long ago:

commit ee7930ee27fe5240398cc302fa8eb4454725f188
Author: Markus Mayer <mmayer@broadcom.com>
Date:   Mon Nov 7 10:02:23 2016 -0800

    cpufreq: stats: New sysfs attribute for clearing statistics
    
    Allow CPUfreq statistics to be cleared by writing anything to
    /sys/.../cpufreq/stats/reset.
    
    Signed-off-by: Markus Mayer <mmayer@broadcom.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
...

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> to get the existing sysfs information. 
> 
> And I don't know the any other reason. So, I can't agree this patch.
> So, Not ack.
> 
> Regards,
> Chanwoo Choi
> 
> 
> On 11/13/19 6:13 PM, Kamil Konieczny wrote:
>> Add new function trans_reset in sysfs for clearing transition
>> table and time in states devfreq statistics.> 
>> Signed-off-by: Kamil Konieczny <k.konieczny@samsung.com>
>> ---
>>  drivers/devfreq/devfreq.c | 26 ++++++++++++++++++++++++++
>>  1 file changed, 26 insertions(+)
>>
>> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
>> index ac04b5baef70..0a88055d1362 100644
>> --- a/drivers/devfreq/devfreq.c
>> +++ b/drivers/devfreq/devfreq.c
>> @@ -1445,6 +1445,31 @@ static ssize_t trans_stat_show(struct device *dev,
>>  }
>>  static DEVICE_ATTR_RO(trans_stat);
>>  
>> +static void defvreq_stats_clear_table(struct devfreq *devfreq)
>> +{
>> +	unsigned int count = devfreq->profile->max_state;
>> +
>> +	spin_lock(&devfreq->stats_lock);
>> +	memset(devfreq->time_in_state, 0, count * sizeof(u64));
>> +	memset(devfreq->trans_table, 0, count * count * sizeof(int));
>> +	devfreq->last_stat_updated = get_jiffies_64();
>> +	devfreq->total_trans = 0;
>> +	spin_unlock(&devfreq->stats_lock);
>> +}
>> +
>> +static ssize_t trans_reset_store(struct device *dev,
>> +				 struct device_attribute *attr,
>> +				 const char *buf,
>> +				 size_t count)
>> +{
>> +	struct devfreq *devfreq = to_devfreq(dev);
>> +
>> +	defvreq_stats_clear_table(devfreq);
>> +
>> +	return count;
>> +}
>> +static DEVICE_ATTR_WO(trans_reset);
>> +
>>  static struct attribute *devfreq_attrs[] = {
>>  	&dev_attr_governor.attr,
>>  	&dev_attr_available_governors.attr,
>> @@ -1455,6 +1480,7 @@ static struct attribute *devfreq_attrs[] = {
>>  	&dev_attr_min_freq.attr,
>>  	&dev_attr_max_freq.attr,
>>  	&dev_attr_trans_stat.attr,
>> +	&dev_attr_trans_reset.attr,
>>  	NULL,
>>  };
>>  ATTRIBUTE_GROUPS(devfreq);


  reply	other threads:[~2019-11-14 18:23 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20191113091350eucas1p2545166dfa1dc3b85aee375e353d7a604@eucas1p2.samsung.com>
2019-11-13  9:13 ` [PATCH 0/7] devfreq: improve devfreq statistics counting Kamil Konieczny
2019-11-13  9:13   ` Kamil Konieczny
     [not found]   ` <CGME20191113091351eucas1p24afdb94f868b6a7a52b43e81462bb674@eucas1p2.samsung.com>
2019-11-13  9:13     ` [PATCH 1/7] devfreq: change time stats to 64-bit Kamil Konieczny
2019-11-13  9:44       ` Chanwoo Choi
     [not found]   ` <CGME20191113091351eucas1p2f83c221ce94fdea695775e00d5215458@eucas1p2.samsung.com>
2019-11-13  9:13     ` [PATCH 2/7] devfreq: protect devfreq stats data with spinlock Kamil Konieczny
2019-11-13  9:47       ` Chanwoo Choi
     [not found]   ` <CGME20191113091352eucas1p2c30c8a73a8362aff872e3cd9312eb24b@eucas1p2.samsung.com>
2019-11-13  9:13     ` [PATCH 3/7] devfreq: add clearing transitions stats in sysfs Kamil Konieczny
2019-11-13  9:41       ` Chanwoo Choi
2019-11-14 18:23         ` Bartlomiej Zolnierkiewicz [this message]
2019-11-15  2:47           ` Chanwoo Choi
2019-11-15 14:35             ` Kamil Konieczny
     [not found]   ` <CGME20191113091352eucas1p1825d815661c1a8377449f511c65ea230@eucas1p1.samsung.com>
2019-11-13  9:13     ` [PATCH 4/7] devfreq: change var name used in time statistics Kamil Konieczny
2019-11-13  9:35       ` Chanwoo Choi
     [not found]   ` <CGME20191113091353eucas1p283be3173c7a9ea726b4767f9cb113f0f@eucas1p2.samsung.com>
2019-11-13  9:13     ` [PATCH 5/7] devfreq: move transition statistics to devfreq profile structure Kamil Konieczny
2019-11-14  2:02       ` Chanwoo Choi
2019-11-14 18:10         ` Bartlomiej Zolnierkiewicz
2019-11-15  5:14           ` Chanwoo Choi
2019-11-15 14:39         ` Kamil Konieczny
     [not found]   ` <CGME20191113091353eucas1p2d9f82697e6ec44c0e38225988227c73c@eucas1p2.samsung.com>
2019-11-13  9:13     ` [PATCH 6/7] devfreq: move transition statistics allocations to set_freq_stats() Kamil Konieczny
     [not found]   ` <CGME20191113091354eucas1p265de4985d167814f5080fbdf21b75a0a@eucas1p2.samsung.com>
2019-11-13  9:13     ` [PATCH 7/7] devfreq: move statistics to separate struct Kamil Konieczny
2019-11-13  9:13       ` Kamil Konieczny
2019-11-14  1:52       ` Chanwoo Choi
2019-11-14  1:52         ` Chanwoo Choi
2019-11-14 18:01         ` Bartlomiej Zolnierkiewicz
2019-11-14 18:01           ` Bartlomiej Zolnierkiewicz
2019-11-15  3:25           ` Chanwoo Choi
2019-11-15  3:25             ` Chanwoo Choi
2019-11-15  6:21             ` Chanwoo Choi
2019-11-15  6:21               ` Chanwoo Choi
2019-11-15 12:40               ` Bartlomiej Zolnierkiewicz
2019-11-15 12:40                 ` Bartlomiej Zolnierkiewicz
2019-12-16 13:01                 ` Lukasz Luba
2019-12-16 13:01                   ` Lukasz Luba
2019-12-17  0:07                   ` Chanwoo Choi
2019-12-17  0:07                     ` Chanwoo Choi
2019-12-17  9:10                     ` Lukasz Luba
2019-12-17  9:10                       ` Lukasz Luba
2020-01-15 15:56                   ` Bartlomiej Zolnierkiewicz
2020-01-15 15:56                     ` Bartlomiej Zolnierkiewicz

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=95813188-be4f-d3b3-459a-597be775f035@samsung.com \
    --to=b.zolnierkie@samsung.com \
    --cc=cw00.choi@samsung.com \
    --cc=k.konieczny@partner.samsung.com \
    --cc=k.konieczny@samsung.com \
    --cc=krzk@kernel.org \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=myungjoo.ham@samsung.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.