/freebsd/sys/dev/drm2/ttm/ |
H A D | ttm_page_alloc.c | 36 * - Pool collects resently freed pages for reuse 38 * - doesn't track currently in use pages 55 * struct ttm_page_pool - Pool to reuse recently allocated uc/wc pages. 61 * @list: Pool of free uc/wc pages for fast reuse. 63 * @npages: Number of pages in pool. 96 * @free_interval: minimum number of jiffies between freeing pages from pool. 99 * some pages to free. 100 * @small_allocation: Limit in number of pages what is small allocation. 228 /* Convert kb to number of pages */ 271 static int set_pages_array_wb(vm_page_t *pages, int addrinarray) in set_pages_array_wb() argument [all …]
|
H A D | ttm_page_alloc_dma.c | 29 * - Pool collects resently freed pages for reuse (and hooks up to 31 * - Tracks currently in use pages 82 * for each 'struct device'. The 'cached' is for pages that are actively used. 89 * @inuse_list: Pool of pages that are in use. The order is very important and 90 * it is in the order that the TTM pages that are put back are in. 91 * @free_list: Pool of pages that are free to be used. No order requirements. 94 * @npages_free: Count of available pages for re-use. 95 * @npages_in_use: Count of pages that are in use. 218 /* Convert kb to number of pages */ in ttm_pool_store() 272 static int set_pages_array_wb(struct page **pages, int addrinarray) in set_pages_array_wb() argument [all …]
|
/freebsd/sys/contrib/edk2/Include/Library/ |
H A D | MemoryAllocationLib.h | 18 Allocates one or more 4KB pages of type EfiBootServicesData. 20 Allocates the number of 4KB pages of type EfiBootServicesData and returns a pointer to the 21 allocated buffer. The buffer returned is aligned on a 4KB boundary. If Pages is 0, then NULL 25 @param Pages The number of 4 KB pages to allocate. 33 IN UINTN Pages 37 Allocates one or more 4KB pages of type EfiRuntimeServicesData. 39 Allocates the number of 4KB pages of type EfiRuntimeServicesData and returns a pointer to the 40 allocated buffer. The buffer returned is aligned on a 4KB boundary. If Pages is 0, then NULL 44 @param Pages The number of 4 KB pages to allocate. 52 IN UINTN Pages [all …]
|
/freebsd/sys/vm/ |
H A D | vm_radix.h | 77 vm_radix_iter_insert(struct pctrie_iter *pages, vm_page_t page) in vm_radix_iter_insert() argument 79 return (VM_RADIX_PCTRIE_ITER_INSERT(pages, page)); in vm_radix_iter_insert() 128 vm_radix_iter_init(struct pctrie_iter *pages, struct vm_radix *rtree) in vm_radix_iter_init() argument 130 pctrie_iter_init(pages, &rtree->rt_trie); in vm_radix_iter_init() 137 vm_radix_iter_limit_init(struct pctrie_iter *pages, struct vm_radix *rtree, in vm_radix_iter_limit_init() argument 140 pctrie_iter_limit_init(pages, &rtree->rt_trie, limit); in vm_radix_iter_limit_init() 150 vm_radix_iter_lookup(struct pctrie_iter *pages, vm_pindex_t index) in vm_radix_iter_lookup() argument 152 return (VM_RADIX_PCTRIE_ITER_LOOKUP(pages, index)); in vm_radix_iter_lookup() 162 vm_radix_iter_stride(struct pctrie_iter *pages, int stride) in vm_radix_iter_stride() argument 164 return (VM_RADIX_PCTRIE_ITER_STRIDE(pages, stride)); in vm_radix_iter_stride() [all …]
|
H A D | vm_meter.c | 108 CTLFLAG_RW, &vm_cnt.v_free_min, 0, "Minimum low-free-pages threshold"); 110 CTLFLAG_RW, &vm_cnt.v_free_target, 0, "Desired free pages"); 112 CTLFLAG_RW, &vm_cnt.v_free_reserved, 0, "Pages reserved for deadlock"); 114 CTLFLAG_RW, &vm_cnt.v_inactive_target, 0, "Pages desired inactive"); 116 CTLFLAG_RW, &vm_cnt.v_pageout_free_min, 0, "Min pages reserved for kernel"); 337 VM_STATS_VM(v_zfod, "Pages zero-filled on demand"); 338 VM_STATS_VM(v_ozfod, "Optimized zero fill pages"); 341 VM_STATS_VM(v_swappgsin, "Swap pages swapped in"); 342 VM_STATS_VM(v_swappgsout, "Swap pages swapped out"); 345 VM_STATS_VM(v_vnodepgsin, "Vnode pages paged in"); [all …]
|
H A D | vm_pagequeue.h | 103 * inactive pages and aging active pages. To decide how many pages to process, 104 * it uses thresholds derived from the number of pages in the domain: 133 * |-> vmd_pageout_free_min (32 + 2 pages) 135 * |-> vmd_interrupt_free_min (2 pages) 145 * response outputs the number of pages to attempt to reclaim. The shortage's 148 * dynamically to the system's demand for free pages, resulting in less 159 * daemon thread aggressively scans active pages so long as the following 166 * per-page access history. Unreferenced pages in the active queue thus 169 * The per-domain laundry thread periodically launders dirty pages based on the 170 * number of clean pages freed by the page daemon since the last laundering. If [all …]
|
H A D | vm_glue.c | 361 * for holes induced by guard pages. in vm_thread_kstack_import_quantum() 371 * a multiple of kernel stack pages + guard pages in size. 374 * is divisible by the total number of kstack VA pages. This is necessary to 389 ("%s: Size %jd is not a multiple of kstack pages (%d)", __func__, in vm_thread_kstack_arena_import() 410 * be a multiple of kernel stack pages + guard pages in size. 419 ("%s: Size %jd is not a multiple of kstack pages (%d)", __func__, in vm_thread_kstack_arena_release() 443 vm_thread_stack_create(struct domainset *ds, int pages) in vm_thread_stack_create() argument 452 obj = vm_thread_kstack_size_to_obj(pages); in vm_thread_stack_create() 460 ks = vm_thread_alloc_kstack_kva(ptoa(pages + KSTACK_GUARD_PAGES), in vm_thread_stack_create() 467 * Allocate physical pages to back the stack. in vm_thread_stack_create() [all …]
|
/freebsd/lib/libusbhid/ |
H A D | usage.c | 53 } *pages; variable 63 printf("%d\t%s\n", pages[i].usage, pages[i].name); in dump_hid_table() 64 for (j = 0; j < pages[i].pagesize; j++) { in dump_hid_table() 65 printf("\t%d\t%s\n", pages[i].page_contents[j].usage, in dump_hid_table() 66 pages[i].page_contents[j].name); in dump_hid_table() 126 if (pages == NULL) { in hid_init() 128 pages = malloc(npagesmax * in hid_init() 132 pages = realloc(pages, in hid_init() 136 if (!pages) in hid_init() 139 curpage = &pages[npages++]; in hid_init() [all …]
|
/freebsd/share/man/man9/ |
H A D | VOP_GETPAGES.9 | 36 .Nd read or write VM pages from a file 60 method is called to read in pages of virtual memory which are backed by 62 If other adjacent pages are backed by adjacent regions of the same file, 64 is requested to read those pages as well, although it is not required to 69 pages of virtual memory. 80 Pointer to the first element of an array of pages representing a 87 The number of bytes that should be written from the pages of the array. 96 is set, the pages are to be invalidated after being written. 100 to the filesystem that pages should be marked for fast reuse if needed. 103 which puts such pages onto the head of the inactive queue. [all …]
|
H A D | vm_page_alloc.9 | 122 family of functions allocate one or more pages of physical memory. 137 additionally insert the pages starting at index 146 support NUMA-aware allocation by returning pages from the 169 multiple pages at successive indices within an object. 177 pages which satisfies the specified constraints. 190 parameter is non-zero, the pages constituting the run will not cross a 197 then mappings of the returned pages created by, e.g., 214 flags specify the behavior of the allocator if free pages could not be 232 sufficient free pages become available. 250 If the number of available free pages is below a certain watermark, the [all …]
|
H A D | buf.9 | 39 block sizes from DEV_BSIZE (usually 512) to upwards of several pages or more. 47 (struct buf) is that the underlying pages are mapped directly from the buffer 58 valid and dirty bits (m->valid, m->dirty) for pages in DEV_BSIZE chunks. 82 A VM buffer is capable of mapping the underlying VM cache pages into KVM in 96 such as file system devices to remap underlying pages in order to deal with, 102 to clear the dirty bit on the underlying pages the moment it queues the I/O 106 you wind up with pages marked clean that are actually still dirty. 108 treated carefully, these pages could be thrown away! 111 The kernel uses an instantiated VM buffer (i.e., struct buf) to place-mark pages 117 the underlying pages bein [all...] |
/freebsd/sys/sys/ |
H A D | vmmeter.h | 50 uint64_t t_free; /* free memory pages */ 92 counter_u64_t v_zfod; /* (p) pages zero filled on demand */ 93 counter_u64_t v_ozfod; /* (p) optimized zero fill pages */ 96 counter_u64_t v_swappgsin; /* (p) swap pager pages paged in */ 97 counter_u64_t v_swappgsout; /* (p) swap pager pages paged out */ 100 counter_u64_t v_vnodepgsin; /* (p) vnode_pager pages paged in */ 101 counter_u64_t v_vnodepgsout; /* (p) vnode pager pages paged out */ 105 counter_u64_t v_pdpages; /* (p) pages analyzed by daemon */ 108 counter_u64_t v_dfree; /* (p) pages freed by daemon */ 109 counter_u64_t v_pfree; /* (p) pages freed by processes */ [all …]
|
/freebsd/tools/test/stress2/misc/ |
H A D | stealer.sh | 54 pages=`sysctl hw.usermem | sed 's/.*: //'` 55 pages=$((pages / hw)) 56 echo "`date '+%T'` Test with $pages pages." 57 su $testuser -c "sh -c \"/tmp/stealer $pages\"" & 89 stealer(int pages) 95 size = pages * page; 97 err(1, "malloc(%d pages)", pages); 113 int i, j, n, pages, status; 115 pages = atoi(argv[1]); 116 n = pages / N; [all …]
|
/freebsd/usr.bin/man/ |
H A D | man.1 | 33 .Nd display online manual documentation pages 51 utility finds and displays online manual documentation pages. 95 Search full text of all manual pages for an extended regular 128 Display all manual pages instead of just the first found for each 136 Search names of all manual pages for an extended regular 143 Search names and descriptions of all manual pages for an extended regular 149 other platform specific manual pages. 159 Force use of non-localized manual pages. 194 allowing transformation of the manual pages to other formats. 203 utility supports manual pages in different locales. [all …]
|
/freebsd/lib/libsys/ |
H A D | mlock.2 | 34 .Nd lock (unlock) physical pages in memory 47 locks into memory the physical pages associated with the virtual address 55 system call unlocks pages previously locked by one or more 69 system call, the indicated pages will cause neither a non-resident page 73 The physical pages remain in memory until all locked mappings for the pages 75 Multiple processes may have the same physical pages locked via their own 77 A single process may likewise have pages multiply-locked via different virtual 78 mappings of the same physical pages. 95 .Dq wired pages 111 If the call succeeds, all pages in the range become locked (unlocked); [all …]
|
H A D | mmap.2 | 43 system call causes the pages starting at 104 Pages may not be accessed. 106 Pages may be read. 108 Pages may be written. 110 Pages may be executed. 156 pages. 165 the physical address of existing pages of a file may require a specific 204 pages in the range from 234 Typically this prevents the update daemons from flushing pages dirtied 238 this option any VM pages you dirty may be flushed to disk every so often [all …]
|
H A D | madvise.2 | 61 Is a hint that pages will be accessed randomly, and prefetching 65 pages immediately preceding a given page when it is faulted in. 67 Causes pages that are in a given virtual address range 71 the pages that are already in memory will be immediately mapped into 73 the entire process of faulting the pages in. 75 pages in from backing store, but quickly map the pages already in memory 79 of pages in the specified address range. 83 Gives the VM system the freedom to free pages, 88 to free pages anywhere in the address space, while keeping the address space 101 file system update daemon from gratuitously writing pages dirtied [all …]
|
/freebsd/share/doc/papers/malloc/ |
H A D | performance.ms | 43 only the pages that are actually used need to be in primary storage 47 of reference and thus only need some fraction of their pages to actually 60 For now we can simply say that it is the number of pages the process 64 of course, but most systems would be better off using the pages for 67 If the number of pages is too small, the process will wait for its 68 pages to be read from secondary storage much of the time, if it's too 71 From the view of any single process, this number of pages is 72 "all of my pages", but from the point of view of the OS it should 82 Minimize the number of pages accessed. 86 If the number of accessed pages is smaller, then locality of reference is [all …]
|
H A D | implementation.ms | 30 mark such pages as "untouchable". 47 describe the free space as runs of free pages. 49 Notice that these structures are not part of the free pages themselves, 50 but rather allocated with malloc so that the free pages themselves 55 The free list will be searched and the first run of free pages that 62 If there were no pages on the free list, brk(2) will be called, and 63 the pages will get added to the page-directory with status 67 Freeing a number of pages is done by changing their state in the 68 page directory to MALLOC_FREE, and then traversing the free-pages list to 69 find the right place for this run of pages, possibly collapsing [all …]
|
/freebsd/sys/contrib/openzfs/module/os/freebsd/spl/ |
H A D | spl_uio.c | 145 ASSERT3P(uio->uio_dio.pages, !=, NULL); in zfs_uio_set_pages_to_stable() 149 vm_page_t page = uio->uio_dio.pages[i]; in zfs_uio_set_pages_to_stable() 161 ASSERT3P(uio->uio_dio.pages, !=, NULL); in zfs_uio_release_stable_pages() 163 vm_page_t page = uio->uio_dio.pages[i]; in zfs_uio_release_stable_pages() 171 * If the operation is marked as read, then we are stating the pages will be 176 zfs_uio_rw_t rw, vm_page_t *pages) in zfs_uio_hold_pages() argument 186 count = vm_fault_quick_hold_pages(map, start, len, prot, pages, in zfs_uio_hold_pages() 196 ASSERT3P(uio->uio_dio.pages, !=, NULL); in zfs_uio_free_dio_pages() 202 vm_page_unhold_pages(&uio->uio_dio.pages[0], in zfs_uio_free_dio_pages() 205 kmem_free(uio->uio_dio.pages, in zfs_uio_free_dio_pages() [all …]
|
/freebsd/contrib/mandoc/ |
H A D | dba.c | 45 struct dba_array *pages; member 71 dba->pages = dba_array_new(npages, DBA_GROW); in dba_new() 93 dba_array_free(entry->pages); in dba_free() 101 dba_array_undel(dba->pages); in dba_free() 102 dba_array_FOREACH(dba->pages, page) { in dba_free() 110 dba_array_free(dba->pages); in dba_free() 119 * - The pages table. 134 dba_pages_write(dba->pages); in dba_write() 152 /*** functions for handling pages *************************************/ 155 * Create a new page and append it to the pages table. [all …]
|
H A D | dbm.c | 46 int32_t pages; member 68 static struct page *pages; variable 82 * Map the pages and macros[] arrays. 95 warnx("dbm_open(%s): Invalid number of pages: %d", in dbm_open() 99 pages = (struct page *)dbm_getint(5); in dbm_open() 134 /*** functions for handling pages *************************************/ 152 res.name = dbm_get(pages[ip].name); in dbm_page_get() 155 res.sect = dbm_get(pages[ip].sect); in dbm_page_get() 158 res.arch = pages[ip].arch ? dbm_get(pages[ip].arch) : NULL; in dbm_page_get() 159 res.desc = dbm_get(pages[ip].desc); in dbm_page_get() [all …]
|
/freebsd/share/doc/papers/newvm/ |
H A D | a.t | 33 Mapping pages 36 by allowing pages to be mapped into memory. These mapped 37 pages may be \fIshared\fP with other processes or \fIprivate\fP 43 #define PROT_READ 0x04 /* pages can be read */ 44 #define PROT_WRITE 0x02 /* pages can be written */ 45 #define PROT_EXEC 0x01 /* pages can be executed */ 80 causes the pages starting at \fIaddr\fP and continuing 94 of the mapped pages. 125 writes any modified pages back to the filesystem and updates 127 If \fIlen\fP is 0, all modified pages within the region containing \fIaddr\fP [all …]
|
/freebsd/share/doc/psd/05.sysman/ |
H A D | 1.2.t | 57 Mapping pages 60 by allowing pages to be mapped into memory. These mapped 61 pages may be \fIshared\fP with other processes or \fIprivate\fP 67 #define PROT_READ 0x04 /* pages can be read */ 68 #define PROT_WRITE 0x02 /* pages can be written */ 69 #define PROT_EXEC 0x01 /* pages can be executed */ 105 causes the pages starting at \fIaddr\fP and continuing 119 of the mapped pages. 158 writes any modified pages back to the filesystem and updates 160 If \fIlen\fP is 0, all modified pages within the region containing \fIaddr\fP [all …]
|
/freebsd/sys/contrib/openzfs/tests/zfs-tests/tests/functional/vdev_disk/ |
H A D | page_alignment.c | 118 size_t pages[16][2]; member 144 "512B blocks, 8K across 2x4K pages", 150 "512B blocks, 4K across two pages, 2K start offset", 156 "512B blocks, 16K across 5x4K pages, 512B start offset", 165 "512B blocks, 64K data, 8x8K compound pages", 177 "512B blocks, 64K data, 9x8K compound pages, 512B start offset", 190 "512B blocks, 64K data, 2x16K compound pages, 8x4K pages", 204 "512B blocks, 64K data, mixed 4K/8K/16K pages", 218 "512B blocks, 64K data, mixed 4K/8K/16K pages, 1K start offset", 240 "4K blocks, 8K across 2x4K pages", [all …]
|