/linux-6.6.21/drivers/md/ |
D | dm-path-selector.c | 32 struct ps_internal *psi; in __find_path_selector_type() local 34 list_for_each_entry(psi, &_path_selectors, list) { in __find_path_selector_type() 35 if (!strcmp(name, psi->pst.name)) in __find_path_selector_type() 36 return psi; in __find_path_selector_type() 44 struct ps_internal *psi; in get_path_selector() local 47 psi = __find_path_selector_type(name); in get_path_selector() 48 if (psi && !try_module_get(psi->pst.module)) in get_path_selector() 49 psi = NULL; in get_path_selector() 52 return psi; in get_path_selector() 57 struct ps_internal *psi; in dm_get_path_selector() local [all …]
|
/linux-6.6.21/fs/pstore/ |
D | platform.c | 267 record->psi = psinfo; in pstore_record_init() 449 ret = record->psi->write(record); in pstore_write_user_compat() 465 int pstore_register(struct pstore_info *psi) in pstore_register() argument 469 if (backend && strcmp(backend, psi->name)) { in pstore_register() 471 backend, psi->name); in pstore_register() 476 if (!psi->flags) { in pstore_register() 478 psi->name); in pstore_register() 483 if (!psi->read || !psi->write) { in pstore_register() 485 psi->name); in pstore_register() 489 new_backend = kstrdup(psi->name, GFP_KERNEL); in pstore_register() [all …]
|
D | internal.h | 40 extern void pstore_get_backend_records(struct pstore_info *psi, 42 extern int pstore_put_backend_records(struct pstore_info *psi); 46 struct pstore_info *psi);
|
D | inode.c | 187 if (!record->psi->erase) in pstore_unlink() 201 mutex_lock(&record->psi->read_mutex); in pstore_unlink() 202 record->psi->erase(record); in pstore_unlink() 203 mutex_unlock(&record->psi->read_mutex); in pstore_unlink() 312 int pstore_put_backend_records(struct pstore_info *psi) in pstore_put_backend_records() argument 324 if (pos->record->psi == psi) { in pstore_put_backend_records() 364 pos->record->psi == record->psi) in pstore_mkfile() 376 record->psi->name, record->id, in pstore_mkfile()
|
D | ram.c | 107 static int ramoops_pstore_open(struct pstore_info *psi) in ramoops_pstore_open() argument 109 struct ramoops_context *cxt = psi->data; in ramoops_pstore_open() 181 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_read() 311 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_write() 398 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_write_user() 410 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_erase()
|
D | zone.c | 632 static int psz_pstore_open(struct pstore_info *psi) in psz_pstore_open() argument 634 struct psz_context *cxt = psi->data; in psz_pstore_open() 701 struct psz_context *cxt = record->psi->data; in psz_pstore_erase() 723 struct psz_context *cxt = record->psi->data; in psz_write_kmsg_hdr() 874 struct psz_context *cxt = record->psi->data; in psz_pstore_write() 1022 cxt = record->psi->data; in psz_ftrace_read() 1058 struct psz_context *cxt = record->psi->data; in psz_pstore_read()
|
D | ftrace.c | 38 .psi = psinfo, in pstore_ftrace_call()
|
/linux-6.6.21/Documentation/translations/zh_CN/accounting/ |
D | psi.rst | 3 :Original: Documentation/accounting/psi.rst 22 psi特性能够识别和量化资源竞争导致的业务中断,及其对复杂负载乃至整个系统在 28 psi能够实时的提供相关信息,因此系统可基于psi实现动态的负载管理。如实施 31 psi帮助用户实现硬件资源利用率的最大化。同时无需牺牲业务负载健康度,也无需 68 触发器注册方法:用户打开代表特定资源的psi接口文件,写入门限、时间窗口的值。 78 触发器可针对多个psi度量值设置,同一个psi度量值可设置多个触发器。每个触发器需要 79 单独的文件描述符用于轮询,以区分于其他触发器。所以即使对于同一个psi接口文件, 83 状态后,监控psi增长的频率为每监控窗口刷新10次。 87 psi接口提供的均值即可。 151 对于CONFIG_CGROUP=y及挂载了cgroup2文件系统的系统,能够获取cgroups内任务的psi。 [all …]
|
D | index.rst | 19 psi
|
/linux-6.6.21/drivers/firmware/efi/ |
D | efi-pstore.c | 27 static int efi_pstore_open(struct pstore_info *psi) in efi_pstore_open() argument 35 psi->data = kzalloc(record_size, GFP_KERNEL); in efi_pstore_open() 36 if (!psi->data) in efi_pstore_open() 42 static int efi_pstore_close(struct pstore_info *psi) in efi_pstore_close() argument 45 kfree(psi->data); in efi_pstore_close() 132 efi_char16_t *varname = record->psi->data; in efi_pstore_read() 192 record->size, record->psi->buf, in efi_pstore_write()
|
/linux-6.6.21/Documentation/accounting/ |
D | psi.rst | 18 The psi feature identifies and quantifies the disruptions caused by 26 As psi aggregates this information in realtime, systems can be managed 77 To register a trigger user has to open psi interface file under 90 Triggers can be set on more than one psi metric and more than one trigger 91 for the same psi metric can be specified. However for each trigger a separate 94 when opening the same psi interface file. Write operations to a file descriptor 95 with an already existing psi trigger will fail with EBUSY. 98 psi metric and deactivates upon exit from the stall state. While system is 99 in the stall state psi signal growth is monitored at a rate of 10 times per 105 after which monitors are most likely not needed and psi averages can be used [all …]
|
D | index.rst | 12 psi
|
/linux-6.6.21/include/linux/ |
D | pstore.h | 73 struct pstore_info *psi; member 195 int (*open)(struct pstore_info *psi); 196 int (*close)(struct pstore_info *psi);
|
D | psi.h | 37 return cgroup_ino(cgrp) == 1 ? &psi_system : cgrp->psi; in cgroup_psi()
|
D | cgroup-defs.h | 513 struct psi_group *psi; member
|
/linux-6.6.21/kernel/sched/ |
D | psi.c | 1105 cgroup->psi = kzalloc(sizeof(struct psi_group), GFP_KERNEL); in psi_cgroup_alloc() 1106 if (!cgroup->psi) in psi_cgroup_alloc() 1109 cgroup->psi->pcpu = alloc_percpu(struct psi_group_cpu); in psi_cgroup_alloc() 1110 if (!cgroup->psi->pcpu) { in psi_cgroup_alloc() 1111 kfree(cgroup->psi); in psi_cgroup_alloc() 1114 group_init(cgroup->psi); in psi_cgroup_alloc() 1115 cgroup->psi->parent = cgroup_psi(cgroup_parent(cgroup)); in psi_cgroup_alloc() 1124 cancel_delayed_work_sync(&cgroup->psi->avgs_work); in psi_cgroup_free() 1125 free_percpu(cgroup->psi->pcpu); in psi_cgroup_free() 1127 WARN_ONCE(cgroup->psi->rtpoll_states, "psi: trigger leak\n"); in psi_cgroup_free() [all …]
|
/linux-6.6.21/drivers/usb/host/ |
D | xhci-hub.c | 76 if ((port_cap->psi[i] & PLT_MASK) == PLT_SYM) in xhci_create_usb3x_bos_desc() 149 u32 psi; in xhci_create_usb3x_bos_desc() local 159 psi = port_cap->psi[i]; in xhci_create_usb3x_bos_desc() 160 ssid = XHCI_EXT_PORT_PSIV(psi); in xhci_create_usb3x_bos_desc() 161 lp = XHCI_EXT_PORT_LP(psi); in xhci_create_usb3x_bos_desc() 162 psie = XHCI_EXT_PORT_PSIE(psi); in xhci_create_usb3x_bos_desc() 163 psim = XHCI_EXT_PORT_PSIM(psi); in xhci_create_usb3x_bos_desc() 164 plt = psi & PLT_MASK; in xhci_create_usb3x_bos_desc() 200 u32 prev = port_cap->psi[i - 1]; in xhci_create_usb3x_bos_desc()
|
D | xhci-mem.c | 1917 kfree(xhci->port_caps[i].psi); in xhci_mem_cleanup() 2018 port_cap->psi = kcalloc_node(port_cap->psi_count, in xhci_add_in_port() 2019 sizeof(*port_cap->psi), in xhci_add_in_port() 2021 if (!port_cap->psi) in xhci_add_in_port() 2026 port_cap->psi[i] = readl(addr + 4 + i); in xhci_add_in_port() 2031 if (i && (XHCI_EXT_PORT_PSIV(port_cap->psi[i]) != in xhci_add_in_port() 2032 XHCI_EXT_PORT_PSIV(port_cap->psi[i - 1]))) in xhci_add_in_port() 2037 XHCI_EXT_PORT_PSIV(port_cap->psi[i]) >= 5) in xhci_add_in_port() 2041 XHCI_EXT_PORT_PSIV(port_cap->psi[i]), in xhci_add_in_port() 2042 XHCI_EXT_PORT_PSIE(port_cap->psi[i]), in xhci_add_in_port() [all …]
|
/linux-6.6.21/kernel/cgroup/ |
D | cgroup.c | 3723 struct psi_group *psi = cgroup_psi(cgrp); in cgroup_io_pressure_show() local 3725 return psi_show(seq, psi, PSI_IO); in cgroup_io_pressure_show() 3730 struct psi_group *psi = cgroup_psi(cgrp); in cgroup_memory_pressure_show() local 3732 return psi_show(seq, psi, PSI_MEM); in cgroup_memory_pressure_show() 3737 struct psi_group *psi = cgroup_psi(cgrp); in cgroup_cpu_pressure_show() local 3739 return psi_show(seq, psi, PSI_CPU); in cgroup_cpu_pressure_show() 3748 struct psi_group *psi; in pressure_write() local 3758 if (ctx->psi.trigger) { in pressure_write() 3763 psi = cgroup_psi(cgrp); in pressure_write() 3764 new = psi_trigger_create(psi, buf, res, of->file, of); in pressure_write() [all …]
|
D | cgroup-internal.h | 74 } psi; member
|
/linux-6.6.21/drivers/acpi/apei/ |
D | erst.c | 983 static int erst_open_pstore(struct pstore_info *psi); 984 static int erst_close_pstore(struct pstore_info *psi); 1021 static int erst_open_pstore(struct pstore_info *psi) in erst_open_pstore() argument 1029 static int erst_close_pstore(struct pstore_info *psi) in erst_close_pstore() argument
|
/linux-6.6.21/arch/powerpc/kvm/ |
D | book3s_64_mmu_radix.c | 314 int psi; in kvmppc_radix_tlbie_page() local 330 psi = shift_to_mmu_psize(pshift); in kvmppc_radix_tlbie_page() 333 rb = addr | (mmu_get_ap(psi) << PPC_BITLSHIFT(58)); in kvmppc_radix_tlbie_page() 340 psize_to_rpti_pgsize(psi), in kvmppc_radix_tlbie_page()
|
/linux-6.6.21/drivers/infiniband/hw/hfi1/ |
D | mad.c | 2011 struct opa_port_state_info *psi = (struct opa_port_state_info *)data; in __subn_get_opa_psi() local 2013 if (nports != 1 || smp_length_check(sizeof(*psi), max_len)) { in __subn_get_opa_psi() 2026 psi->port_states.ledenable_offlinereason = ppd->neighbor_normal << 4; in __subn_get_opa_psi() 2027 psi->port_states.ledenable_offlinereason |= in __subn_get_opa_psi() 2029 psi->port_states.ledenable_offlinereason |= in __subn_get_opa_psi() 2032 psi->port_states.portphysstate_portstate = in __subn_get_opa_psi() 2034 psi->link_width_downgrade_tx_active = in __subn_get_opa_psi() 2036 psi->link_width_downgrade_rx_active = in __subn_get_opa_psi() 2054 struct opa_port_state_info *psi = (struct opa_port_state_info *)data; in __subn_set_opa_psi() local 2057 if (nports != 1 || smp_length_check(sizeof(*psi), max_len)) { in __subn_set_opa_psi() [all …]
|
/linux-6.6.21/arch/powerpc/kernel/ |
D | nvram_64.c | 370 static int nvram_pstore_open(struct pstore_info *psi) in nvram_pstore_open() argument
|
/linux-6.6.21/Documentation/admin-guide/ |
D | cgroup-v2.rst | 1003 :ref:`Documentation/accounting/psi.rst <psi>` for details. 1096 :ref:`Documentation/accounting/psi.rst <psi>` for details. 1641 :ref:`Documentation/accounting/psi.rst <psi>` for details. 1880 :ref:`Documentation/accounting/psi.rst <psi>` for details.
|