• Home
  • Raw
  • Download

Lines Matching +full:vs +full:- +full:supply

21 For the processors supported by ``intel_pstate``, the P-state concept is broader
24 information about that). For this reason, the representation of P-states used
26 refer to `Intel® 64 and IA-32 Architectures Software Developer’s Manual
30 ``intel_pstate`` maps its internal representation of P-states to frequencies too
32 practical for ``intel_pstate`` to supply the ``CPUFreq`` core with a table of
36 Since the hardware P-state selection interface used by ``intel_pstate`` is
41 time the corresponding CPU is taken offline and need to be re-initialized when
45 only way to pass early-configuration-time parameters to it is via the kernel
56 or without hardware-managed P-states support and in the passive mode. Which of
61 -----------
68 provides its own scaling algorithms for P-state selection. Those algorithms
71 ``sysfs``). [Note that different P-state selection algorithms may be chosen for
77 For example, the ``powersave`` P-state selection algorithm provided by
81 There are two P-state selection algorithms provided by ``intel_pstate`` in the
83 depends on whether or not the hardware-managed P-states (HWP) feature has been
86 Which of the P-state selection algorithms is used by default depends on the
100 select P-states by itself, but still it can give hints to the processor's
101 internal P-state selection logic. What those hints are depends on which P-state
105 Even though the P-state selection is carried out by the processor automatically,
107 in this mode. However, they are not used for running a P-state selection
115 Energy-Performance Preference (EPP) knob (if supported) or its
116 Energy-Performance Bias (EPB) knob (otherwise), which means that the processor's
117 internal P-state selection logic is expected to focus entirely on performance.
120 (see `Energy vs Performance Hints`_ below).
122 Also, in this configuration the range of P-states available to the processor's
123 internal P-state selection logic is always restricted to the upper boundary
124 (that is, the maximum P-state that the driver is allowed to use).
130 Energy-Performance Preference (EPP) knob (if supported) or its
131 Energy-Performance Bias (EPB) knob (otherwise) to whatever value it was
134 internal P-state selection logic to be less performance-focused.
147 CPU scheduler in order to run a P-state selection algorithm, either
156 Without HWP, this P-state selection algorithm is always the same regardless of
159 It selects the maximum P-state it is allowed to use, subject to limits set via
163 This is the default P-state selection algorithm if the
170 Without HWP, this P-state selection algorithm is similar to the algorithm
173 registers of the CPU. It generally selects P-states proportional to the
179 is not touched if the new P-state turns out to be the same as the current
182 This is the default P-state selection algorithm if the
187 ------------
198 hardware in order to change the P-state of a CPU (in particular, the
203 in ``sysfs`` (and the P-state selection algorithms described above are not
208 the so-called "turbo" frequency ranges). In other words, in the passive mode
209 the entire range of available P-states is exposed by ``intel_pstate`` to the
218 Turbo P-states Support
221 In the majority of cases, the entire range of P-states available to
222 ``intel_pstate`` can be divided into two sub-ranges that correspond to
226 The P-states above the turbo threshold are referred to as "turbo P-states" and
227 the whole sub-range of P-states they belong to is referred to as the "turbo
229 multicore processor to opportunistically increase the P-state of one or more
233 Specifically, if software sets the P-state of a CPU core within the turbo range
235 performance scaling control for that core and put it into turbo P-states of its
238 processors will never use any P-states above the last one set by software for
240 processor generations will take it as a license to use any P-states from the
242 processors setting any P-state from the turbo range will enable the processor
243 to put the given core into all turbo P-states up to and including the maximum
246 One important property of turbo P-states is that they are not sustainable. More
250 be exceeded if a turbo P-state was used for too long.
252 In turn, the P-states below the turbo threshold generally are sustainable. In
255 situation (a higher P-state may still be used if it is set for another CPU in
258 Some processors allow multiple cores to be in turbo P-states at the same time,
259 but the maximum P-state that can be set for them generally depends on the number
260 of cores running concurrently. The maximum turbo P-state that can be set for 3
261 cores at the same time usually is lower than the analogous maximum P-state for
262 2 cores, which in turn usually is lower than the maximum turbo P-state that can
263 be set for 1 core. The one-core maximum turbo P-state is thus the maximum
266 The maximum supported turbo P-state, the turbo threshold (the maximum supported
267 non-turbo P-state) and the minimum supported P-state are specific to the
268 processor model and can be determined by reading the processor's model-specific
275 the entire range of available P-states, including the whole turbo range, to the
277 generally causes turbo P-states to be set more often when ``intel_pstate`` is
278 used relative to ACPI-based CPU performance scaling (see `below <acpi-cpufreq_>`_
284 work as expected in all cases (that is, if set to disable turbo P-states, it
294 * The minimum supported P-state.
296 * The maximum supported `non-turbo P-state <turbo_>`_.
298 * Whether or not turbo P-states are supported at all.
300 * The maximum supported `one-core turbo P-state <turbo_>`_ (if turbo P-states
304 of P-states into frequencies and the other way around.
308 itself (using model-specific registers), there are cases in which hardware
323 -----------------
333 Maximum P-state the driver is allowed to set in percent of the
335 P-state <turbo_>`_).
342 Minimum P-state the driver is allowed to set in percent of the
344 P-state <turbo_>`_).
351 Number of P-states supported by the processor (between 0 and 255
352 inclusive) including both turbo and non-turbo P-states (see
353 `Turbo P-states Support`_).
358 This attribute is read-only.
362 range of supported P-states, in percent.
364 This attribute is read-only.
369 If set (equal to 1), the driver is not allowed to set any turbo P-states
370 (see `Turbo P-states Support`_). If unset (equalt to 0, which is the
371 default), turbo P-states can be set by the driver.
378 but it affects the maximum possible value of per-policy P-state limits
384 the processor. If set (equal to 1), it causes the minimum P-state limit
389 This setting has no effect on logical CPUs whose minimum P-state limit
390 is directly set to the highest non-turbo P-state or above it.
413 that string - or to be unregistered in the "off" case. [Actually,
417 as well as the per-policy ones) are then reset to their default
427 -----------------------------------
434 ``scaling_cur_freq`` attributes are produced by applying a processor-specific
435 multiplier to the internal P-state representation used by ``intel_pstate``.
437 attributes are capped by the frequency corresponding to the maximum P-state that
441 not allowed to use turbo P-states, so the maximum value of ``scaling_max_freq``
442 and ``scaling_min_freq`` is limited to the maximum non-turbo P-state frequency.
450 and ``scaling_min_freq`` corresponds to the maximum supported turbo P-state,
457 List of P-state selection algorithms provided by ``intel_pstate``.
460 P-state selection algorithm provided by ``intel_pstate`` currently in
464 Frequency of the average P-state of the CPU represented by the given
476 Coordination of P-State Limits
477 ------------------------------
479 ``intel_pstate`` allows P-state limits to be set in two ways: with the help of
489 2. Each individual CPU is affected by its own per-policy limits (that is, it
490 cannot be requested to run faster than its own per-policy maximum and it
491 cannot be requested to run slower than its own per-policy minimum).
493 3. The global and per-policy limits can be set independently.
497 change in order to request its internal P-state selection logic to always set
498 P-states within these limits. Otherwise, the limits are taken into account by
500 every time before setting a new P-state for a CPU.
507 Energy vs Performance Hints
508 ---------------------------
513 user space to help ``intel_pstate`` to adjust the processor's internal P-state
514 selection logic by focusing it on performance or on energy-efficiency, or
518 Current value of the energy vs performance hint for the given policy
527 They represent different energy vs performance hints and should be
528 self-explanatory, except that ``default`` represents whatever hint
533 Energy-Performance Preference (EPP) knob (if supported) or its
534 Energy-Performance Bias (EPB) knob.
537 load-balancing algorithm and if different energy vs performance hints are
539 issues it is better to set the same energy vs performance hint for all CPUs
542 .. _acpi-cpufreq:
544 ``intel_pstate`` vs ``acpi-cpufreq``
554 ``acpi-cpufreq`` scaling driver. On systems supported by ``intel_pstate``
555 the ``acpi-cpufreq`` driver uses the same hardware CPU performance scaling
556 interface, but the set of P-states it can use is limited by the ``_PSS``
559 On those systems each ``_PSS`` object returns a list of P-states supported by
560 the corresponding CPU which basically is a subset of the P-states range that can
564 than the frequency of the highest non-turbo P-state listed by it, but the
565 corresponding P-state representation (following the hardware specification)
566 returned for it matches the maximum supported turbo P-state (or is the
569 The list of P-states returned by ``_PSS`` is reflected by the table of
570 available frequencies supplied by ``acpi-cpufreq`` to the ``CPUFreq`` core and
574 frequency reported by ``acpi-cpufreq`` is higher by 1 MHz than the frequency
575 of the highest supported non-turbo P-state listed by ``_PSS`` which, of course,
581 (possibly multiplied by a constant), then it will tend to choose P-states below
582 the turbo threshold if ``acpi-cpufreq`` is used as the scaling driver, because
584 band it can use (1 MHz vs 1 GHz or more). In consequence, it will only go to
586 benefit from running at turbo frequencies will be given non-turbo P-states
591 turbo threshold. Namely, if that is not coordinated with the lists of P-states
593 a turbo P-state in those lists and there may be a problem with avoiding the
595 P-states overall, ``acpi-cpufreq`` simply avoids using the topmost state listed
596 by ``_PSS``, but that is not sufficient when there are other turbo P-states in
599 Apart from the above, ``acpi-cpufreq`` works like ``intel_pstate`` in the
600 `passive mode <Passive Mode_>`_, except that the number of P-states it can set
607 Several kernel command line options can be used to pass early-configuration-time
623 ``acpi-cpufreq`` even if the latter is preferred on the given system.
626 power capping) that rely on the availability of ACPI P-states
631 ``intel_pstate`` and on platforms where the ``pcc-cpufreq`` scaling
632 driver is used instead of ``acpi-cpufreq``.
635 Do not enable the `hardware-managed P-states (HWP) feature
640 `hardware-managed P-states (HWP) feature <Active Mode With HWP_>`_ is
652 Use per-logical-CPU P-State limits (see `Coordination of P-state
660 ------------
675 …gnome-terminal--4510 [001] ..s. 1177.680733: pstate_sample: core_busy=107 scaled=94 from=26 to=2…
676 cat-5235 [002] ..s. 1177.681723: cpu_frequency: state=2900000 cpu_id=2
684 ----------
686 The ``ftrace`` interface can be used for low-level diagnostics of
688 P-state is called, the ``ftrace`` filter can be set to to
692 # cat available_filter_functions | grep -i pstate
698 # cat trace | head -15
701 # entries-in-buffer/entries-written: 80/80 #P:4
703 # _-----=> irqs-off
704 # / _----=> need-resched
705 # | / _---=> hardirq/softirq
706 # || / _--=> preempt-depth
708 # TASK-PID CPU# |||| TIMESTAMP FUNCTION
710 Xorg-3129 [000] ..s. 2537.644844: intel_pstate_set_pstate <-intel_pstate_timer_func
711 gnome-terminal--4510 [002] ..s. 2537.649844: intel_pstate_set_pstate <-intel_pstate_timer_func
712 gnome-shell-3409 [001] ..s. 2537.650850: intel_pstate_set_pstate <-intel_pstate_timer_func
713 <idle>-0 [000] ..s. 2537.654843: intel_pstate_set_pstate <-intel_pstate_timer_func
717 …com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-system