Home
last modified time | relevance | path

Searched +full:page +full:- +full:based (Results 1 – 25 of 1183) sorted by relevance

12345678910>>...48

/linux/include/drm/
H A Ddrm_vma_manager.h84 * drm_vma_offset_exact_lookup_locked() - Look up node by exact address
86 * @start: Start address (page-based, not byte-based)
87 * @pages: Size of object (page-based)
103 return (node && node->vm_node.start == start) ? node : NULL; in drm_vma_offset_exact_lookup_locked()
107 * drm_vma_offset_lock_lookup() - Lock lookup for extended private use
120 * Note: You're in atomic-context while holding this lock!
124 read_lock(&mgr->vm_lock); in drm_vma_offset_lock_lookup()
128 * drm_vma_offset_unlock_lookup() - Unlock lookup for extended private use
131 * Release lookup-lock. See drm_vma_offset_lock_lookup() for more information.
135 read_unlock(&mgr->vm_lock); in drm_vma_offset_unlock_lookup()
[all …]
/linux/Documentation/mm/
H A Dmultigen_lru.rst1 .. SPDX-License-Identifier: GPL-2.0
4 Multi-Gen LRU
6 The multi-gen LRU is an alternative LRU implementation that optimizes
7 page reclaim and improves performance under memory pressure. Page
14 ----------
20 * Simple self-correcting heuristics
23 implementations. In the multi-gen LRU, each generation represents a
25 (time-based) common frame of reference and therefore help make better
30 accessed bit. A rmap walk targets a single page and does not try to
31 profit from discovering a young PTE. A page table walk can sweep all
[all …]
H A Dpage_migration.rst2 Page migration
5 Page migration allows moving the physical location of pages between
13 The main intent of page migration is to reduce the latency of memory accesses
17 Page migration allows a process to manually relocate the node on which its
23 Page migration functions are provided by the numactl package by Andi Kleen
26 which provides an interface similar to other NUMA functionality for page
29 proc(5) man page.
35 manual page migration support. Automatic page migration may be implemented
38 For example, A NUMA profiler may obtain a log showing frequent off-node
52 Page migration allows the preservation of the relative location of pages
[all …]
/linux/tools/perf/pmu-events/arch/common/common/
H A Dsoftware.json4 "EventName": "cpu-clock",
5 "BriefDescription": "Per-CPU high-resolution timer based event",
7 "ScaleUnit": "1e-6msec"
11 "EventName": "task-clock",
12 "BriefDescription": "Per-task high-resolution timer based event",
14 "ScaleUnit": "1e-6msec"
19 "BriefDescription": "Number of page faults [This event is an alias of page-faults]",
24 "EventName": "page-faults",
25 "BriefDescription": "Number of page faults [This event is an alias of faults]",
30 "EventName": "context-switches",
[all …]
/linux/Documentation/driver-api/
H A Dmtdnand.rst10 The generic NAND driver supports almost all NAND and AG-AND based chips
31 --------------------------
37 - [MTD Interface]
43 - [NAND Interface]
48 - [GENERIC]
53 - [DEFAULT]
65 -------------------------------
71 - [INTERN]
77 - [REPLACEABLE]
86 - [BOARDSPECIFIC]
[all …]
/linux/include/xen/arm/
H A Dpage.h1 /* SPDX-License-Identifier: GPL-2.0 */
5 #include <asm/page.h>
9 #include <linux/dma-mapping.h>
22 /* Xen pseudo-physical address */
33 * The pseudo-physical frame (pfn) used in all the helpers is always based
34 * on Xen page granularity (i.e 4KB).
36 * A Linux page may be split across multiple non-contiguous Xen page so we
37 * have to keep track with frame based on 4KB page granularity.
46 /* Pseudo-physical <-> Guest conversion */
57 /* Pseudo-physical <-> BUS conversion */
[all …]
/linux/mm/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
30 compress them into a dynamically allocated RAM-based memory pool.
69 available at the following LWN page:
143 int "Maximum number of physical pages per-zspage"
148 that a zmalloc page (zspage) can consist of. The optimal zspage
223 specifically-sized allocations with user-controlled contents
227 user-controlled allocations. This may very slightly increase
229 of extra pages since the bulk of user-controlled allocations
230 are relatively long-lived.
245 Try running: slabinfo -DA
[all …]
H A Dgup_test.c1 // SPDX-License-Identifier: GPL-2.0
13 struct page **longterm_pages;
17 static void put_back_pages(unsigned int cmd, struct page **pages, in put_back_pages()
46 static void verify_dma_pinned(unsigned int cmd, struct page **pages, in verify_dma_pinned()
60 "pages[%lu] is NOT dma-pinned\n", i)) { in verify_dma_pinned()
62 dump_page(&folio->page, "gup_test failure"); in verify_dma_pinned()
68 dump_page(&folio->page, "gup_test failure"); in verify_dma_pinned()
76 static void dump_pages_test(struct gup_test *gup, struct page **pages, in dump_pages_test()
83 * Zero out any user-supplied page index that is out of range. Remember: in dump_pages_test()
84 * .which_pages[] contains a 1-based set of page indices. in dump_pages_test()
[all …]
/linux/include/linux/
H A Dbvec.h1 /* SPDX-License-Identifier: GPL-2.0 */
17 struct page;
20 * struct bio_vec - a contiguous range of physical memory addresses
21 * @bv_page: First page associated with the address range.
29 struct page *bv_page;
35 * bvec_set_page - initialize a bvec based off a struct page
37 * @page: page the bvec should point to
39 * @offset: offset into the page
41 static inline void bvec_set_page(struct bio_vec *bv, struct page *page, in bvec_set_page() argument
44 bv->bv_page = page; in bvec_set_page()
[all …]
/linux/drivers/clocksource/
H A Dhyperv_timer.c1 // SPDX-License-Identifier: GPL-2.0
5 * provided by the Hyper-V hypervisor to guest VMs, as described
6 * in the Hyper-V Top Level Functional Spec (TLFS). This driver
34 static int stimer0_irq = -1;
42 ce->event_handler(ce); in hv_stimer0_isr()
47 * per-cpu interrupts
98 * hv_stimer_init - Per-cpu initialization of the clockevent
108 ce->name = "Hyper-V clockevent"; in hv_stimer_init()
109 ce->features = CLOCK_EVT_FEAT_ONESHOT; in hv_stimer_init()
110 ce->cpumask = cpumask_of(cpu); in hv_stimer_init()
[all …]
/linux/arch/loongarch/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0
227 bool "32-bit kernel"
229 Select this option if you want to build a 32-bit kernel.
232 bool "64-bit kernel"
234 Select this option if you want to build a 64-bit kernel.
241 prompt "32-bit kernel sub-type"
244 bool "32-bit kernel for LA32R"
246 Select this option if you want to build a 32-bit kernel for
250 bool "32-bit kernel for LA32S"
252 Select this option if you want to build a 32-bit kernel for
[all …]
/linux/drivers/net/can/ctucanfd/
H A DKconfig2 tristate "CTU CAN-FD IP core" if COMPILE_TEST
4 This driver adds support for the CTU CAN FD open-source IP core.
5 More documentation and core sources at project page
8 is available (https://gitlab.fel.cvut.cz/canbus/zynq/zynq-can-sja1000-top).
9 Implementation on Intel FPGA-based PCI Express board is available
10 from project (https://gitlab.fel.cvut.cz/canbus/pcie-ctucanfd) and
11 on Intel SoC from project (https://gitlab.fel.cvut.cz/canbus/intel-soc-ctucanfd).
12 Guidepost CTU FEE CAN bus projects page https://canbus.pages.fel.cvut.cz/ .
15 tristate "CTU CAN-FD IP core PCI/PCIe driver"
19 This driver adds PCI/PCIe support for CTU CAN-FD IP core.
[all …]
/linux/arch/arm64/include/asm/
H A Dpage.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Based on arch/arm/include/asm/page.h
5 * Copyright (C) 1995-2003 Russell King
11 #include <asm/page-def.h>
17 #include <asm/pgtable-types.h>
19 struct page;
25 void copy_user_highpage(struct page *to, struct page *from,
29 void copy_highpage(struct page *to, struct page *from);
36 bool tag_clear_highpages(struct page *to, int numpages, bool clear_pages);
41 typedef struct page *pgtable_t;
[all …]
/linux/drivers/gpu/drm/
H A Ddrm_vma_manager.c1 // SPDX-License-Identifier: GPL-2.0 OR MIT
3 * Copyright (c) 2006-2009 VMware, Inc., Palo Alto, CA., USA
40 * The vma-manager is responsible to map arbitrary driver-dependent memory
41 * regions into the linear user address-space. It provides offsets to the
42 * caller which can then be used on the address_space of the drm-device. It
44 * confuse mm-core by inconsistent fake vm_pgoff fields.
46 * only be used to manage mappings into linear user-space VMs.
49 * optimized for alloc/free calls, not lookups. Hence, we use an rb-tree to
53 * Otherwise, mm-core will be unable to tear down memory mappings as the VM will
56 * This offset manager works on page-based addresses. That is, every argument
[all …]
/linux/Documentation/driver-api/cxl/allocation/
H A Dreclaim.rst1 .. SPDX-License-Identifier: GPL-2.0
8 becomes pressured based on global and cgroup-local `watermark` settings.
21 next demotion node. The next demotion node is based on the :code:`HMAT`
25 --------------------------
32 originally instantiated by another cgroup (such as common libraries - e.g.
40 are typically cold, the result is a cold page becomes promoted - only to
43 In Linux v6.XX, ZSwap tries to prefer the node of the page being compressed
44 as the allocation target for the compression page. This helps prevent
H A Dpage-allocator.rst1 .. SPDX-License-Identifier: GPL-2.0
4 The Page Allocator
7 The kernel page allocator services all general page allocation requests, such
8 as :code:`kmalloc`. CXL configuration steps affect the behavior of the page
9 allocator based on the selected `Memory Zone` and `NUMA node` the capacity is
12 This section mostly focuses on how these configurations affect the page
13 allocator (as of Linux v6.15) rather than the overall page allocator behavior.
22 with the CXL memory being non-local. Technically, however, it is possible
31 As of v6.15, the page allocator attempts to allocate from the highest
39 To simplify this, the page allocator will prefer :code:`ZONE_MOVABLE` over
[all …]
/linux/drivers/mtd/nand/raw/
H A Dnand_bbt.c1 // SPDX-License-Identifier: GPL-2.0-only
11 * depending on the options in the BBT descriptor(s). If no flash based BBT
16 * If a flash based BBT is specified then the function first tries to find the
18 * based BBT is created. If a mirrored BBT is selected then the mirror is
20 * version number, then the mirror BBT is used to build the memory based BBT.
26 * For manufacturer created BBTs like the one found on M-SYS DOC devices
52 * - bbts start at a page boundary, if autolocated on a block boundary
53 * - the space necessary for a bbt in FLASH does not exceed a block boundary
78 uint8_t entry = chip->bbt[block >> BBT_ENTRY_SHIFT]; in bbt_get_entry()
87 chip->bbt[block >> BBT_ENTRY_SHIFT] |= msk; in bbt_mark_entry()
[all …]
/linux/drivers/gpu/drm/msm/
H A Dmsm_iommu.c1 // SPDX-License-Identifier: GPL-2.0-only
7 #include <linux/adreno-smmu-priv.h>
8 #include <linux/io-pgtable.h>
12 #include <asm/dma-iommu.h>
29 struct page *prr_page;
42 unsigned long pgsize_bitmap; /* Bitmap of page sizes in use */
46 /** @root_page_table: Stores the root page table pointer. */
54 /* based on iommu_pgsize() in iommu.c: */
64 /* Page sizes supported by the hardware and small enough for @size */ in calc_pgsize()
65 pgsizes = pagetable->pgsize_bitmap & GENMASK(__fls(size), 0); in calc_pgsize()
[all …]
/linux/Documentation/arch/x86/
H A Dintel_txt.rst6 Technology (Intel(R) TXT), defines platform-level enhancements that
13 - Provides dynamic root of trust for measurement (DRTM)
14 - Data protection in case of improper shutdown
15 - Measurement and verification of launched environment
18 non-vPro systems. It is currently available on desktop systems
19 based on the Q35, X38, Q45, and Q43 Express chipsets (e.g. Dell
20 Optiplex 755, HP dc7800, etc.) and mobile systems based on the GM45,
30 - LinuxTAG 2008:
31 http://www.linuxtag.org/2008/en/conf/events/vp-donnerstag.html
33 - TRUST2008:
[all …]
/linux/drivers/staging/fbtft/
H A Dfb_sh1106.c1 // SPDX-License-Identifier: GPL-2.0+
4 * Based on the SSD1306 driver by Noralf Tronnes
20 /* Init sequence based on the Adafruit SSD1306 Arduino library */
23 if (!par->info->var.xres || par->info->var.xres > WIDTH || in init_display()
24 !par->info->var.yres || par->info->var.yres > HEIGHT || in init_display()
25 par->info->var.yres % 8) { in init_display()
26 dev_err(par->info->device, "Invalid screen size\n"); in init_display()
27 return -EINVAL; in init_display()
30 if (par->info->var.rotate) { in init_display()
31 dev_err(par->info->device, "Display rotation not supported\n"); in init_display()
[all …]
/linux/arch/arm64/mm/
H A Dcopypage.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Based on arch/arm/mm/copypage.c
12 #include <asm/page.h>
17 void copy_highpage(struct page *to, struct page *from) in copy_highpage()
43 * Don't assume the first page is head page since in copy_highpage()
44 * huge page copy may start from any subpage. in copy_highpage()
55 * Most of the time it's a new page that shouldn't have been in copy_highpage()
57 * same page without untagging it. Ignore the warning if the in copy_highpage()
58 * page is already tagged. in copy_highpage()
68 void copy_user_highpage(struct page *to, struct page *from, in copy_user_highpage()
/linux/virt/kvm/
H A Dpfncache.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Kernel-based Virtual Machine driver for Linux
5 * This module enables kernel and guest-mode vCPU access to guest physical
30 spin_lock(&kvm->gpc_lock); in gfn_to_pfn_cache_invalidate_start()
31 list_for_each_entry(gpc, &kvm->gpc_list, list) { in gfn_to_pfn_cache_invalidate_start()
32 read_lock_irq(&gpc->loc in gfn_to_pfn_cache_invalidate_start()
[all...]
/linux/include/linux/mtd/
H A Dbbm.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
4 * - Bad Block Table (BBT) implementation
9 * Copyright © 2000-2005
19 * struct nand_bbt_descr - bad block table descriptor
21 * @pages: the page(s) where we find the bbt, used with option BBT_ABSPAGE
24 * @offs: offset of the pattern in the oob area of the page
25 * @veroffs: offset of the bbt version counter in the oob are of the page
26 * @version: version read from the bbt page during scan
31 * @reserved_block_code: if non-0, this pattern denotes a reserved (rather than
63 /* The bbt is at the given page, else we must scan for the bbt */
[all …]
/linux/mm/kasan/
H A Dshadow.c1 // SPDX-License-Identifier: GPL-2.0
4 * generic and software tag-based KASAN modes.
9 * Some code borrowed from https://github.com/xairy/kasan-prototype by
48 * these, so that non-instrumented files can safely consider them as builtins.
132 * Perform shadow offset calculation based on untagged address, as in kasan_poison()
146 __memset(shadow_start, value, shadow_end - shadow_start); in kasan_poison()
168 * Perform shadow offset calculation based on untagged address, as in kasan_unpoison()
220 nr_shadow_pages = mem_data->nr_pages >> KASAN_SHADOW_SCALE_SHIFT; in kasan_mem_notifier()
221 start_kaddr = (unsigned long)pfn_to_kaddr(mem_data->start_pfn); in kasan_mem_notifier()
226 if (WARN_ON(mem_data->nr_pages % KASAN_GRANULE_SIZE) || in kasan_mem_notifier()
[all …]
/linux/arch/x86/mm/
H A Dkaslr.c1 // SPDX-License-Identifier: GPL-2.0
10 * done on PGD & P4D/PUD page table levels to increase possible addresses.
14 * An additional low memory page is used to ensure each CPU can start with
18 * the available space for the regions based on different configuration
45 * earlier during boot). The list is ordered based on virtual addresses. This
67 * kernel. This starts out at (1<<MAX_PHYSMEM_BITS) - 1), but KASLR may reduce
75 return (region->size_tb << TB_SHIFT); in get_padding()
101 direct_map_physmem_end = ((1ULL << MAX_PHYSMEM_BITS) - 1); in kernel_randomize_memory()
105 kaslr_regions[0].size_tb = 1 << (MAX_PHYSMEM_BITS - TB_SHIFT); in kernel_randomize_memory()
117 * Adapt physical memory region size based on available memory, in kernel_randomize_memory()
[all …]

12345678910>>...48