From: Sudeep Holla <sudeep.holla@arm.com>
To: "Prakash, Prashanth" <pprakash@codeaurora.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
rjw@rjwysocki.net, lenb@kernel.org,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
linux-acpi@vger.kernel.org
Subject: Re: [PATCH v2] ACPI / Processor: add sysfs support for low power idle
Date: Tue, 1 Aug 2017 18:34:58 +0100 [thread overview]
Message-ID: <e0a869c1-704f-3fdd-0bcd-be954c2795b9@arm.com> (raw)
In-Reply-To: <463b4b82-4cce-9c8e-6658-6e2213f35d64@codeaurora.org>
On 01/08/17 18:15, Prakash, Prashanth wrote:
>
> On 8/1/2017 3:18 AM, Sudeep Holla wrote:
>>
>> On 31/07/17 19:18, Prakash, Prashanth wrote:
>>> Hi Sudeep,
>>>
>>> On 7/31/2017 10:25 AM, Sudeep Holla wrote:
>>>> Sorry for the delay, I initial thought having this ABI under testing is
>>>> fine as I really don't want any *real* user space programs to depend on
>>>> this for various reasons stated in earlier threads, e.g. h/w auto
>>>> promotable states, accuracy of the stats, ..etc
>>> <sorry for repeating this part>
>>> These fields are optional, so if there is no reliable way to keep track of stats, platform
>>> can choose not to expose it. If a platform is exposing inaccurate stats via this ACPI
>>> interface, it is breaking the spec.
>> Fair enough.
>>
>>>> But from Documentation/ABI/README, I see
>>>>
>>>> testing/
>>>> This directory documents interfaces that are felt to be stable,
>>>> as the main development of this interface has been completed.
>>>> The interface can be changed to add new features, but the
>>>> current interface will not break by doing this, unless grave
>>>> errors or security problems are found in them. User space
>>>> programs can start to rely on these interfaces,...
>>>>
>>>> which makes me worry. Since the use for this is purely for debug or
>>>> optimization purposes, I still prefer simple single file debugfs entry.
>>>> I still can't digest the fact that reading single file is time consuming
>>>> as we are not using this interface at runtime IIUC. i.e. statistic are
>>>> collected and analyzed offline.>> These fields has the same utility/use-cases as the usage & time
>> fields in cpuidle sysfs,
>>> but provides more granularity - idle stats for different levels hierarchy and accurate
>>> idle stats for states that require platform co-ordination.
>>>
>> I completely agree with that and that's not the argument.
>>
>>> The argument for having a single sysfs file per node was that reading individual
>>> files might get expensive to get a snapshot(not the other way around). But, that
>>> argument was weak as we typically read these only in debug settings and not that
>>> often during runtime. So, the summary_stats file was removed and went with one
>>> value per file.
>>>
>> You are contradicting yourself above :). You say the argument you made
>> is weak :) but still went ahead and dropped single debugfs file vs the
>> standard per entry sysfs file which is an ABI.
>
> To clarify, the first RFC patch had a sysfs entry called summary_stats which
> provided all the stats for a specific node in hierarchy via a single file. The
> argument for having such a single file was weak. :) There was never a
> debugfs file to be dropped in first place.
>
You are right, it was me who keep suggesting debugfs file as a
replacement for your summary_stats sysfs file. Sorry for the confusion
but I still insist debugfs :)
>> Since we already have CPUIdle sysfs which is an ABI, I am really not
>> sure if we need another set of ABI files which are used only for debug
>> and optimization purposes. Why is single debugfs file not sufficient ?
>>
>
> The consumers for this data are not all kernel developers. We will have other
> engineers looking at this data for power/performance optimizations and
> would be nice to give them a consistent interface.
Yes that's the case with any sysfs file users and that's why we can't
break ABI once we expose.
>> As hardware evolves, most of the platforms can't provide these
>> information accurately. So if we are trying to address a problem which
>> is short-lived and on very small class of platforms, I would avoid
>> creating a new ABI for it. That's my main argument against this
>> interface instead go with debugfs entry. That's my opinion though.
> I would like to think of it in terms of ACPI spec rather than a subset of platforms.
> If it is part of spec there should be no reason to speculate on which platform
> may or may not implement it. We implement to the spec and ideally platform
> designers should ideally do the same. >
> Since sysfs vs debugfs is quite debatable :) , I will wait for Rafael's inputs.
Sure.
--
Regards,
Sudeep
next prev parent reply other threads:[~2017-08-01 17:34 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-13 17:48 [PATCH v2] ACPI / Processor: add sysfs support for low power idle Prashanth Prakash
2017-07-31 16:25 ` Sudeep Holla
2017-07-31 18:18 ` Prakash, Prashanth
2017-08-01 9:18 ` Sudeep Holla
2017-08-01 17:15 ` Prakash, Prashanth
2017-08-01 17:34 ` Sudeep Holla [this message]
2017-08-23 16:04 ` Prakash, Prashanth
2017-08-28 23:56 ` Rafael J. Wysocki
2017-08-31 17:30 ` Prakash, Prashanth
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=e0a869c1-704f-3fdd-0bcd-be954c2795b9@arm.com \
--to=sudeep.holla@arm.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=pprakash@codeaurora.org \
--cc=rjw@rjwysocki.net \
/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).