/linux/tools/testing/selftests/memory-hotplug/ |
H A D | mem-on-off-test.sh | 25 if ! ls $SYSFS/devices/system/memory/memory* > /dev/null 2>&1; then 30 if ! grep -q 1 $SYSFS/devices/system/memory/memory*/removable; then 43 for memory in $SYSFS/devices/system/memory/memory*; do 63 grep -q online $SYSFS/devices/system/memory/memory$1/state 68 grep -q offline $SYSFS/devices/system/memory/memory$1/state 73 echo online > $SYSFS/devices/system/memory/memory$1/state 78 echo offline > $SYSFS/devices/system/memory/memory$1/state 83 local memory=$1 97 local memory=$1 111 local memory=$1 [all …]
|
/linux/Documentation/devicetree/bindings/memory-controllers/fsl/ |
H A D | fsl,ddr.yaml | 7 title: Freescale DDR memory controller 27 - fsl,bsc9132-memory-controller 28 - fsl,mpc8536-memory-controller 29 - fsl,mpc8540-memory-controller 30 - fsl,mpc8541-memory-controller 39 - fsl,p1020-memory-controller 40 - fsl,p1021-memory-controller 41 - fsl,p2020-memory-controller 42 - fsl,qoriq-memory-controller 65 memory-controller@2000 { [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/core/ |
H A D | memory.c | 39 kfree(memory->tags); in nvkm_memory_tags_put() 40 memory->tags = NULL; in nvkm_memory_tags_put() 103 memory->func = func; in nvkm_memory_ctor() 110 struct nvkm_memory *memory = container_of(kref, typeof(*memory), kref); in nvkm_memory_del() local 112 if (memory->func->dtor) in nvkm_memory_del() 113 memory = memory->func->dtor(memory); in nvkm_memory_del() 114 kfree(memory); in nvkm_memory_del() 122 if (memory) { in nvkm_memory_unref() 131 if (memory) in nvkm_memory_ref() 133 return memory; in nvkm_memory_ref() [all …]
|
H A D | firmware.c | 116 nvkm_firmware_mem_sgl(struct nvkm_memory *memory) in nvkm_firmware_mem_sgl() argument 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 157 nvkm_firmware_mem_addr(struct nvkm_memory *memory) in nvkm_firmware_mem_addr() argument 160 return nvkm_firmware_mem(memory)->phys; in nvkm_firmware_mem_addr() 164 nvkm_firmware_mem_page(struct nvkm_memory *memory) in nvkm_firmware_mem_page() argument 179 nvkm_firmware_mem_dtor(struct nvkm_memory *memory) in nvkm_firmware_mem_dtor() argument 197 struct nvkm_memory *memory = &fw->mem.memory; in nvkm_firmware_dtor() local 207 nvkm_memory_unref(&memory); in nvkm_firmware_dtor() [all …]
|
/linux/Documentation/admin-guide/mm/ |
H A D | memory-hotplug.rst | 21 downgrading the memory capacity. This dynamic memory resizing, sometimes 67 phase, the memory is visible in memory statistics, such as free and total 140 make use of that memory: the memory block has to be "online". 143 the memory block: the memory block has to be "offlined". 149 memory. 202 memory blocks only. 212 memory blocks; if onlining fails, memory blocks are removed again. 325 however, a memory block might span memory holes. A memory block spanning memory 368 that memory provided by a memory block is managed by 443 memory. [all …]
|
H A D | numaperf.rst | 13 A system supports such heterogeneous memory by grouping each memory type 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:: 31 CPUs or separate memory I/O devices that can initiate memory requests. 42 memory targets. 54 A memory initiator may have multiple memory targets in the same access 97 memory activity. 104 slower performing memory cached by a smaller higher performing memory. The 110 The term "far memory" is used to denote the last level memory in the 118 level memory, so the higher numbered cache level corresponds to memory [all …]
|
H A D | concepts.rst | 5 The memory management in Linux is a complex system that evolved over the 21 the amount of memory that can be installed. The physical memory is not 30 The virtual memory abstracts the details of physical memory from the 35 With virtual memory, each and every memory access uses a virtual 39 memory controller can understand. 67 The address translation requires several memory accesses and memory 103 memory exceeds the maximal addressable size of virtual memory and 143 The `anonymous memory` or `anonymous mappings` represent memory that 160 memory allocated by user space processes etc. 167 reclaimable pages are page cache and anonymous memory. [all …]
|
/linux/Documentation/arch/arm64/ |
H A D | kdump.rst | 2 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 28 Low memory and high memory 31 For kdump reservations, low memory is the memory area under a specific 37 whole system RAM is low memory. Outside of the low memory described 38 above, the rest of system RAM is considered high memory. 63 sufficient for the low memory needs of the kdump kernel. 74 to be allocated from the high memory and low memory respectively. On 80 low memory reservation will be done subsequently. [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
H A D | mem.c | 31 struct nvkm_memory memory; member 45 return nvkm_mem(memory)->target; in nvkm_mem_target() 49 nvkm_mem_page(struct nvkm_memory *memory) in nvkm_mem_page() argument 75 .memory = &mem->memory, in nvkm_mem_map_dma() 115 .memory = &mem->memory, in nvkm_mem_map_sgl() 170 *pmemory = &mem->memory; in nvkm_mem_new_host() 227 struct nvkm_memory *memory = NULL; in nvkm_mem_new_type() local 232 argv, argc, &memory); in nvkm_mem_new_type() 235 argv, argc, &memory); in nvkm_mem_new_type() 239 nvkm_memory_unref(&memory); in nvkm_mem_new_type() [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-devices-memory | 1 What: /sys/devices/system/memory 9 Users: hotplug memory add/remove tools 12 What: /sys/devices/system/memory/memoryX/removable 20 Users: hotplug memory remove tools 40 memory section directory name. 66 Users: hotplug memory remove tools 77 For online memory blocks, it returns in which zone memory 80 and the memory block cannot be offlined. 82 For offline memory blocks, it returns by which zone memory 87 memory block. [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/ |
H A D | base.c | 34 struct nvkm_memory *memory = &iobj->memory; in nvkm_instobj_load() local 39 if (!(map = nvkm_kmap(memory))) { in nvkm_instobj_load() 45 nvkm_done(memory); in nvkm_instobj_load() 54 struct nvkm_memory *memory = &iobj->memory; in nvkm_instobj_save() local 63 if (!(map = nvkm_kmap(memory))) { in nvkm_instobj_save() 69 nvkm_done(memory); in nvkm_instobj_save() 126 zero, nvkm_memory_addr(memory), nvkm_memory_size(memory)); in nvkm_instobj_new() 136 nvkm_done(memory); in nvkm_instobj_new() 139 container_of(memory, struct nvkm_instobj, memory)->preserve = preserve; in nvkm_instobj_new() 142 nvkm_memory_unref(&memory); in nvkm_instobj_new() [all …]
|
H A D | nv50.c | 125 struct nvkm_memory *memory = &iobj->base.memory; in nv50_instobj_kmap() local 129 u64 size = nvkm_memory_size(memory); in nv50_instobj_kmap() 146 nvkm_memory_addr(&eobj->base.memory), in nv50_instobj_kmap() 147 nvkm_memory_size(&eobj->base.memory), in nv50_instobj_kmap() 187 memory = nv50_instobj(memory)->ram; in nv50_instobj_map() 211 iobj->base.memory.ptrs = NULL; in nv50_instobj_release() 286 nv50_instobj_size(struct nvkm_memory *memory) in nv50_instobj_size() argument 292 nv50_instobj_addr(struct nvkm_memory *memory) in nv50_instobj_addr() argument 306 nv50_instobj_release(&iobj->base.memory); in nv50_instobj_bar2() 365 *pmemory = &iobj->base.memory; in nv50_instobj_wrap() [all …]
|
/linux/Documentation/admin-guide/cgroup-v1/ |
H A D | memory.rst | 27 uses of the memory controller. The memory controller can be used to 69 memory.usage_in_bytes show current usage for memory 73 memory.limit_in_bytes set/show limit of memory usage 77 memory.max_usage_in_bytes show max memory usage recorded 86 memory.pressure_level set memory pressure notifications 247 memsw means memory+swap. Usage of memory+swap is limited by 405 # mount -t cgroup none /sys/fs/cgroup/memory -o memory 414 # echo 4M > /sys/fs/cgroup/memory/0/memory.limit_in_bytes 418 # cat /sys/fs/cgroup/memory/0/memory.limit_in_bytes 435 # cat /sys/fs/cgroup/memory/0/memory.usage_in_bytes [all …]
|
/linux/arch/arm64/boot/dts/ti/ |
H A D | k3-am68-sk-som.dtsi | 12 memory@80000000 { 13 device_type = "memory"; 19 reserved_memory: reserved-memory { 35 mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 { 47 mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 { 101 c71_0_dma_memory_region: c71-dma-memory@a6000000 { 107 c71_0_memory_region: c71-memory@a6100000 { 113 c71_1_dma_memory_region: c71-dma-memory@a7000000 { 119 c71_1_memory_region: c71-memory@a7100000 { 250 memory-region = <&c71_0_dma_memory_region>, [all …]
|
/linux/Documentation/mm/ |
H A D | memory-model.rst | 17 memory models it supports, what the default memory model is and 36 memory. 46 memory to the page allocator. 65 as hot-plug and hot-remove of the physical memory, alternative memory 67 the memory map for larger systems. 98 all the memory sections. 101 initialize the memory sections and the memory maps. 135 allocate memory map on the persistent memory device. 156 subject to its memory ranges being exposed through the sysfs memory 170 events related to device-memory, typically GPU memory. See [all …]
|
H A D | hmm.rst | 6 memory like GPU on board memory) into regular kernel path, with the cornerstone 34 driver and regular application memory (private anonymous, shared memory, or 60 various memory copies. 77 buses only allow basic memory access from device to main memory; even cache 85 memory and cannot perform atomic operations on it. Thus device memory cannot 100 access any memory but we must also permit any memory to be migrated to device 128 memory for the device memory and second to perform migration. Policy decisions 316 system memory and device private memory. 433 back from device memory to regular memory cannot fail because it would 435 get more experience in how device memory is used and its impact on memory [all …]
|
H A D | numa.rst | 12 or more CPUs, local memory, and/or IO buses. For brevity and to 32 cell containing the target memory. For example, access to memory by CPUs 39 memory bandwidth. However, to achieve scalable memory bandwidth, system and 41 [cache misses] to be to "local" memory--memory on the same cell, if any--or 42 to the closest cell with memory. 50 CPUs, memory and/or IO buses. And, again, memory accesses to memory on 70 For each node with memory, Linux constructs an independent memory management 110 allocation behavior using Linux NUMA memory policy. [see 125 does contain memory overflows. 130 a subsystem allocates per CPU memory resources, for example. [all …]
|
/linux/Documentation/core-api/ |
H A D | memory-hotplug.rst | 17 to allocate from the new memory. 24 allocate pages from the new memory. 28 longer possible from the memory but some of the memory to be offlined 30 subsystem from the indicated memory block. 34 the memory block that we attempted to offline. 37 Generated after offlining memory is complete. 63 - start_pfn is start_pfn of online/offline memory. 89 When adding/removing memory that uses memory block devices (i.e. ordinary RAM), 94 space once memory has been fully added. And when removing memory, we 100 memory faster than expected: [all …]
|
/linux/drivers/staging/octeon/ |
H A D | ethernet-mem.c | 49 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() 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() 101 *((char **)fpa - 1) = memory; in cvm_oct_fill_hw_memory() 116 char *memory; in cvm_oct_free_hw_memory() local 124 memory = *((char **)fpa - 1); in cvm_oct_free_hw_memory() [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ |
H A D | ram.c | 32 struct nvkm_memory memory; member 41 return nvkm_instobj_wrap(nvkm_vram(memory)->ram->fb->subdev.device, memory, pmemory); in nvkm_vram_kmap() 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 65 nvkm_vram_addr(struct nvkm_memory *memory) in nvkm_vram_addr() argument 74 nvkm_vram_page(struct nvkm_memory *memory) in nvkm_vram_page() argument 76 return nvkm_vram(memory)->page; in nvkm_vram_page() 86 nvkm_vram_dtor(struct nvkm_memory *memory) in nvkm_vram_dtor() argument 136 *pmemory = &vram->memory; in nvkm_ram_wrap() [all …]
|
/linux/fs/btrfs/tests/ |
H A D | extent-io-tests.c | 727 if (!memory) { in test_eb_mem_ops() 745 memcpy(memory, memory + 16, 16); in test_eb_mem_ops() 751 memcpy(memory, memory + 2048, 16); in test_eb_mem_ops() 756 memcpy(memory, memory + 2048, 2048); in test_eb_mem_ops() 762 memmove(memory + 512, memory + 256, 512); in test_eb_mem_ops() 768 memmove(memory + 2048, memory + 512, 2048); in test_eb_mem_ops() 773 memmove(memory + 512, memory + 2048, 2048); in test_eb_mem_ops() 780 memcpy(memory, memory + 4096 - 128, 256); in test_eb_mem_ops() 786 memcpy(memory + 4096 - 128, memory + 4096 + 128, 256); in test_eb_mem_ops() 792 memmove(memory + 4096 - 128, memory + 4096 - 64, 256); in test_eb_mem_ops() [all …]
|
/linux/Documentation/userspace-api/media/v4l/ |
H A D | dev-mem2mem.rst | 9 A V4L2 memory-to-memory device can compress, decompress, transform, or 10 otherwise convert video data from one format into another format, in memory. 11 Such memory-to-memory devices set the ``V4L2_CAP_VIDEO_M2M`` or 12 ``V4L2_CAP_VIDEO_M2M_MPLANE`` capability. Examples of memory-to-memory 16 A memory-to-memory video node acts just like a normal video node, but it 17 supports both output (sending frames from memory to the hardware) 19 memory) stream I/O. An application will have to setup the stream I/O for 23 Memory-to-memory devices function as a shared resource: you can 32 One of the most common memory-to-memory device is the codec. Codecs 35 See :ref:`codec-controls`. More details on how to use codec memory-to-memory
|
/linux/Documentation/arch/powerpc/ |
H A D | firmware-assisted-dump.rst | 50 low memory regions (boot memory) from source to destination area. 54 The term 'boot memory' means size of the low memory chunk 56 booted with restricted memory. By default, the boot memory 68 - After the low memory (boot memory) area has been saved, the 78 boot memory size effectively booting with restricted memory 90 memory back to general use, except the memory required for 134 memory is held. 151 kernel memory and most of the user space memory except the user pages 156 Low memory Top of memory 185 Low memory Top of memory [all …]
|
/linux/Documentation/devicetree/bindings/memory-controllers/ |
H A D | nvidia,tegra210-emc.yaml | 15 sent from the memory controller. 26 - description: external memory clock 36 memory-region: 39 phandle to a reserved memory region describing the table of EMC 42 nvidia,memory-controller: 45 phandle of the memory controller node 52 - nvidia,memory-controller 61 reserved-memory { 72 external-memory-controller@7001b000 { 80 memory-region = <&emc_table>; [all …]
|
/linux/tools/testing/memblock/tests/ |
H A D | basic_api.c | 18 ASSERT_EQ(memblock.memory.cnt, 1); 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() 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() 121 rgn1 = &memblock.memory.regions[0]; in memblock_add_disjoint_check() 122 rgn2 = &memblock.memory.regions[1]; in memblock_add_disjoint_check() 145 ASSERT_EQ(memblock.memory.cnt, 2); in memblock_add_disjoint_check() 175 rgn = &memblock.memory.regions[0]; in memblock_add_overlap_top_check() 197 ASSERT_EQ(memblock.memory.cnt, 1); in memblock_add_overlap_top_check() [all …]
|