Home
last modified time | relevance | path

Searched refs:memory (Results 1 – 25 of 2605) sorted by relevance

12345678910>>...105

/linux/tools/testing/selftests/memory-hotplug/
H A Dmem-on-off-test.sh25 if ! ls $SYSFS/devices/system/memory/memory* > /dev/null 2>&1; then
26 echo $msg memory hotplug is not supported >&2
30 if ! grep -q 1 $SYSFS/devices/system/memory/memory*/removable; then
31 echo $msg no hot-pluggable memory >&2
43 for memory in $SYSFS/devices/system/memory/memory*; do
44 if grep -q 1 $memory/removable &&
45 grep -q $state $memory/state; then
46 echo ${memory##/*/memory}
63 grep -q online $SYSFS/devices/system/memory/memory$1/state
68 grep -q offline $SYSFS/devices/system/memory/memory$1/state
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/core/
H A Dmemory.c30 nvkm_memory_tags_put(struct nvkm_memory *memory, struct nvkm_device *device, in nvkm_memory_tags_put() argument
39 kfree(memory->tags); in nvkm_memory_tags_put()
40 memory->tags = NULL; in nvkm_memory_tags_put()
48 nvkm_memory_tags_get(struct nvkm_memory *memory, struct nvkm_device *device, in nvkm_memory_tags_get() argument
56 if ((tags = memory->tags)) { in nvkm_memory_tags_get()
94 *ptags = memory->tags = tags; in nvkm_memory_tags_get()
101 struct nvkm_memory *memory) in nvkm_memory_ctor() argument
103 memory->func = func; in nvkm_memory_ctor()
104 kref_init(&memory->kref); in nvkm_memory_ctor()
110 struct nvkm_memory *memory = container_of(kref, typeof(*memory), kref); in nvkm_memory_del() local
[all …]
H A Dfirmware.c113 #define nvkm_firmware_mem(p) container_of((p), struct nvkm_firmware, mem.memory)
116 nvkm_firmware_mem_sgl(struct nvkm_memory *memory) in nvkm_firmware_mem_sgl() argument
118 struct nvkm_firmware *fw = nvkm_firmware_mem(memory); in nvkm_firmware_mem_sgl()
132 nvkm_firmware_mem_map(struct nvkm_memory *memory, u64 offset, struct nvkm_vmm *vmm, in nvkm_firmware_mem_map() argument
135 struct nvkm_firmware *fw = nvkm_firmware_mem(memory); in nvkm_firmware_mem_map()
137 .memory = &fw->mem.memory, in nvkm_firmware_mem_map()
139 .sgl = nvkm_firmware_mem_sgl(memory), in nvkm_firmware_mem_map()
149 nvkm_firmware_mem_size(struct nvkm_memory *memory) in nvkm_firmware_mem_size() argument
151 struct scatterlist *sgl = nvkm_firmware_mem_sgl(memory); in nvkm_firmware_mem_size()
157 nvkm_firmware_mem_addr(struct nvkm_memory *memory) in nvkm_firmware_mem_addr() argument
[all …]
/linux/Documentation/arch/arm64/
H A Dkdump.rst2 crashkernel memory reservation on arm64
9 reserved memory is needed to pre-load the kdump kernel and boot such
12 That reserved memory for kdump is adapted to be able to minimally
19 Through the kernel parameters below, memory can be reserved accordingly
21 large chunk of memomy can be found. The low memory reservation needs to
22 be considered if the crashkernel is reserved from the high memory area.
28 Low memory and high memory
31 For kdump reservations, low memory is the memory area under a specific
34 vmcore dumping can be ignored. On arm64, the low memory upper bound is
37 whole system RAM is low memory. Outside of the low memory described
[all …]
/linux/arch/arm64/boot/dts/renesas/
H A Dr8a78000-ironhide.dts23 memory@60600000 {
24 device_type = "memory";
29 memory@1080000000 {
30 device_type = "memory";
34 memory@1200000000 {
35 device_type = "memory";
39 memory@1400000000 {
40 device_type = "memory";
44 memory@1600000000 {
45 device_type = "memory";
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/
H A Dmem.c22 #define nvkm_mem(p) container_of((p), struct nvkm_mem, memory)
31 struct nvkm_memory memory; member
43 nvkm_mem_target(struct nvkm_memory *memory) in nvkm_mem_target() argument
45 return nvkm_mem(memory)->target; in nvkm_mem_target()
49 nvkm_mem_page(struct nvkm_memory *memory) in nvkm_mem_page() argument
55 nvkm_mem_addr(struct nvkm_memory *memory) in nvkm_mem_addr() argument
57 struct nvkm_mem *mem = nvkm_mem(memory); in nvkm_mem_addr()
64 nvkm_mem_size(struct nvkm_memory *memory) in nvkm_mem_size() argument
66 return nvkm_mem(memory)->pages << PAGE_SHIFT; in nvkm_mem_size()
70 nvkm_mem_map_dma(struct nvkm_memory *memory, u64 offset, struct nvkm_vmm *vmm, in nvkm_mem_map_dma() argument
[all …]
H A Dumem.c38 struct nvkm_memory *memory = NULL; in nvkm_umem_search() local
48 memory = nvkm_memory_ref(umem->memory); in nvkm_umem_search()
56 memory = nvkm_memory_ref(umem->memory); in nvkm_umem_search()
59 return memory ? memory : ERR_PTR(-ENOENT); in nvkm_umem_search()
98 int ret = nvkm_mem_map_host(umem->memory, &umem->map); in nvkm_umem_map()
103 *length = nvkm_memory_size(umem->memory); in nvkm_umem_map()
109 int ret = mmu->func->mem.umap(mmu, umem->memory, argv, argc, in nvkm_umem_map()
130 nvkm_memory_unref(&umem->memory); in nvkm_umem_dtor()
178 &umem->memory); in nvkm_umem_new()
186 args->v0.page = nvkm_memory_page(umem->memory); in nvkm_umem_new()
[all …]
/linux/Documentation/ABI/testing/
H A Dsysfs-devices-memory1 What: /sys/devices/system/memory
5 The /sys/devices/system/memory contains a snapshot of the
6 internal state of the kernel memory blocks. Files could be
9 Users: hotplug memory add/remove tools
12 What: /sys/devices/system/memory/memoryX/removable
16 The file /sys/devices/system/memory/memoryX/removable is a
17 legacy interface used to indicated whether a memory block is
19 "1" if and only if the kernel supports memory offlining.
20 Users: hotplug memory remove tools
24 What: /sys/devices/system/memory/memoryX/phys_device
[all …]
/linux/Documentation/mm/
H A Dmemory-model.rst7 Physical memory in a system may be addressed in different ways. The
8 simplest case is when the physical memory starts at address 0 and
13 different memory banks are attached to different CPUs.
15 Linux abstracts this diversity using one of the two memory models:
17 memory models it supports, what the default memory model is and
20 All the memory models track the status of physical page frames using
23 Regardless of the selected memory model, there exists one-to-one
27 Each memory model defines :c:func:`pfn_to_page` and :c:func:`page_to_pfn`
34 The simplest memory model is FLATMEM. This model is suitable for
36 memory.
[all …]
H A Dnuma.rst12 or more CPUs, local memory, and/or IO buses. For brevity and to
26 Coherent NUMA or ccNUMA systems. With ccNUMA systems, all memory is visible
30 Memory access time and effective memory bandwidth varies depending on how far
31 away the cell containing the CPU or IO bus making the memory access is from the
32 cell containing the target memory. For example, access to memory by CPUs
34 bandwidths than accesses to memory on other, remote cells. NUMA platforms
39 memory bandwidth. However, to achieve scalable memory bandwidth, system and
40 application software must arrange for a large majority of the memory references
41 [cache misses] to be to "local" memory--memory on the same cell, if any--or
42 to the closest cell with memory.
[all …]
/linux/Documentation/admin-guide/mm/
H A Dnumaperf.rst8 Some platforms may have multiple types of memory attached to a compute
9 node. These disparate memory ranges may share some characteristics, such
13 A system supports such heterogeneous memory by grouping each memory type
15 characteristics. Some memory may share the same node as a CPU, and others
16 are provided as memory only nodes. While memory only nodes do not provide
19 nodes with local memory and a memory only node for each of compute node::
30 A "memory initiator" is a node containing one or more devices such as
31 CPUs or separate memory I/O devices that can initiate memory requests.
32 A "memory target" is a node containing one or more physical address
33 ranges accessible from one or more memory initiators.
[all …]
H A Dconcepts.rst5 The memory management in Linux is a complex system that evolved over the
7 systems from MMU-less microcontrollers to supercomputers. The memory
19 The physical memory in a computer system is a limited resource and
20 even for systems that support memory hotplug there is a hard limit on
21 the amount of memory that can be installed. The physical memory is not
27 All this makes dealing directly with physical memory quite complex and
28 to avoid this complexity a concept of virtual memory was developed.
30 The virtual memory abstracts the details of physical memory from the
32 physical memory (demand paging) and provides a mechanism for the
35 With virtual memory, each and every memory access uses a virtual
[all …]
/linux/Documentation/edac/
H A Dmemory_repair.rst20 Some memory devices support repair operations to address issues in their
21 memory media. Post Package Repair (PPR) and memory sparing are examples of
27 Post Package Repair is a maintenance operation which requests the memory
28 device to perform repair operation on its media. It is a memory self-healing
29 feature that fixes a failing memory location by replacing it with a spare row
32 For example, a CXL memory device with DRAM components that support PPR
42 The data may not be retained and memory requests may not be correctly
46 For example, for CXL memory devices, see CXL spec rev 3.1 [1]_ sections
53 Memory sparing is a repair function that replaces a portion of memory with
54 a portion of functional memory at a particular granularity. Memory
[all …]
H A Dscrub.rst19 Increasing DRAM size and cost have made memory subsystem reliability an
25 reads data from each memory media location, corrects if necessary and writes
26 the corrected data back to the same memory media location.
28 DIMMs can be scrubbed at a configurable rate to detect uncorrected memory
35 2. When detected, uncorrected errors caught in unallocated memory pages are
39 memory errors.
41 4. The additional data on failures in memory may be used to build up
42 statistics that are later used to decide whether to use memory repair
45 There are 2 types of memory scrubbing:
49 2. On-demand scrubbing for a specific address range or region of memory.
[all …]
/linux/drivers/staging/octeon/
H A Dethernet-mem.c49 char *memory; in cvm_oct_free_hw_skbuff() local
52 memory = cvmx_fpa_alloc(pool); in cvm_oct_free_hw_skbuff()
53 if (memory) { in cvm_oct_free_hw_skbuff()
55 *(struct sk_buff **)(memory - sizeof(void *)); in cvm_oct_free_hw_skbuff()
59 } while (memory); in cvm_oct_free_hw_skbuff()
79 char *memory; in cvm_oct_fill_hw_memory() local
94 memory = kmalloc(size + 256, GFP_ATOMIC); in cvm_oct_fill_hw_memory()
95 if (unlikely(!memory)) { in cvm_oct_fill_hw_memory()
100 fpa = (char *)(((unsigned long)memory + 256) & ~0x7fUL); in cvm_oct_fill_hw_memory()
101 *((char **)fpa - 1) = memory; in cvm_oct_fill_hw_memory()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/fb/
H A Dram.c24 #define nvkm_vram(p) container_of((p), struct nvkm_vram, memory)
32 struct nvkm_memory memory; member
39 nvkm_vram_kmap(struct nvkm_memory *memory, struct nvkm_memory **pmemory) in nvkm_vram_kmap() argument
41 return nvkm_instobj_wrap(nvkm_vram(memory)->ram->fb->subdev.device, memory, pmemory); in nvkm_vram_kmap()
45 nvkm_vram_map(struct nvkm_memory *memory, u64 offset, struct nvkm_vmm *vmm, in nvkm_vram_map() argument
48 struct nvkm_vram *vram = nvkm_vram(memory); in nvkm_vram_map()
50 .memory = &vram->memory, in nvkm_vram_map()
59 nvkm_vram_size(struct nvkm_memory *memory) in nvkm_vram_size() argument
61 return (u64)nvkm_mm_size(nvkm_vram(memory)->mn) << NVKM_RAM_MM_SHIFT; in nvkm_vram_size()
65 nvkm_vram_addr(struct nvkm_memory *memory) in nvkm_vram_addr() argument
[all …]
/linux/Documentation/userspace-api/media/v4l/
H A Ddev-mem2mem.rst10 A V4L2 memory-to-memory device can compress, decompress, transform, or
11 otherwise convert video data from one format into another format, in memory.
12 Such memory-to-memory devices set the ``V4L2_CAP_VIDEO_M2M`` or
13 ``V4L2_CAP_VIDEO_M2M_MPLANE`` capability. Examples of memory-to-memory
17 A memory-to-memory video node acts just like a normal video node, but it
18 supports both output (sending frames from memory to the hardware)
20 memory) stream I/O. An application will have to setup the stream I/O for
24 Memory-to-memory devices function as a shared resource: you can
33 One of the most common memory-to-memory device is the codec. Codecs
36 See :ref:`codec-controls`. More details on how to use codec memory-to-memory
/linux/Documentation/admin-guide/mm/damon/
H A Dreclaim.rst8 be used for proactive and lightweight reclamation under light memory pressure.
10 to be selectively used for different level of memory pressure and requirements.
15 On general memory over-committed systems, proactively reclaiming cold pages
16 helps saving memory and reducing latency spikes that incurred by the direct
20 Free Pages Reporting [3]_ based memory over-commit virtualization systems are
22 memory to host, and the host reallocates the reported memory to other guests.
23 As a result, the memory of the systems are fully utilized. However, the
24 guests could be not so memory-frugal, mainly because some kernel subsystems and
25 user-space applications are designed to use as much memory as available. Then,
26 guests could report only small amount of memory as free to host, results in
[all …]
/linux/tools/testing/memblock/tests/
H A Dbasic_api.c17 ASSERT_NE(memblock.memory.regions, NULL); in memblock_initialization_check()
18 ASSERT_EQ(memblock.memory.cnt, 0); in memblock_initialization_check()
19 ASSERT_EQ(memblock.memory.max, EXPECTED_MEMBLOCK_REGIONS); in memblock_initialization_check()
20 ASSERT_EQ(strcmp(memblock.memory.name, "memory"), 0); in memblock_initialization_check()
24 ASSERT_EQ(memblock.memory.max, EXPECTED_MEMBLOCK_REGIONS); in memblock_initialization_check()
45 rgn = &memblock.memory.regions[0]; in memblock_add_simple_check()
60 ASSERT_EQ(memblock.memory.cnt, 1); in memblock_add_simple_check()
61 ASSERT_EQ(memblock.memory.total_size, r.size); in memblock_add_simple_check()
78 rgn = &memblock.memory.regions[0]; in memblock_add_node_simple_check()
97 ASSERT_EQ(memblock.memory.cnt, 1); in memblock_add_node_simple_check()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/
H A Dgk20a.c59 #define gk20a_instobj(p) container_of((p), struct gk20a_instobj, base.memory)
116 gk20a_instobj_target(struct nvkm_memory *memory) in gk20a_instobj_target() argument
122 gk20a_instobj_page(struct nvkm_memory *memory) in gk20a_instobj_page() argument
128 gk20a_instobj_addr(struct nvkm_memory *memory) in gk20a_instobj_addr() argument
130 return (u64)gk20a_instobj(memory)->mn->offset << 12; in gk20a_instobj_addr()
134 gk20a_instobj_size(struct nvkm_memory *memory) in gk20a_instobj_size() argument
136 return (u64)gk20a_instobj(memory)->mn->length << 12; in gk20a_instobj_size()
151 imem->vaddr_use -= nvkm_memory_size(&obj->base.base.memory); in gk20a_instobj_iommu_recycle_vaddr()
174 gk20a_instobj_acquire_dma(struct nvkm_memory *memory) in gk20a_instobj_acquire_dma() argument
176 struct gk20a_instobj *node = gk20a_instobj(memory); in gk20a_instobj_acquire_dma()
[all …]
H A Dnv04.c38 #define nv04_instobj(p) container_of((p), struct nv04_instobj, base.memory)
47 nv04_instobj_wr32(struct nvkm_memory *memory, u64 offset, u32 data) in nv04_instobj_wr32() argument
49 struct nv04_instobj *iobj = nv04_instobj(memory); in nv04_instobj_wr32()
55 nv04_instobj_rd32(struct nvkm_memory *memory, u64 offset) in nv04_instobj_rd32() argument
57 struct nv04_instobj *iobj = nv04_instobj(memory); in nv04_instobj_rd32()
69 nv04_instobj_release(struct nvkm_memory *memory) in nv04_instobj_release() argument
74 nv04_instobj_acquire(struct nvkm_memory *memory) in nv04_instobj_acquire() argument
76 struct nv04_instobj *iobj = nv04_instobj(memory); in nv04_instobj_acquire()
82 nv04_instobj_size(struct nvkm_memory *memory) in nv04_instobj_size() argument
84 return nv04_instobj(memory)->node->length; in nv04_instobj_size()
[all …]
/linux/Documentation/driver-api/cxl/linux/
H A Ddax-driver.rst7 memory-like access mechanism to memory-like block-devices. It was
9 memory devices.
14 - Engage the memory-hotplug interface to add CXL memory to page allocator.
23 memory region exposed via dax device can be accessed via userland software
27 Users wishing to manually handle allocation of CXL memory should use this
33 memory blocks` managed by :code:`kernel/memory-hotplug.c`. This capacity
34 will be exposed to the kernel page allocator in the user-selected memory
39 for this memory will come from. If :code:`memmap_on_memory` is set, memory
40 hotplug will set aside a portion of the memory block capacity to allocate
41 folios. If unset, the memory is allocated via a normal :code:`GFP_KERNEL`
/linux/drivers/cxl/
H A DKconfig16 memory targets, the CXL.io protocol is equivalent to PCI Express.
26 The CXL specification defines a "CXL memory device" sub-class in the
27 PCI "memory controller" base class of devices. Device's identified by
29 memory to be mapped into the system address map (Host-managed Device
32 Say 'y/m' to enable a driver that will attach to CXL memory expander
33 devices enumerated by the memory device class code for configuration
53 potential impact to memory currently in use by the kernel.
66 Enable support for host managed device memory (HDM) resources
67 published by a platform's ACPI CXL memory layout description. See
82 In addition to typical memory resources a platform may also advertise
[all …]
/linux/drivers/dax/
H A DKconfig3 tristate "DAX: direct access to differentiated memory"
13 latency...) memory via an mmap(2) capable character
15 platform memory resource that is differentiated from the
16 baseline memory pool. Mappings of a /dev/daxX.Y device impose
20 tristate "PMEM DAX: direct access to persistent memory"
24 Support raw access to persistent memory. Note that this
25 driver consumes memory ranges allocated and exported by the
31 tristate "HMEM DAX: direct access to 'specific purpose' memory"
37 memory. For example, a high bandwidth memory pool. The
39 memory from typical usage by default. This driver creates
[all …]
/linux/Documentation/devicetree/bindings/reserved-memory/
H A Dxen,shared-memory.txt1 * Xen hypervisor reserved-memory binding
3 Expose one or more memory regions as reserved-memory to the guest
5 to be a shared memory area across multiple virtual machines for
8 For each of these pre-shared memory regions, a range is exposed under
9 the /reserved-memory node as a child node. Each range sub-node is named
13 compatible = "xen,shared-memory-v1"
16 the base guest physical address and size of the shared memory region
20 memory region used for the mapping in the borrower VM.
23 a string that identifies the shared memory region as specified in

12345678910>>...105