Home
last modified time | relevance | path

Searched +full:add +full:- +full:pmem (Results 1 – 25 of 48) sorted by relevance

12

/linux-6.8/Documentation/driver-api/nvdimm/
Dnvdimm.rst2 LIBNVDIMM: Non-Volatile Devices
5 libnvdimm - kernel / libndctl - userspace helper library
17 LIBNVDIMM PMEM
18 PMEM-REGIONs, Atomic Sectors, and DAX
49 PMEM:
50 A system-physical-address range where writes are persistent. A
51 block device composed of PMEM is capable of DAX. A PMEM address range
55 DIMM Physical Address, is a DIMM-relative offset. With one DIMM in
56 the system there would be a 1:1 system-physical-address:DPA association.
59 system-physical-address.
[all …]
/linux-6.8/arch/powerpc/platforms/pseries/
Dpmem.c1 // SPDX-License-Identifier: GPL-2.0
7 #define pr_fmt(fmt) "pseries-pmem: " fmt
34 pr_debug("Attempting to add pmem node, drc index: %x\n", drc_index); in pmem_drc_add_node()
40 return -EINVAL; in pmem_drc_add_node()
45 pr_err("configure-connector failed for drc %x\n", drc_index); in pmem_drc_add_node()
47 return -EINVAL; in pmem_drc_add_node()
74 if (of_property_read_u32(dn, "ibm,my-drc-index", &index)) in pmem_drc_remove_node()
82 return -ENODEV; in pmem_drc_remove_node()
87 /* * NB: tears down the ibm,pmemory device as a side-effect */ in pmem_drc_remove_node()
100 pr_info("Successfully removed PMEM with drc index: %x\n", drc_index); in pmem_drc_remove_node()
[all …]
/linux-6.8/drivers/nvdimm/
Dnd_virtio.c1 // SPDX-License-Identifier: GPL-2.0
3 * virtio_pmem.c: Virtio pmem Driver
15 struct virtio_pmem *vpmem = vq->vdev->priv; in virtio_pmem_host_ack()
20 spin_lock_irqsave(&vpmem->pmem_lock, flags); in virtio_pmem_host_ack()
22 req_data->done = true; in virtio_pmem_host_ack()
23 wake_up(&req_data->host_acked); in virtio_pmem_host_ack()
25 if (!list_empty(&vpmem->req_list)) { in virtio_pmem_host_ack()
26 req_buf = list_first_entry(&vpmem->req_list, in virtio_pmem_host_ack()
28 req_buf->wq_buf_avail = true; in virtio_pmem_host_ack()
29 wake_up(&req_buf->wq_buf); in virtio_pmem_host_ack()
[all …]
Dnamespace_devs.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright(c) 2013-2015 Intel Corporation. All rights reserved.
12 #include "nd-core.h"
13 #include "pmem.h"
27 struct nd_region *nd_region = to_nd_region(dev->parent); in namespace_pmem_release()
29 if (nspm->id >= 0) in namespace_pmem_release()
30 ida_free(&nd_region->ns_ida, nspm->id); in namespace_pmem_release()
31 kfree(nspm->alt_name); in namespace_pmem_release()
32 kfree(nspm->uuid); in namespace_pmem_release()
46 uuid2 = nspm->uuid; in is_uuid_busy()
[all …]
Dbadrange.c1 // SPDX-License-Identifier: GPL-2.0-only
16 #include "nd-core.h"
21 INIT_LIST_HEAD(&badrange->list); in badrange_init()
22 spin_lock_init(&badrange->lock); in badrange_init()
29 lockdep_assert_held(&badrange->lock); in append_badrange_entry()
30 bre->start = addr; in append_badrange_entry()
31 bre->length = length; in append_badrange_entry()
32 list_add_tail(&bre->list, &badrange->list); in append_badrange_entry()
42 return -ENOMEM; in alloc_and_append_badrange_entry()
52 spin_unlock(&badrange->lock); in add_badrange()
[all …]
/linux-6.8/drivers/firmware/
Dstratix10-svc.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2017-2018, Intel Corporation
19 #include <linux/firmware/intel/stratix10-smc.h>
20 #include <linux/firmware/intel/stratix10-svc-client.h>
24 * SVC_NUM_DATA_IN_FIFO - number of struct stratix10_svc_data in the FIFO
26 * SVC_NUM_CHANNEL - number of channel supported by service layer driver
28 * FPGA_CONFIG_DATA_CLAIM_TIMEOUT_MS - claim back the submitted buffer(s)
30 * when all bit-stream data had be send.
32 * FPGA_CONFIG_STATUS_TIMEOUT_SEC - poll the FPGA configuration status,
43 #define STRATIX10_RSU "stratix10-rsu"
[all …]
/linux-6.8/drivers/cxl/core/
Dpmem.c1 // SPDX-License-Identifier: GPL-2.0-only
11 * DOC: cxl pmem
13 * The core CXL PMEM infrastructure supports persistent memory
17 * CXL window. That root-level bridge corresponds to a LIBNVDIMM 'bus'
30 ida_free(&cxl_nvdimm_bridge_ida, cxl_nvb->id); in cxl_nvdimm_bridge_release()
47 if (dev_WARN_ONCE(dev, dev->type != &cxl_nvdimm_bridge_type, in to_cxl_nvdimm_bridge()
56 return dev->type == &cxl_nvdimm_bridge_type; in is_cxl_nvdimm_bridge()
68 find_cxl_root(cxlmd->endpoint); in cxl_find_nvdimm_bridge()
74 dev = device_find_child(&cxl_root->port.dev, NULL, match_nvdimm_bridge); in cxl_find_nvdimm_bridge()
93 return ERR_PTR(-ENOMEM); in cxl_nvdimm_bridge_alloc()
[all …]
Dhdm.c1 // SPDX-License-Identifier: GPL-2.0-only
28 put_device(&cxld->dev); in add_hdm_decoder()
29 dev_err(&port->dev, "Failed to add decoder\n"); in add_hdm_decoder()
33 rc = cxl_decoder_autoremove(&port->dev, cxld); in add_hdm_decoder()
37 dev_dbg(&cxld->dev, "Added to port %s\n", dev_name(&port->dev)); in add_hdm_decoder()
44 * single ported host-bridges need not publish a decoder capability when a
60 device_lock_assert(&port->dev); in devm_cxl_add_passthrough_decoder()
62 xa_for_each(&port->dports, index, dport) in devm_cxl_add_passthrough_decoder()
64 single_port_map[0] = dport->port_id; in devm_cxl_add_passthrough_decoder()
66 return add_hdm_decoder(port, &cxlsd->cxld, single_port_map); in devm_cxl_add_passthrough_decoder()
[all …]
Dregion.c1 // SPDX-License-Identifier: GPL-2.0-only
37 struct cxl_region_params *p = &cxlr->params; in uuid_show()
43 if (cxlr->mode != CXL_DECODER_PMEM) in uuid_show()
46 rc = sysfs_emit(buf, "%pUb\n", &p->uuid); in uuid_show()
63 p = &cxlr->params; in is_dup()
65 if (uuid_equal(&p->uuid, uuid)) { in is_dup()
67 return -EBUSY; in is_dup()
77 struct cxl_region_params *p = &cxlr->params; in uuid_store()
82 return -EINVAL; in uuid_store()
89 return -EINVAL; in uuid_store()
[all …]
/linux-6.8/arch/powerpc/include/asm/
Dmmu_context.h1 /* SPDX-License-Identifier: GPL-2.0 */
27 struct mm_iommu_table_group_mem_t **pmem);
30 struct mm_iommu_table_group_mem_t **pmem);
83 VM_WARN_ON(mm->context.extended_id[index]); in alloc_extended_context()
84 mm->context.extended_id[index] = context_id; in alloc_extended_context()
92 context_id = get_user_context(&mm->context, ea); in need_extra_context()
110 return -ENOMEM; in alloc_extended_context()
125 atomic_inc(&mm->context.active_cpus); in inc_mm_active_cpus()
130 VM_WARN_ON_ONCE(atomic_read(&mm->context.active_cpus) <= 0); in dec_mm_active_cpus()
131 atomic_dec(&mm->context.active_cpus); in dec_mm_active_cpus()
[all …]
/linux-6.8/drivers/dax/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
20 tristate "PMEM DAX: direct access to persistent memory"
26 libnvdimm sub-system.
40 device-dax instances for these memory ranges, and that also
42 driver to override the reservation and add them to kernel
52 CXL RAM regions are either mapped by platform-firmware
53 and published in the initial system-memory map as "System RAM", mapped
54 by platform-firmware as "Soft Reserved", or dynamically provisioned
55 after boot by the CXL driver. In the latter two cases a device-dax
56 instance is created to access that unmapped-by-default address range.
[all …]
/linux-6.8/Documentation/filesystems/
Ddax.rst6 ----------
12 For block devices that are memory-like, the page cache pages would be
19 -----
30 ------------------------------
32 When mounting the filesystem, use the ``-o dax`` option on the command line or
33 add 'dax' to the options in ``/etc/fstab``. This works to enable `DAX` on all files
34 within the filesystem. It is equivalent to the ``-o dax=always`` behavior below.
38 ----------------------------
41 -------
43 1. There exists an in-kernel file access mode flag `S_DAX` that corresponds to
[all …]
/linux-6.8/drivers/staging/rtl8712/
Drtl8712_xmit.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
27 static void update_txdesc(struct xmit_frame *pxmitframe, uint *pmem, int sz);
31 phw_txqueue->ac_tag = ac_tag; in _r8712_init_hw_txqueue()
34 phw_txqueue->ff_hwaddr = RTL8712_DMA_BEQ; in _r8712_init_hw_txqueue()
37 phw_txqueue->ff_hwaddr = RTL8712_DMA_BKQ; in _r8712_init_hw_txqueue()
40 phw_txqueue->ff_hwaddr = RTL8712_DMA_VIQ; in _r8712_init_hw_txqueue()
43 phw_txqueue->ff_hwaddr = RTL8712_DMA_VOQ; in _r8712_init_hw_txqueue()
46 phw_txqueue->ff_hwaddr = RTL8712_DMA_BEQ; in _r8712_init_hw_txqueue()
57 int priority = pattrib->priority; in r8712_txframes_sta_ac_pending()
[all …]
/linux-6.8/fs/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
68 Direct Access (DAX) can be used on memory-backed block devices.
77 # ndctl create-namespace --force --reconfig=namespace0.0 \
78 --mode=fsdax --map=mem
80 See the 'create-namespace' man page for details on the overhead of
81 --map=mem:
82 https://docs.pmem.io/ndctl-user-guide/ndctl-man-pages/ndctl-create-namespace
86 per-inode using a mount option as well. See the file documentation in
103 # direct-I/O to a DAX mapping.
152 menu "CD-ROM/DVD Filesystems"
[all …]
/linux-6.8/mm/
Dmemory-tiers.c1 // SPDX-License-Identifier: GPL-2.0
7 #include <linux/memory-tiers.h>
54 * Node 0 & 1 are CPU + DRAM nodes, node 2 & 3 are PMEM nodes.
63 * memory_tiers0 = 0-1
64 * memory_tiers1 = 2-3
73 * Node 0 & 1 are CPU + DRAM nodes, node 2 is memory-only DRAM node.
81 * memory_tiers0 = 0-2
89 * Node 0 is CPU + DRAM nodes, Node 1 is HBM node, node 2 is PMEM node.
126 list_for_each_entry(memtype, &memtier->memory_types, tier_sibling) in get_memtier_nodemask()
127 nodes_or(nodes, nodes, memtype->nodes); in get_memtier_nodemask()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
7 # add proper SWAP support to them, in which case this can be remove.
33 compress them into a dynamically allocated RAM-based memory pool.
62 swapped out again, it will be re-compressed.
210 zsmalloc is a slab-based memory allocator designed to store
225 int "Maximum number of physical pages per-zspage"
303 Try running: slabinfo -DA
340 utilization of a direct-mapped memory-side-cache. See section
343 the presence of a memory-side-cache. There are also incidental
353 after runtime detection of a direct-mapped memory-side-cache.
[all …]
/linux-6.8/drivers/pci/
Dprobe.c1 // SPDX-License-Identifier: GPL-2.0
51 if (r->domain_nr == domain_nr) in get_pci_domain_busn_res()
52 return &r->res; in get_pci_domain_busn_res()
58 r->domain_nr = domain_nr; in get_pci_domain_busn_res()
59 r->res.start = 0; in get_pci_domain_busn_res()
60 r->res.end = 0xff; in get_pci_domain_busn_res()
61 r->res.flags = IORESOURCE_BUS | IORESOURCE_PCI_FIXED; in get_pci_domain_busn_res()
63 list_add_tail(&r->list, &pci_domain_busn_res_list); in get_pci_domain_busn_res()
65 return &r->res; in get_pci_domain_busn_res()
92 put_device(pci_bus->bridge); in release_pcibus_dev()
[all …]
/linux-6.8/tools/perf/util/
Dmem-events.c1 // SPDX-License-Identifier: GPL-2.0
12 #include "mem-events.h"
23 E("ldlat-loads", "cpu/mem-loads,ldlat=%u/P", "cpu/events/mem-loads"),
24 E("ldlat-stores", "cpu/mem-stores/P", "cpu/events/mem-stores"),
51 e->name, perf_mem_events__loads_ldlat); in perf_mem_events__name()
56 return e->name; in perf_mem_events__name()
74 return -ENOMEM; in perf_mem_events__parse()
84 if (!e->tag) in perf_mem_events__parse()
87 if (strstr(e->tag, tok)) in perf_mem_events__parse()
88 e->record = found = true; in perf_mem_events__parse()
[all …]
/linux-6.8/drivers/message/fusion/
Dmptctl.c7 * Copyright (c) 1999-2008 LSI Corporation
8 * (mailto:DL-MPTFusionLinux@lsi.com)
11 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
25 LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
44 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
46 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
69 #define COPYRIGHT "Copyright (c) 1999-2008 LSI Corporation"
74 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
84 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
92 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
[all …]
/linux-6.8/arch/powerpc/perf/
Disa207-common.c1 // SPDX-License-Identifier: GPL-2.0-or-later
9 #include "isa207-common.h"
11 PMU_FORMAT_ATTR(event, "config:0-49");
12 PMU_FORMAT_ATTR(pmcxsel, "config:0-7");
15 PMU_FORMAT_ATTR(unit, "config:12-15");
16 PMU_FORMAT_ATTR(pmc, "config:16-19");
17 PMU_FORMAT_ATTR(cache_sel, "config:20-23");
18 PMU_FORMAT_ATTR(sample_mode, "config:24-28");
19 PMU_FORMAT_ATTR(thresh_sel, "config:29-31");
20 PMU_FORMAT_ATTR(thresh_stop, "config:32-35");
[all …]
/linux-6.8/arch/x86/events/intel/
Dds.c1 // SPDX-License-Identifier: GPL-2.0
106 static void __init __intel_pmu_pebs_data_source_skl(bool pmem, u64 *data_source) in __intel_pmu_pebs_data_source_skl() argument
108 u64 pmem_or_l4 = pmem ? LEVEL(PMEM) : LEVEL(L4); in __intel_pmu_pebs_data_source_skl()
117 void __init intel_pmu_pebs_data_source_skl(bool pmem) in intel_pmu_pebs_data_source_skl() argument
119 __intel_pmu_pebs_data_source_skl(pmem, pebs_data_source); in intel_pmu_pebs_data_source_skl()
219 if (event->hw.flags & PERF_X86_EVENT_PEBS_ST_HSW) in precise_datala_hsw()
221 else if (event->hw.flags & PERF_X86_EVENT_PEBS_LD_HSW) in precise_datala_hsw()
232 if (event->hw.flags & PERF_X86_EVENT_PEBS_ST_HSW) { in precise_datala_hsw()
258 /* Retrieve the latency data for e-core of ADL */
264 WARN_ON_ONCE(hybrid_pmu(event->pmu)->pmu_type == hybrid_big); in __adl_latency_data_small()
[all …]
/linux-6.8/drivers/cxl/
Dacpi.c1 // SPDX-License-Identifier: GPL-2.0-only
27 * CXL Specification 3.0 Table 9-22
37 for (i = 0; i < cximsd->nr_maps; i++) in cxl_xor_calc_n()
38 n |= (hweight64(hpa & cximsd->xormaps[i]) & 1) << i; in cxl_xor_calc_n()
40 /* IW: 3,6,12 add a modulo calculation to 'n' */ in cxl_xor_calc_n()
43 return -1; in cxl_xor_calc_n()
52 struct cxl_cxims_data *cximsd = cxlrd->platform_data; in cxl_hb_xor()
53 struct cxl_switch_decoder *cxlsd = &cxlrd->cxlsd; in cxl_hb_xor()
54 struct cxl_decoder *cxld = &cxlsd->cxld; in cxl_hb_xor()
55 int ig = cxld->interleave_granularity; in cxl_hb_xor()
[all …]
/linux-6.8/tools/perf/pmu-events/arch/x86/sapphirerapids/
Dspr-metrics.json4 "MetricExpr": "cstate_core@c1\\-residency@ / TSC",
11 "MetricExpr": "cstate_pkg@c2\\-residency@ / TSC",
18 "MetricExpr": "cstate_core@c6\\-residency@ / TSC",
25 "MetricExpr": "cstate_pkg@c6\\-residency@ / TSC",
180 …iss (read memory access) addressed to Intel(R) Optane(TM) Persistent Memory(PMEM) in nano seconds",
234 …B/sec) caused by directory updates; includes DDR and Intel(R) Optane(TM) Persistent Memory(PMEM).",
258 …"BriefDescription": "Uops delivered from legacy decode pipeline (Micro-instruction Translation Eng…
270 … "BriefDescription": "Intel(R) Optane(TM) Persistent Memory(PMEM) memory read bandwidth (MB/sec)",
276 "BriefDescription": "Intel(R) Optane(TM) Persistent Memory(PMEM) memory bandwidth (MB/sec)",
282 … "BriefDescription": "Intel(R) Optane(TM) Persistent Memory(PMEM) memory write bandwidth (MB/sec)",
[all …]
/linux-6.8/tools/include/uapi/linux/
Dperf_event.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
5 * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de>
6 * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar
7 * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra
13 * For licencing details see kernel-base/COPYING
23 * User-space ABI bits:
37 PERF_TYPE_MAX, /* non-ABI */
75 PERF_COUNT_HW_MAX, /* non-ABI */
81 * { L1-D, L1-I, LLC, ITLB, DTLB, BPU, NODE } x
94 PERF_COUNT_HW_CACHE_MAX, /* non-ABI */
[all …]
/linux-6.8/include/uapi/linux/
Dperf_event.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
5 * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de>
6 * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar
7 * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra
13 * For licencing details see kernel-base/COPYING
23 * User-space ABI bits:
37 PERF_TYPE_MAX, /* non-ABI */
75 PERF_COUNT_HW_MAX, /* non-ABI */
81 * { L1-D, L1-I, LLC, ITLB, DTLB, BPU, NODE } x
94 PERF_COUNT_HW_CACHE_MAX, /* non-ABI */
[all …]

12