Home
last modified time | relevance | path

Searched +full:performance +full:- +full:domain (Results 1 – 25 of 250) sorted by relevance

12345678910

/linux/Documentation/devicetree/bindings/dvfs/
H A Dperformance-domain.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/dvfs/performance-domain.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Generic performance domains
10 - Sudeep Holla <sudeep.holla@arm.com>
13 This binding is intended for performance management of groups of devices or
14 CPUs that run in the same performance domain. Performance domains must not
15 be confused with power domains. A performance domain is defined by a set
16 of devices that always have to run at the same performance level. For a given
[all …]
/linux/Documentation/netlink/specs/
H A Ddev-energymodel.yaml1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
5 ---
6 name: dev-energymodel
13 uapi-header: linux/dev_energymodel.h
16 -
18 name: perf-state-flags
20 -
21 name: perf-state-inefficient
22 doc: >-
23 The performance state is inefficient. There is in this perf-domain,
[all …]
/linux/Documentation/devicetree/bindings/cpufreq/
H A Dcpufreq-mediatek-hw.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/cpufreq/cpufreq-mediatek-hw.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Hector Yuan <hector.yuan@mediatek.com>
19 const: mediatek,cpufreq-hw
26 each frequency domain. Each entry corresponds to
27 a register bank for each frequency domain present.
29 "#performance-domain-cells":
31 Number of cells in a performance domain specifier.
[all …]
/linux/kernel/power/
H A Denergy_model.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (c) 2018-2021, Arm ltd.
23 * Mutex serializing the registrations of performance domains and letting
29 * Manage performance domains with IDs. One can iterate the performance domains
46 return (dev->bus == &cpu_subsys); in _is_cpu_device()
60 struct em_dbg_info *em_dbg = s->private; \
65 table = em_perf_state_from_pd(em_dbg->pd); \
66 val = table[em_dbg->ps_id].name; \
77 DEFINE_EM_DBG_SHOW(performance, performance);
99 /* Create per-ps directory */ in em_debug_create_ps()
[all …]
/linux/Documentation/driver-api/cxl/platform/acpi/
H A Dsrat.rst1 .. SPDX-License-Identifier: GPL-2.0
4 SRAT - Static Resource Affinity Table
9 performance information (see "HMAT") to be enumerated by linux it must be
13 created. If things don't look quite the way you expect - check the SRAT Memory
21 Proximity Domain
23 A proximity domain is ROUGHLY equivalent to "NUMA Node" - though a 1-to-1
24 mapping is not guaranteed. There are scenarios where "Proximity Domain 4" may
30 programming in BIOS - an SRAT entry for that memory needs to be present.
36 Proximity Domain : 00000001 <- NUMA Node 1
38 Base Address : 000000C050000000 <- Physical Memory Region
[all …]
/linux/drivers/acpi/
H A Dprocessor_perflib.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * processor_perflib.c - ACPI Processor P-States Library ($Revision: 71 $)
9 * - Added processor hotplug support
26 #define ACPI_PROCESSOR_FILE_PERFORMANCE "performance"
39 * -1 -> cpufreq low level drivers not initialized -> _PSS, etc. not called yet
41 * 0 -> cpufreq low level drivers initialized -> consider _PPC values
42 * 1 -> ignore _PPC totally -> forced by user through boot param
44 static int ignore_ppc = -1;
60 return -EINVAL; in acpi_processor_get_platform_limit()
66 status = acpi_evaluate_integer(pr->handle, "_PPC", NULL, &ppc); in acpi_processor_get_platform_limit()
[all …]
H A Dprocessor_throttling.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * processor_throttling.c - Throttling submodule of the ACPI processor driver
9 * - Added processor hotplug support
29 * 0 -> acpi processor driver doesn't ignore _TPC values
30 * 1 -> acpi processor driver ignores _TPC values
38 int target_state; /* target T-state */
65 return -ENOMEM; in acpi_processor_update_tsd_coord()
68 * Now that we have _TSD data from all CPUs, lets setup T-state in acpi_processor_update_tsd_coord()
76 /* Basic validity check for domain info */ in acpi_processor_update_tsd_coord()
77 pthrottling = &(pr->throttling); in acpi_processor_update_tsd_coord()
[all …]
/linux/Documentation/devicetree/bindings/power/
H A Dpower-domain.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/power/power-domain.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Rafael J. Wysocki <rafael@kernel.org>
11 - Kevin Hilman <khilman@kernel.org>
12 - Ulf Hansson <ulf.hansson@linaro.org>
18 capable of scaling performance for a group of IP blocks.
20 This device tree binding can be used to bind PM domain consumer devices with
21 their PM domains provided by PM domain providers. A PM domain provider can be
[all …]
/linux/Documentation/arch/powerpc/
H A Dassociativity.rst6 domains of substantially similar mean performance relative to resources outside
7 of that domain. Resources subsets of a given domain that exhibit better
8 performance relative to each other than relative to other resources subsets
9 are represented as being members of a sub-grouping domain. This performance
17 Hypervisor indicates the type/form of associativity used via "ibm,architecture-vec-5 property".
18 Bit 0 of byte 5 in the "ibm,architecture-vec-5" property indicates usage of Form 0 or Form 1.
20 bit 2 of byte 5 in the "ibm,architecture-vec-5" property is used.
23 ------
27 ------
28 With Form 1 a combination of ibm,associativity-reference-points, and ibm,associativity
[all …]
/linux/Documentation/admin-guide/pm/
H A Dintel_uncore_frequency_scaling.rst1 .. SPDX-License-Identifier: GPL-2.0
8 :Copyright: |copy| 2022-2023 Intel Corporation
13 ------------
17 performance, SoCs have internal algorithms for scaling uncore frequency. These
20 It is possible that users have different expectations of uncore performance and
22 the scaling min/max frequencies via cpufreq sysfs to improve CPU performance.
25 different core and uncore performance at distinct phases and they may want to
27 improve overall performance.
30 ---------------
45 This is a read-only attribute. If users adjust max_freq_khz,
[all …]
/linux/drivers/base/power/
H A Dcommon.c1 // SPDX-License-Identifier: GPL-2.0
3 * drivers/base/power/common.c - Common device power management code.
19 * dev_pm_get_subsys_data - Create or refcount power.subsys_data for device.
32 return -ENOMEM; in dev_pm_get_subsys_data()
34 spin_lock_irq(&dev->power.lock); in dev_pm_get_subsys_data()
36 if (dev->power.subsys_data) { in dev_pm_get_subsys_data()
37 dev->power.subsys_data->refcount++; in dev_pm_get_subsys_data()
39 spin_lock_init(&psd->lock); in dev_pm_get_subsys_data()
40 psd->refcount = 1; in dev_pm_get_subsys_data()
41 dev->power.subsys_data = psd; in dev_pm_get_subsys_data()
[all …]
/linux/drivers/cpufreq/
H A Dscmi-cpufreq.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2018-2021 ARM Ltd.
11 #include <linux/clk-provider.h>
50 priv = policy->driver_data; in scmi_cpufreq_get_rate()
52 ret = perf_ops->freq_get(ph, priv->domain_id, &rate, false); in scmi_cpufreq_get_rate()
59 * perf_ops->freq_set is not a synchronous, the actual OPP change will
66 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_set_target()
67 u64 freq = policy->freq_table[index].frequency; in scmi_cpufreq_set_target()
69 return perf_ops->freq_set(ph, priv->domain_id, freq * 1000, false); in scmi_cpufreq_set_target()
75 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_fast_switch()
[all …]
/linux/drivers/pmdomain/arm/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "SCMI performance domain driver"
8 This enables support for the SCMI performance domains which can be
15 tristate "SCMI power domain driver"
28 tristate "SCPI power domain driver"
H A Dscmi_perf_domain.c1 // SPDX-License-Identifier: GPL-2.0
3 * SCMI performance domain support.
32 if (!pd->info->set_perf) in scmi_pd_set_perf_state()
36 return -EINVAL; in scmi_pd_set_perf_state()
38 ret = pd->perf_ops->level_set(pd->ph, pd->domain_id, state, false); in scmi_pd_set_perf_state()
40 dev_warn(&genpd->dev, "Failed with %d when trying to set %d perf level", in scmi_pd_set_perf_state()
54 * the performance level can be changed. in scmi_pd_attach_dev()
56 if (!pd->info->set_perf) in scmi_pd_attach_dev()
59 ret = pd->perf_ops->device_opps_add(pd->ph, dev, pd->domain_id); in scmi_pd_attach_dev()
71 if (!pd->info->set_perf) in scmi_pd_detach_dev()
[all …]
/linux/include/uapi/linux/
H A Disst_if.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
16 * struct isst_if_platform_info - Define platform information
25 * @mmio_supported: Support of mmio interface for core-power feature
40 * struct isst_if_cpu_map - CPU mapping between logical and physical CPU
53 * struct isst_if_cpu_maps - structure for CPU map IOCTL
67 * struct isst_if_io_reg - Read write PUNIT IO register
84 * struct isst_if_io_regs - structure for IO register commands
99 * struct isst_if_mbox_cmd - Structure to define mail box command
121 * struct isst_if_mbox_cmds - structure for mailbox commands
136 * struct isst_if_msr_cmd - Structure to define msr command
[all …]
/linux/drivers/firmware/arm_scmi/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
9 set of operating system-independent software interfaces that are
11 interfaces for: Discovery and self-description of the interfaces
12 it supports, Power domain management which is the ability to place
13 a given device or domain into the various power-saving states that
14 it supports, Performance management which is the ability to control
15 the performance of a domain that is composed of compute engines
80 The framework allows the definition of platform-specific code quirks
/linux/drivers/pmdomain/
H A Dcore.c1 // SPDX-License-Identifier: GPL-2.0
3 * drivers/base/power/domain.c - Common code related to device power domains.
47 __routine = genpd->dev_ops.callback; \
66 mutex_lock(&genpd->mlock); in genpd_lock_mtx()
72 mutex_lock_nested(&genpd->mlock, depth); in genpd_lock_nested_mtx()
77 return mutex_lock_interruptible(&genpd->mlock); in genpd_lock_interruptible_mtx()
82 return mutex_unlock(&genpd->mlock); in genpd_unlock_mtx()
93 __acquires(&genpd->slock) in genpd_lock_spin()
97 spin_lock_irqsave(&genpd->slock, flags); in genpd_lock_spin()
98 genpd->lock_flags = flags; in genpd_lock_spin()
[all …]
/linux/drivers/xen/
H A Dxen-acpi-processor.c1 // SPDX-License-Identifier: GPL-2.0-only
7 * https://lore.kernel.org/lkml/1322673664-14642-6-git-send-email-konrad.wilk@oracle.com
35 * - as those shrink to nr_cpu_bits (which is dependent on possible_cpu), which
40 /* Mutex to protect the acpi_ids_done - for CPU hotplug use. */
48 /* Which ACPI P-State dependencies for a enumerated processor */
56 .u.set_pminfo.id = _pr->acpi_id, in push_cxx_to_hypervisor()
64 dst_cx_states = kzalloc_objs(struct xen_processor_cx, _pr->power.count); in push_cxx_to_hypervisor()
66 return -ENOMEM; in push_cxx_to_hypervisor()
68 for (ok = 0, i = 1; i <= _pr->power.count; i++) { in push_cxx_to_hypervisor()
69 cx = &_pr->power.states[i]; in push_cxx_to_hypervisor()
[all …]
/linux/arch/powerpc/perf/
H A Dhv-gpci.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Hypervisor supplied "gpci" ("get performance counter info") performance
10 #define pr_fmt(fmt) "hv-gpci: " fmt
18 #include "hv-gpci.h"
19 #include "hv-common.h"
23 * perf stat -e 'hv_gpci/counter_info_version=3,offset=0,length=8,
34 * used depends on the event. See REQUEST_IDX_KIND in hv-gpci-requests.h
46 /* u8, bytes of data (1-8) */
86 return -EIO; \
117 AFFINITY_DOMAIN_VIA_VP, /* affinity domain via virtual processor */
[all …]
/linux/Documentation/driver-api/cxl/platform/example-configurations/
H A Dhb-interleave.rst1 .. SPDX-License-Identifier: GPL-2.0
4 Cross-Host-Bridge Interleave
11 * Cross-Bridge interleave is described.
14 * The HMAT describes a single node's performance.
55 Proximity Domain : 00000001
63 Non-Volatile : 0
69 Target Proximity Domain List : 00000000
70 Target Proximity Domain List : 00000001
71 Target Proximity Domain List : 00000002
77 Target Proximity Domain List : 00000000
[all …]
/linux/Documentation/core-api/
H A Ddma-attributes.rst6 defined in linux/dma-mapping.h.
9 ----------------------
19 ----------------------
22 buffered to improve performance.
29 --------------------------
33 such mapping is non-trivial task and consumes very limited resources
47 ----------------------
50 buffer from CPU domain to device domain. Some advanced use cases might
55 the buffer sharing. The first call transfers a buffer from 'CPU' domain
56 to 'device' domain, what synchronizes CPU caches for the given region
[all …]
/linux/include/linux/
H A Dasync.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * async.h: Asynchronous function calls for boot performance
24 * domain participates in global async_synchronize_full
31 * domain is free to go out of scope as soon as all pending work is
32 * complete, this domain does not participate in async_synchronize_full
42 struct async_domain *domain);
45 * async_schedule - schedule a function for asynchronous execution
50 * Note: This function may be called from atomic or non-atomic contexts.
58 * async_schedule_domain - schedule a function for asynchronous execution within a certain domain
61 * @domain: the domain
[all …]
/linux/Documentation/filesystems/smb/
H A Dksmbd.rst1 .. SPDX-License-Identifier: GPL-2.0
4 KSMBD - SMB3 Kernel Server
13 The subset of performance related operations belong in kernelspace and
15 performance in userspace. So, DCE/RPC management that has historically resulted
18 File operations that are related with performance (open/read/write/close etc.)
23 ---------------------
36 as workitems and to be executed in the handlers of the ksmbd-io kworker threads.
44 for each command which is further queued to be handled by ksmbd-io kworkers.
47 performance by handling client commands in parallel.
50 --------------------------------
[all …]
/linux/drivers/sh/intc/
H A Dirqdomain.c2 * IRQ domain support for SH INTC subsystem
18 * intc_irq_domain_evt_xlate() - Generic xlate for vectored IRQs.
32 return -EINVAL; in intc_evt_xlate()
52 irq_base = evt2irq(hw->vectors[0].vect); in intc_irq_domain_init()
53 irq_end = evt2irq(hw->vectors[hw->nr_vectors - 1].vect); in intc_irq_domain_init()
56 * Linear domains have a hard-wired assertion that IRQs start at in intc_irq_domain_init()
57 * 0 in order to make some performance optimizations. Lamely in intc_irq_domain_init()
59 * tree penalty for linear cases with non-zero hwirq bases. in intc_irq_domain_init()
61 if (irq_base == 0 && irq_end == (irq_base + hw->nr_vectors - 1)) in intc_irq_domain_init()
62 d->domain = irq_domain_create_linear(NULL, hw->nr_vectors, &intc_evt_ops, NULL); in intc_irq_domain_init()
[all …]
/linux/Documentation/power/
H A Dopp.rst2 Operating Performance Points (OPP) Library
5 (C) 2009-2010 Nishanth Menon <nm@ti.com>, Texas Instruments Incorporated
19 1.1 What is an Operating Performance Point (OPP)?
20 -------------------------------------------------
22 Complex SoCs of today consists of a multiple sub-modules working in conjunction.
25 facilitate this, sub-modules in a SoC are grouped into domains, allowing some
30 the device will support per domain are called Operating Performance Points or
41 - {300000000, 1000000}
42 - {800000000, 1200000}
43 - {1000000000, 1300000}
[all …]

12345678910