Home
last modified time | relevance | path

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

12345678910>>...116

/linux-6.6.21/tools/testing/selftests/memory-hotplug/
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-6.6.21/Documentation/devicetree/bindings/memory-controllers/fsl/
Dfsl,ddr.yaml4 $id: http://devicetree.org/schemas/memory-controllers/fsl/fsl,ddr.yaml#
7 title: Freescale DDR memory controller
15 pattern: "^memory-controller@[0-9a-f]+$"
21 - fsl,qoriq-memory-controller-v4.4
22 - fsl,qoriq-memory-controller-v4.5
23 - fsl,qoriq-memory-controller-v4.7
24 - fsl,qoriq-memory-controller-v5.0
25 - const: fsl,qoriq-memory-controller
27 - fsl,bsc9132-memory-controller
28 - fsl,mpc8536-memory-controller
[all …]
/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/core/
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 …]
Dfirmware.c114 #define nvkm_firmware_mem(p) container_of((p), struct nvkm_firmware, mem.memory)
117 nvkm_firmware_mem_map(struct nvkm_memory *memory, u64 offset, struct nvkm_vmm *vmm, in nvkm_firmware_mem_map() argument
120 struct nvkm_firmware *fw = nvkm_firmware_mem(memory); in nvkm_firmware_mem_map()
122 .memory = &fw->mem.memory, in nvkm_firmware_mem_map()
134 nvkm_firmware_mem_size(struct nvkm_memory *memory) in nvkm_firmware_mem_size() argument
136 return sg_dma_len(&nvkm_firmware_mem(memory)->mem.sgl); in nvkm_firmware_mem_size()
140 nvkm_firmware_mem_addr(struct nvkm_memory *memory) in nvkm_firmware_mem_addr() argument
142 return nvkm_firmware_mem(memory)->phys; in nvkm_firmware_mem_addr()
146 nvkm_firmware_mem_page(struct nvkm_memory *memory) in nvkm_firmware_mem_page() argument
152 nvkm_firmware_mem_target(struct nvkm_memory *memory) in nvkm_firmware_mem_target() argument
[all …]
/linux-6.6.21/Documentation/admin-guide/mm/
Dmemory-hotplug.rst5 This document describes generic Linux support for memory hot(un)plug with
14 memory available to a machine at runtime. In the simplest case, it consists of
20 - The physical memory available to a machine can be adjusted at runtime, up- or
21 downgrading the memory capacity. This dynamic memory resizing, sometimes
26 example is replacing failing memory modules.
28 - Reducing energy consumption either by physically unplugging memory modules or
29 by logically unplugging (parts of) memory modules from Linux.
31 Further, the basic memory hot(un)plug infrastructure in Linux is nowadays also
32 used to expose persistent memory, other performance-differentiated memory and
33 reserved memory regions as ordinary system RAM to Linux.
[all …]
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 …]
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-6.6.21/Documentation/arch/arm64/
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-6.6.21/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/
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 …]
/linux-6.6.21/Documentation/ABI/testing/
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-6.6.21/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/
Dnv50.c43 #define nv50_instobj(p) container_of((p), struct nv50_instobj, base.memory)
56 nv50_instobj_wr32_slow(struct nvkm_memory *memory, u64 offset, u32 data) in nv50_instobj_wr32_slow() argument
58 struct nv50_instobj *iobj = nv50_instobj(memory); in nv50_instobj_wr32_slow()
75 nv50_instobj_rd32_slow(struct nvkm_memory *memory, u64 offset) in nv50_instobj_rd32_slow() argument
77 struct nv50_instobj *iobj = nv50_instobj(memory); in nv50_instobj_rd32_slow()
102 nv50_instobj_wr32(struct nvkm_memory *memory, u64 offset, u32 data) in nv50_instobj_wr32() argument
104 iowrite32_native(data, nv50_instobj(memory)->map + offset); in nv50_instobj_wr32()
108 nv50_instobj_rd32(struct nvkm_memory *memory, u64 offset) in nv50_instobj_rd32() argument
110 return ioread32_native(nv50_instobj(memory)->map + offset); in nv50_instobj_rd32()
124 struct nvkm_memory *memory = &iobj->base.memory; in nv50_instobj_kmap() local
[all …]
Dbase.c34 struct nvkm_memory *memory = &iobj->memory; in nvkm_instobj_load() local
35 const u64 size = nvkm_memory_size(memory); in nvkm_instobj_load()
39 if (!(map = nvkm_kmap(memory))) { in nvkm_instobj_load()
41 nvkm_wo32(memory, i, iobj->suspend[i / 4]); in nvkm_instobj_load()
45 nvkm_done(memory); in nvkm_instobj_load()
54 struct nvkm_memory *memory = &iobj->memory; in nvkm_instobj_save() local
55 const u64 size = nvkm_memory_size(memory); in nvkm_instobj_save()
63 if (!(map = nvkm_kmap(memory))) { in nvkm_instobj_save()
65 iobj->suspend[i / 4] = nvkm_ro32(memory, i); in nvkm_instobj_save()
69 nvkm_done(memory); in nvkm_instobj_save()
[all …]
Dgk20a.c52 struct nvkm_memory memory; member
59 #define gk20a_instobj(p) container_of((p), struct gk20a_instobj, 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.memory); in gk20a_instobj_iommu_recycle_vaddr()
174 gk20a_instobj_acquire_dma(struct nvkm_memory *memory) in gk20a_instobj_acquire_dma() argument
[all …]
Dnv04.c37 #define nv04_instobj(p) container_of((p), struct nv04_instobj, base.memory)
46 nv04_instobj_wr32(struct nvkm_memory *memory, u64 offset, u32 data) in nv04_instobj_wr32() argument
48 struct nv04_instobj *iobj = nv04_instobj(memory); in nv04_instobj_wr32()
54 nv04_instobj_rd32(struct nvkm_memory *memory, u64 offset) in nv04_instobj_rd32() argument
56 struct nv04_instobj *iobj = nv04_instobj(memory); in nv04_instobj_rd32()
68 nv04_instobj_release(struct nvkm_memory *memory) in nv04_instobj_release() argument
73 nv04_instobj_acquire(struct nvkm_memory *memory) in nv04_instobj_acquire() argument
75 struct nv04_instobj *iobj = nv04_instobj(memory); in nv04_instobj_acquire()
81 nv04_instobj_size(struct nvkm_memory *memory) in nv04_instobj_size() argument
83 return nv04_instobj(memory)->node->length; in nv04_instobj_size()
[all …]
/linux-6.6.21/Documentation/admin-guide/cgroup-v1/
Dmemory.rst13 memory controller in this document. Do not confuse memory controller
14 used here with the memory controller that is used in hardware.
17 When we mention a cgroup (cgroupfs's directory) with memory controller,
18 we call it "memory cgroup". When you see git-log and source code, you'll
22 Benefits and Purpose of the memory controller
25 The memory controller isolates the memory behaviour of a group of tasks
27 uses of the memory controller. The memory controller can be used to
31 amount of memory.
32 b. Create a cgroup with a limited amount of memory; this can be used
34 c. Virtualization solutions can control the amount of memory they want
[all …]
/linux-6.6.21/Documentation/mm/
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 …]
Dhmm.rst5 Provide infrastructure and helpers to integrate non-conventional memory (device
6 memory like GPU on board memory) into regular kernel path, with the cornerstone
7 of this being specialized struct page for such memory (see sections 5 to 7 of
18 related to using device specific memory allocators. In the second section, I
22 fifth section deals with how device memory is represented inside the kernel.
28 Problems of using a device specific memory allocator
31 Devices with a large amount of on board memory (several gigabytes) like GPUs
32 have historically managed their memory through dedicated driver specific APIs.
33 This creates a disconnect between memory allocated and managed by a device
34 driver and regular application memory (private anonymous, shared memory, or
[all …]
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-6.6.21/Documentation/core-api/
Dmemory-hotplug.rst12 There are six types of notification defined in ``include/linux/memory.h``:
15 Generated before new memory becomes available in order to be able to
16 prepare subsystems to handle memory. The page allocator is still unable
17 to allocate from the new memory.
23 Generated when memory has successfully brought online. The callback may
24 allocate pages from the new memory.
27 Generated to begin the process of offlining memory. Allocations are no
28 longer possible from the memory but some of the memory to be offlined
29 is still in use. The callback can be used to free memory known to a
30 subsystem from the indicated memory block.
[all …]
/linux-6.6.21/drivers/staging/octeon/
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-6.6.21/drivers/gpu/drm/nouveau/nvkm/subdev/fb/
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-6.6.21/fs/btrfs/tests/
Dextent-io-tests.c651 static void dump_eb_and_memory_contents(struct extent_buffer *eb, void *memory, in dump_eb_and_memory_contents() argument
658 if (memcmp(addr, memory + i, 1) != 0) { in dump_eb_and_memory_contents()
661 i, *(u8 *)addr, *(u8 *)(memory + i)); in dump_eb_and_memory_contents()
667 static int verify_eb_and_memory(struct extent_buffer *eb, void *memory, in verify_eb_and_memory() argument
673 if (memcmp(memory + (i << PAGE_SHIFT), eb_addr, PAGE_SIZE) != 0) { in verify_eb_and_memory()
674 dump_eb_and_memory_contents(eb, memory, test_name); in verify_eb_and_memory()
685 static void init_eb_and_memory(struct extent_buffer *eb, void *memory) in init_eb_and_memory() argument
687 get_random_bytes(memory, eb->len); in init_eb_and_memory()
688 write_extent_buffer(eb, memory, 0, eb->len); in init_eb_and_memory()
695 void *memory = NULL; in test_eb_mem_ops() local
[all …]
/linux-6.6.21/Documentation/userspace-api/media/v4l/
Ddev-mem2mem.rst9 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-6.6.21/Documentation/powerpc/
Dfirmware-assisted-dump.rst14 - Fadump uses the same firmware interfaces and memory reservation model
16 - Unlike phyp dump, FADump exports the memory dump through /proc/vmcore
21 - Unlike phyp dump, FADump allows user to release all the memory reserved
35 - Once the dump is copied out, the memory that held the dump
44 - The first kernel registers the sections of memory with the
46 These registered sections of memory are reserved by the first
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
58 Alternatively, user can also specify boot memory size
[all …]
/linux-6.6.21/Documentation/devicetree/bindings/memory-controllers/
Dnvidia,tegra210-emc.yaml4 $id: http://devicetree.org/schemas/memory-controllers/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 {
[all …]

12345678910>>...116