From: Guenter Roeck <linux@roeck-us.net>
To: Peter Zijlstra <peterz@infradead.org>
Cc: "Borislav Petkov" <bp@alien8.de>,
"Ingo Molnar" <mingo@kernel.org>, "Huang Rui" <ray.huang@amd.com>,
"Borislav Petkov" <bp@suse.de>, "Jean Delvare" <jdelvare@suse.de>,
"Andy Lutomirski" <luto@amacapital.net>,
"Andreas Herrmann" <herrmann.der.user@gmail.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"Len Brown" <lenb@kernel.org>,
"John Stultz" <john.stultz@linaro.org>,
"Frédéric Weisbecker" <fweisbec@gmail.com>,
lm-sensors@lm-sensors.org, linux-kernel@vger.kernel.org,
x86@kernel.org,
"Andreas Herrmann" <herrmann.der.user@googlemail.com>,
"Aravind Gopalakrishnan" <Aravind.Gopalakrishnan@amd.com>,
"Fengguang Wu" <fengguang.wu@intel.com>,
"Aaron Lu" <aaron.lu@intel.com>, "Tony Li" <tony.li@amd.com>
Subject: Re: [PATCH 09/15] x86, amd: add accessor for number of cores per compute unit
Date: Mon, 31 Aug 2015 14:24:08 -0700 [thread overview]
Message-ID: <55E4C5F8.6050303@roeck-us.net> (raw)
In-Reply-To: <20150831204426.GI16853@twins.programming.kicks-ass.net>
On 08/31/2015 01:44 PM, Peter Zijlstra wrote:
> On Mon, Aug 31, 2015 at 09:19:20AM -0700, Guenter Roeck wrote:
>> On 08/31/2015 09:06 AM, Borislav Petkov wrote:
>
>>> That's a good point - I missed that during previous review. Rui, please
>>> put the rdmsrl_safe_on_cpu() accesses in a separate function which you
>>> run on a particular CPU, for your next version.
>>>
>> ... and maybe work with Peter to address the other hotplug related issues.
>>
>> It might also be worthwhile thinking about per-CU attributes, if that
>> provides any value (Peter's comments suggested that this might be the case).
>
> Yeah, so it would allow measuring the power of a subset of compute
> units. Typically only useful if you've partitioned your workload. But
> since the hardware trivially supports it, its a waste to not expose it.
>
> (Note that its not per-cpu, its per compute unit. What we do with perf
> is export a cpumask)
>
> My biggest problem is that all this is user readable and unthrottled. It
> basically allows DoS (perf does not typically allow user access to CPU
> wide resources).
>
> Imagine joe user doing:
>
> for ((i=0; i<1000; i++)); do
> (while :; do cat /sys/foo/file > /dev/null ; done) &
> done
>
> Even when contained to a subset of CPUs, that will cause an IPI storm on
> all (/2) CPUs, even if you've tried really hard to keep users away from
> some of them (see the above partitioning) because you're running some
> important RT workload or whatnot.
>
That is a matter of driver implementation. Very commonly hwmon drivers
implement value caching, where data from the device is only read at
minimum intervals, and the cached values are reported if the information
is polled too rapidly. For the most part, that is used with i2c temperature
sensors, which tend to update their readings only a few times per second
anyway, but the same mechanism can (and possibly should) be used in
situations like this.
At some point I would like to move the caching mechanism into the hwmon core,
but that is going to take a while.
>
> As to hotplug, if you unplug any of the even numbered CPUs the whole
> thing bails and returns 0, even if the corresponding odd CPU of the
> compute unit it still online and perfectly capable of accessing the MSR.
>
Ah yes, I recall there was a similar problem in the coretemp driver
some time ago.
Guenter
next prev parent reply other threads:[~2015-08-31 21:24 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-27 8:07 [PATCH 00/15] hwmon, fam15h_power: introduce an accumulated power reporting algorithm Huang Rui
2015-08-27 8:07 ` [PATCH 01/15] hwmon, fam15h_power: add support for AMD Carrizo Huang Rui
2015-08-27 14:35 ` Guenter Roeck
2015-08-27 8:07 ` [PATCH 02/15] hwmon, fam15h_power: rename fam15h_power_is_internal_node0 function Huang Rui
2015-08-27 14:35 ` Guenter Roeck
2015-08-27 8:07 ` [PATCH 03/15] hwmon, fam15h_power: refactor attributes for dynamically added Huang Rui
2015-08-27 14:46 ` Guenter Roeck
2015-08-28 10:05 ` Huang Rui
2015-08-27 8:07 ` [PATCH 04/15] hwmon, fam15h_power: update running_avg_capture bit field to 28 Huang Rui
2015-08-27 14:48 ` Guenter Roeck
2015-08-27 8:07 ` [PATCH 05/15] hwmon, fam15h_power: enable power1_input on AMD Carrizo Huang Rui
2015-08-27 14:50 ` Guenter Roeck
2015-08-27 8:07 ` [PATCH 06/15] hwmon, fam15h_power: add documentation for new processors support Huang Rui
2015-08-27 14:51 ` Guenter Roeck
2015-08-27 8:07 ` [PATCH 07/15] hwmon, fam15h_power: add ratio of Tsample to the PTSC period Huang Rui
2015-08-27 14:54 ` Guenter Roeck
2015-08-27 8:07 ` [PATCH 08/15] hwmon, fam15h_power: add max compute unit accumulated power Huang Rui
2015-08-27 14:56 ` Guenter Roeck
2015-08-27 8:07 ` [PATCH 09/15] x86, amd: add accessor for number of cores per compute unit Huang Rui
2015-08-27 17:27 ` Guenter Roeck
2015-08-28 10:28 ` Huang Rui
2015-08-28 6:48 ` Borislav Petkov
2015-08-28 8:00 ` Guenter Roeck
2015-08-28 8:04 ` Ingo Molnar
2015-08-28 8:56 ` Borislav Petkov
2015-08-28 10:18 ` Huang Rui
2015-08-29 9:19 ` Ingo Molnar
2015-08-30 15:53 ` Borislav Petkov
2015-08-31 8:38 ` Peter Zijlstra
2015-08-31 13:26 ` Guenter Roeck
2015-08-31 13:38 ` Peter Zijlstra
2015-08-31 13:53 ` Guenter Roeck
2015-08-31 14:57 ` Peter Zijlstra
2015-08-31 15:11 ` Guenter Roeck
2015-08-31 16:06 ` Borislav Petkov
2015-08-31 16:19 ` Guenter Roeck
2015-08-31 20:44 ` Peter Zijlstra
2015-08-31 21:24 ` Guenter Roeck [this message]
2015-09-01 15:56 ` Borislav Petkov
2015-09-01 16:06 ` Guenter Roeck
2015-08-27 8:07 ` [PATCH 10/15] hwmon, fam15h_power: add compute unit accumulated power Huang Rui
2015-08-28 8:03 ` Ingo Molnar
2015-08-28 10:42 ` Huang Rui
2015-08-27 8:07 ` [PATCH 11/15] hwmon, fam15h_power: add ptsc counter value for " Huang Rui
2015-08-27 8:07 ` [PATCH 12/15] hwmon, fam15h_power: introduce a cpu accumulated power reporting algorithm Huang Rui
2015-08-27 17:30 ` Guenter Roeck
2015-08-28 10:45 ` Huang Rui
2015-08-28 14:05 ` Guenter Roeck
2015-08-31 4:16 ` Huang Rui
2015-08-31 4:30 ` Guenter Roeck
2015-08-31 13:11 ` Huang Rui
2015-08-31 13:25 ` Peter Zijlstra
2015-08-31 14:59 ` Peter Zijlstra
2015-08-27 8:07 ` [PATCH 13/15] hwmon, fam15h_power: add documentation for previous TDP reporting Huang Rui
2015-08-27 8:07 ` [PATCH 14/15] hwmon, fam15h_power: add documentation for accumulated power algorithm Huang Rui
2015-08-27 8:07 ` [PATCH 15/15] MAINTAINERS: change the maintainer of fam15h_power driver Huang Rui
2015-08-29 16:33 ` [15/15] " Guenter Roeck
2015-08-31 1:11 ` Huang Rui
2015-08-31 15:19 ` Andreas Herrmann
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=55E4C5F8.6050303@roeck-us.net \
--to=linux@roeck-us.net \
--cc=Aravind.Gopalakrishnan@amd.com \
--cc=aaron.lu@intel.com \
--cc=bp@alien8.de \
--cc=bp@suse.de \
--cc=fengguang.wu@intel.com \
--cc=fweisbec@gmail.com \
--cc=herrmann.der.user@gmail.com \
--cc=herrmann.der.user@googlemail.com \
--cc=jdelvare@suse.de \
--cc=john.stultz@linaro.org \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=ray.huang@amd.com \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
--cc=tony.li@amd.com \
--cc=x86@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