| /OK3568_Linux_fs/kernel/Documentation/admin-guide/mm/ |
| H A D | memory-hotplug.rst | 4 Memory Hotplug 10 This document is about memory hotplug including how-to-use and current status. 11 Because Memory Hotplug is still under development, contents of this text will 18 (1) x86_64's has special implementation for memory hotplug. 26 Purpose of memory hotplug 27 ------------------------- 29 Memory Hotplug allows users to increase/decrease the amount of memory. 32 (A) For changing the amount of memory. 33 This is to allow a feature like capacity on demand. 34 (B) For installing/removing DIMMs or NUMA-nodes physically. [all …]
|
| H A D | concepts.rst | 7 The memory management in Linux is a complex system that evolved over the 8 years and included more and more functionality to support a variety of 9 systems from MMU-less microcontrollers to supercomputers. The memory 14 address to a physical address. 18 Virtual Memory Primer 21 The physical memory in a computer system is a limited resource and 22 even for systems that support memory hotplug there is a hard limit on 23 the amount of memory that can be installed. The physical memory is not 29 All this makes dealing directly with physical memory quite complex and 30 to avoid this complexity a concept of virtual memory was developed. [all …]
|
| H A D | numaperf.rst | 7 Some platforms may have multiple types of memory attached to a compute 8 node. These disparate memory ranges may share some characteristics, such 12 A system supports such heterogeneous memory by grouping each memory type 14 characteristics. Some memory may share the same node as a CPU, and others 15 are provided as memory only nodes. While memory only nodes do not provide 16 CPUs, they may still be local to one or more compute nodes relative to 18 nodes with local memory and a memory only node for each of compute node:: 20 +------------------+ +------------------+ 21 | Compute Node 0 +-----+ Compute Node 1 | 23 +--------+---------+ +--------+---------+ [all …]
|
| H A D | numa_memory_policy.rst | 4 NUMA Memory Policy 7 What is NUMA Memory Policy? 10 In the Linux kernel, "memory policy" determines from which node the kernel will 11 allocate memory in a NUMA system or in an emulated NUMA system. Linux has 12 supported platforms with Non-Uniform Memory Access architectures since 2.4.?. 13 The current memory policy support was added to Linux 2.6 around May 2004. This 14 document attempts to describe the concepts and APIs of the 2.6 memory policy 17 Memory policies should not be confused with cpusets 18 (``Documentation/admin-guide/cgroup-v1/cpusets.rst``) 20 memory may be allocated by a set of processes. Memory policies are a [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/admin-guide/cgroup-v1/ |
| H A D | memory.rst | 2 Memory Resource Controller 8 here but make sure to check the current code if you need a deeper 12 The Memory Resource Controller has generically been referred to as the 13 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 19 see patch's title and function names tend to use "memcg". 22 Benefits and Purpose of the memory controller 25 The memory controller isolates the memory behaviour of a group of tasks [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/vm/ |
| H A D | hmm.rst | 4 Heterogeneous Memory Management (HMM) 7 Provide infrastructure and helpers to integrate non-conventional memory (device 8 memory like GPU on board memory) into regular kernel path, with the cornerstone 9 of this being specialized struct page for such memory (see sections 5 to 7 of 12 HMM also provides optional helpers for SVM (Share Virtual Memory), i.e., 13 allowing a device to transparently access program addresses coherently with 15 for the device. This is becoming mandatory to simplify the use of advanced 16 heterogeneous computing where GPU, DSP, or FPGA are used to perform various 20 related to using device specific memory allocators. In the second section, I 21 expose the hardware limitations that are inherent to many platforms. The third [all …]
|
| H A D | memory-model.rst | 1 .. SPDX-License-Identifier: GPL-2.0 6 Physical Memory Model 9 Physical memory in a system may be addressed in different ways. The 10 simplest case is when the physical memory starts at address 0 and 11 spans a contiguous range up to the maximal address. It could be, 15 different memory banks are attached to different CPUs. 17 Linux abstracts this diversity using one of the three memory models: 19 memory models it supports, what the default memory model is and 20 whether it is possible to manually override that default. 26 All the memory models track the status of physical page frames using [all …]
|
| H A D | numa.rst | 14 or more CPUs, local memory, and/or IO buses. For brevity and to 19 Each of the 'cells' may be viewed as an SMP [symmetric multi-processor] subset 20 of the system--although some components necessary for a stand-alone SMP system 22 connected together with some sort of system interconnect--e.g., a crossbar or 23 point-to-point link are common types of NUMA system interconnects. Both of 24 these types of interconnects can be aggregated to create NUMA platforms with 28 Coherent NUMA or ccNUMA systems. With ccNUMA systems, all memory is visible 29 to and accessible from any CPU attached to any cell and cache coherency 32 Memory access time and effective memory bandwidth varies depending on how far 33 away the cell containing the CPU or IO bus making the memory access is from the [all …]
|
| /OK3568_Linux_fs/kernel/mm/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 menu "Memory Management options" 10 prompt "Memory model" 16 This option allows you to change some of the ways that 17 Linux manages its memory internally. Most users will 22 bool "Flat Memory" 25 This option is best suited for non-NUMA systems with 31 spaces and for features like NUMA and memory hotplug, 32 choose "Sparse Memory". 34 If unsure, choose this option (Flat Memory) over any other. [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/powerpc/ |
| H A D | firmware-assisted-dump.rst | 2 Firmware-Assisted Dump 7 The goal of firmware-assisted dump is to enable the dump of 8 a crashed system, and to do so from a fully-reset system, and 9 to minimize the total elapsed time until the system is back 12 - Firmware-Assisted Dump (FADump) infrastructure is intended to replace 14 - Fadump uses the same firmware interfaces and memory reservation model 16 - Unlike phyp dump, FADump exports the memory dump through /proc/vmcore 19 - Unlike phyp dump, userspace tool does not need to refer any sysfs 21 - Unlike phyp dump, FADump allows user to release all the memory reserved 23 - Once enabled through kernel boot parameter, FADump can be [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/ |
| H A D | tee_drv.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (c) 2015-2016, Linaro Limited 19 * The file describes the API provided by the generic TEE driver to the 23 #define TEE_SHM_MAPPED BIT(0) /* Memory mapped by the kernel */ 24 #define TEE_SHM_DMA_BUF BIT(1) /* Memory with dma-buf handle */ 25 #define TEE_SHM_EXT_DMA_BUF BIT(2) /* Memory with dma-buf handle */ 26 #define TEE_SHM_REGISTER BIT(3) /* Memory registered in secure world */ 27 #define TEE_SHM_USER_MAPPED BIT(4) /* Memory mapped in user space */ 28 #define TEE_SHM_POOL BIT(5) /* Memory allocated from pool */ 29 #define TEE_SHM_KERNEL_MAPPED BIT(6) /* Memory mapped in kernel space */ [all …]
|
| H A D | memory_group_manager.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 4 * (C) COPYRIGHT 2019-2022 ARM Limited. All rights reserved. 6 * This program is free software and is provided to you under the terms of the 8 * Foundation, and any use by you of this program is subject to the terms 18 * http://www.gnu.org/licenses/gpl-2.0.html. 39 * struct memory_group_manager_ops - Callbacks for memory group manager 42 * @mgm_alloc_page: Callback to allocate physical memory in a group 43 * @mgm_free_page: Callback to free physical memory in a group 44 * @mgm_get_import_memory_id: Callback to get the group ID for imported memory 45 * @mgm_update_gpu_pte: Callback to modify a GPU page table entry [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/core-api/ |
| H A D | memory-hotplug.rst | 4 Memory hotplug 7 Memory hotplug event notifier 10 Hotplugging events are sent to a notification queue. 12 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 [all …]
|
| H A D | memory-allocation.rst | 4 Memory Allocation Guide 7 Linux provides a variety of APIs for memory allocation. You can 11 `alloc_pages`. It is also possible to use more specialized allocators, 14 Most of the memory allocation APIs use GFP flags to express how that 15 memory should be allocated. The GFP acronym stands for "get free 16 pages", the underlying memory allocation function. 19 makes the question "How should I allocate memory?" not that easy to 32 The GFP flags control the allocators behavior. They tell what memory 33 zones can be used, how hard the allocator should try to find free 34 memory, whether the memory can be accessed by the userspace etc. The [all …]
|
| /OK3568_Linux_fs/kernel/drivers/xen/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 bool "Xen memory balloon driver" 9 The balloon driver allows the Xen domain to request more memory from 10 the system to expand the domain's memory allocation, or alternatively 11 return unneeded memory to the system. 14 bool "Memory hotplug support for Xen balloon driver" 18 Memory hotplug support for Xen balloon driver allows expanding memory 23 It's also very useful for non PV domains to obtain unpopulated physical 24 memory ranges to use in order to map foreign memory or grants. 26 Memory could be hotplugged in following steps: [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/reserved-memory/ |
| H A D | reserved-memory.txt | 1 *** Reserved memory regions *** 3 Reserved memory is specified as a node under the /reserved-memory node. 4 The operating system shall exclude reserved memory from normal usage 6 normal use) memory regions. Such memory regions are usually designed for 9 Parameters for each memory region can be encoded into the device tree 12 /reserved-memory node 13 --------------------- 14 #address-cells, #size-cells (required) - standard definition 15 - Should use the same values as the root node 16 ranges (required) - standard definition [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/dev-tools/ |
| H A D | kasan.rst | 5 -------- 7 KernelAddressSANitizer (KASAN) is a dynamic memory safety error detector 8 designed to find out-of-bound and use-after-free bugs. KASAN has three modes: 10 1. generic KASAN (similar to userspace ASan), 11 2. software tag-based KASAN (similar to userspace HWASan), 12 3. hardware tag-based KASAN (based on hardware memory tagging). 14 Software KASAN modes (1 and 2) use compile-time instrumentation to insert 15 validity checks before every memory access, and therefore require a compiler 20 out-of-bounds accesses for global variables is only supported since Clang 11. 22 Tag-based KASAN is only supported in Clang. [all …]
|
| H A D | kmemleak.rst | 1 Kernel Memory Leak Detector 4 Kmemleak provides a way of detecting possible kernel memory leaks in a 5 way similar to a `tracing garbage collector 9 Valgrind tool (``memcheck --leak-check``) to detect the memory leaks in 10 user-space applications. 13 ----- 15 CONFIG_DEBUG_KMEMLEAK in "Kernel hacking" has to be enabled. A kernel 16 thread scans the memory every 10 minutes (by default) and prints the 20 # mount -t debugfs nodev /sys/kernel/debug/ 22 To display the details of all the possible scanned memory leaks:: [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/driver-api/ |
| H A D | ntb.rst | 5 NTB (Non-Transparent Bridge) is a type of PCI-Express bridge chip that connects 6 the separate memory systems of two or more computers to the same PCI-Express 8 registers and memory translation windows, as well as non common features like 9 scratchpad and message registers. Scratchpad registers are read-and-writable 13 special status bits to make sure the information isn't rewritten by another 14 peer. Doorbell registers provide a way for peers to send interrupt events. 15 Memory windows allow translated read and write access to the peer memory. 21 clients interested in NTB features to discover NTB the devices supported by 22 hardware drivers. The term "client" is used here to mean an upper layer 24 is used here to mean a driver for a specific vendor and model of NTB hardware. [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/ABI/testing/ |
| H A D | sysfs-devices-memory | 1 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 7 added or removed dynamically to represent hot-add/remove 9 Users: hotplug memory add/remove tools 10 http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils 12 What: /sys/devices/system/memory/memoryX/removable 16 The file /sys/devices/system/memory/memoryX/removable 17 indicates whether this memory block is removable or not. 18 This is useful for a user-level agent to determine [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/ |
| H A D | mali_kbase_mem_pool_group.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 4 * (C) COPYRIGHT 2019-2022 ARM Limited. All rights reserved. 6 * This program is free software and is provided to you under the terms of the 8 * Foundation, and any use by you of this program is subject to the terms 18 * http://www.gnu.org/licenses/gpl-2.0.html. 28 * kbase_mem_pool_group_select() - Select the memory pool to use. 31 * @mem_group_id: Physical memory group ID to use. 32 * @is_small_page: Flag used to select between the small and 33 * large memory pool. 35 * Return: A pointer to the selected memory pool. [all …]
|
| /OK3568_Linux_fs/kernel/arch/powerpc/kexec/ |
| H A D | file_load_64.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ppc64 code to implement the kexec_file_load syscall 12 * Based on kexec-tools' kexec-ppc64.c, kexec-elf-rel-ppc64.c, fs2dt.c. 27 #include <asm/crashdump-ppc64.h> 30 u64 *buf; /* data buffer for usable-memory property */ 35 /* usable memory ranges to look up */ 46 * get_exclude_memory_ranges - Get exclude memory ranges. This list includes 47 * regions like opal/rtas, tce-table, initrd, 50 * @mem_ranges: Range list to add the memory ranges to. 86 /* exclude memory ranges should be sorted for easy lookup */ in get_exclude_memory_ranges() [all …]
|
| /OK3568_Linux_fs/external/xserver/hw/xfree86/int10/ |
| H A D | INT10.HOWTO | 7 INT10 is a XFree86 module for soft-booting and executing real mode 13 To use the int10 module in a driver the header file 14 xfree86/os-support/int10/xf86int10.h must be included. 17 ----------------- 19 The int10-executer gets initialized by calling: 23 The function will soft-boot any non-primary device and return a 24 pointer to a xf86Int10InfoRec on success. If anything fails or if 27 calls to other int10 module functions. 29 b. Memory allocation 30 -------------------- [all …]
|
| /OK3568_Linux_fs/u-boot/include/optee_include/ |
| H A D | tee_client_api.h | 3 * hisping lin, <hisping.lin@rock-chips.com> 5 * SPDX-License-Identifier: GPL-2.0+ 12 * Defines the number of available memory references in an open session or 18 * Defines the maximum size of a single shared memory block, in bytes, of both 19 * API allocated and API registered memory. The size is currently set to 40 * describing a region of memory which needs to be 44 * TEEC_MEMREF_TEMP_OUTPUT Same as TEEC_MEMREF_TEMP_INPUT, but the Memory 46 * Implementation may update the size field to 50 * TEEC_MEMREF_TEMP_INOUT A Temporary Memory Reference tagged as both 55 * TEEC_MEMREF_WHOLE The Parameter is a Registered Memory Reference [all …]
|
| /OK3568_Linux_fs/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/share/doc/gdb/ |
| H A D | Memory-Region-Attributes.html | 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dt… 3 <!-- Copyright (C) 1988-2021 Free Software Foundation, Inc. 5 Permission is granted to copy, distribute and/or modify this document 9 Free Documentation", with the Front-Cover Texts being "A GNU Manual," 10 and with the Back-Cover Texts as in (a) below. 12 (a) The FSF's Back-Cover Text is: "You are free to copy and modify 14 developing GNU and promoting software freedom." --> 15 <!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> 17 <title>Debugging with GDB: Memory Region Attributes</title> 19 <meta name="description" content="Debugging with GDB: Memory Region Attributes"> [all …]
|