lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <535122EE.7030803@linaro.org>
Date:	Fri, 18 Apr 2014 15:04:46 +0200
From:	Daniel Lezcano <daniel.lezcano@...aro.org>
To:	Peter Zijlstra <peterz@...radead.org>
CC:	Nicolas Pitre <nicolas.pitre@...aro.org>,
	linux-kernel@...r.kernel.org, mingo@...e.hu, rjw@...ysocki.net,
	linux-pm@...r.kernel.org, alex.shi@...aro.org,
	vincent.guittot@...aro.org, morten.rasmussen@....com
Subject: Re: [RFC PATCHC 3/3] sched/fair: use the idle state info to choose
 the idlest cpu

On 04/18/2014 02:53 PM, Peter Zijlstra wrote:
> On Fri, Apr 18, 2014 at 02:13:48PM +0200, Daniel Lezcano wrote:
>> On 04/18/2014 11:38 AM, Peter Zijlstra wrote:
>>> On Thu, Apr 17, 2014 at 12:21:28PM -0400, Nicolas Pitre wrote:
>>>> CPU topology is needed to properly describe scheduling domains.  Whether
>>>> we balance across domains or pack using as few domains as possible is a
>>>> separate issue.  In other words, you shouldn't have to care in this
>>>> patch series.
>>>>
>>>> And IMHO coupled C-state is a low-level mechanism that should remain
>>>> private to cpuidle which the scheduler shouldn't be aware of.
>>>
>>> I'm confused.. why wouldn't you want to expose these?
>>
>> The couple C-state is used as a mechanism for cpuidle to sync the cpus when
>> entering a specific c-state. This mechanism is usually used to handle the
>> cluster power down. It is only used for a two drivers (soon three) but it is
>> not the only mechanism used for syncing the cpus. There are also the MCPM
>> (tc2), the hand made sync when the hardware allows it (ux500), and an
>> abstraction from the firmware (mwait), transparent to the kernel.
>>
>> Taking into account the couple c-state only does not make sense because of
>> the other mechanisms above. This is why it should stay inside the cpuidle
>> framework.
>>
>> The extension of the cpu topology will provide a generic way to describe and
>> abstracting such dependencies.
>>
>> Does it answer your question ?
>
> I suppose so; its still a bit like we won't but we will :-)
>
> So we _will_ actually expose coupled C states through the topology bits,
> that's good.

Ah, ok. I think I understood where the confusion is coming from.

A couple of definitions for the same thing :)

1. Coupled C-states : *mechanism* implemented in the cpuidle framework: 
drivers/cpuidle/coupled.c

2. Coupled C-states : *constraint* to reach a cluster power down state, 
will be described through the topology and could be implemented by 
different mechanism (MCPM, handmade sync, cpuidle-coupled-c-state, 
firmware).

We want to expose 2. not 1. to the scheduler.



-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ