Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1216457

Re: [PATCH 09/15] x86, amd: add accessor for number of cores per compute unit

From Guenter Roeck <linux@roeck-us.net>
Newsgroups linux.kernel
Subject Re: [PATCH 09/15] x86, amd: add accessor for number of cores per compute unit
Date 2015-08-31 23:30 +0200
Message-ID <q3EOm-2Vg-19@gated-at.bofh.it> (permalink)
References (5 earlier) <q3dbs-53n-9@gated-at.bofh.it> <q3sNb-2pJ-5@gated-at.bofh.it> <q3zOG-4hj-21@gated-at.bofh.it> <q3zYn-4sz-31@gated-at.bofh.it> <q3EbE-1Wt-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Borislav Petkov <bp@alien8.de> - 2015-08-28 08:50 +0200
  Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Guenter Roeck <linux@roeck-us.net> - 2015-08-28 10:10 +0200
  Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Ingo Molnar <mingo@kernel.org> - 2015-08-28 10:10 +0200
    Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Borislav Petkov <bp@alien8.de> - 2015-08-28 11:00 +0200
    Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Ingo Molnar <mingo@kernel.org> - 2015-08-29 11:20 +0200
      Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Borislav Petkov <bp@alien8.de> - 2015-08-30 18:00 +0200
        Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Peter Zijlstra <peterz@infradead.org> - 2015-08-31 10:40 +0200
          Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Guenter Roeck <linux@roeck-us.net> - 2015-08-31 15:30 +0200
            Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Peter Zijlstra <peterz@infradead.org> - 2015-08-31 15:40 +0200
              Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Guenter Roeck <linux@roeck-us.net> - 2015-08-31 16:00 +0200
                Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Peter Zijlstra <peterz@infradead.org> - 2015-08-31 17:00 +0200
                Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Guenter Roeck <linux@roeck-us.net> - 2015-08-31 17:20 +0200
          Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Borislav Petkov <bp@alien8.de> - 2015-08-31 18:10 +0200
            Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Guenter Roeck <linux@roeck-us.net> - 2015-08-31 18:20 +0200
              Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Peter Zijlstra <peterz@infradead.org> - 2015-08-31 22:50 +0200
                Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Guenter Roeck <linux@roeck-us.net> - 2015-08-31 23:30 +0200
                Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Borislav Petkov <bp@alien8.de> - 2015-09-01 18:00 +0200
                Re: [PATCH 09/15] x86, amd: add accessor for number of cores per  compute unit Guenter Roeck <linux@roeck-us.net> - 2015-09-01 18:10 +0200

csiph-web