Back to home page

OSCL-LXR

 
 

    


 
  Name Size Date (UTC) Last indexed Description
  Name Size Date (UTC) Last indexed Description
folder Parent directory - 2025-03-06 09:18:41

Linux kernel
There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or ``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation.
Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.

folder damon/ - 2025-03-06 09:18:39  
folder kasan/ - 2025-03-06 09:18:39  
folder kfence/ - 2025-03-06 09:18:39  
backing-dev.c 25283 bytes 2025-03-06 09:18:39 2025-03-06 13:28:53  
balloon_compaction.c 8409 bytes 2025-03-06 09:18:39 2025-03-06 13:28:53  
bootmem_info.c 3471 bytes 2025-03-06 09:18:39 2025-03-06 13:28:53  
cma.c 15890 bytes 2025-03-06 09:18:39 2025-03-06 13:28:53  
cma.h 1424 bytes 2025-03-06 09:18:39 2025-03-06 13:28:53  
cma_debug.c 4651 bytes 2025-03-06 09:18:39 2025-03-06 13:28:53  
cma_sysfs.c 2478 bytes 2025-03-06 09:18:39 2025-03-06 13:28:53  
compaction.c 86070 bytes 2025-03-06 09:18:39 2025-03-06 13:28:53  
debug.c 6939 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54

mm/ mm/ specific debug routines.

debug_page_ref.c 1414 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54  
debug_vm_pgtable.c 39748 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54  
dmapool.c 13939 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54  
early_ioremap.c 6870 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54  
fadvise.c 5653 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54  
failslab.c 1469 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54  
filemap.c 113393 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54

This file handles the generic file mmap semantics used by most "normal" filesystems (but you don't /have/ to use this: the NFS filesystem used to do this differently, for example)

folio-compat.c 3397 bytes 2025-03-06 09:18:39 2025-03-06 13:28:54

Compatibility functions which bloat the callers too much to make inline. All of the callers of these functions should be converted to use folios eventually.

frontswap.c 8094 bytes 2025-03-06 09:18:39 2025-03-06 13:28:55  
gup.c 93646 bytes 2025-03-06 09:18:39 2025-03-06 13:28:55  
gup_test.c 5729 bytes 2025-03-06 09:18:39 2025-03-06 13:28:55  
gup_test.h 938 bytes 2025-03-06 09:18:39 2025-03-06 13:28:55  
highmem.c 20006 bytes 2025-03-06 09:18:39 2025-03-06 13:28:55  
hmm.c 17054 bytes 2025-03-06 09:18:39 2025-03-06 13:28:55

Refer to include/linux/hmm.h for information about heterogeneous memory management or HMM for short.

huge_memory.c 88229 bytes 2025-03-06 09:18:39 2025-03-06 13:28:56  
hugetlb.c 205979 bytes 2025-03-06 09:18:39 2025-03-06 13:28:57

Generic hugetlb support. (C) Nadia Yvette Chambers, April 2004

hugetlb_cgroup.c 25196 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58  
hugetlb_vmemmap.c 16159 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58  
hugetlb_vmemmap.h 1667 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58  
hwpoison-inject.c 2815 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58

Inject a hwpoison memory failure on a arbitrary pfn

init-mm.c 1681 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58  
internal.h 28215 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58 mm/ internal definitions
interval_tree.c 3213 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58 interval tree for mapping->i_mmap
io-mapping.c 993 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58  
ioremap.c 1429 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58  
Kconfig 35732 bytes 2025-03-06 09:18:39 -  
Kconfig.debug 7846 bytes 2025-03-06 09:18:39 -  
khugepaged.c 60569 bytes 2025-03-06 09:18:39 2025-03-06 13:28:58  
kmemleak.c 61383 bytes 2025-03-06 09:18:39 2025-03-06 13:28:59  
ksm.c 91309 bytes 2025-03-06 09:18:39 2025-03-06 13:28:59  
list_lru.c 14097 bytes 2025-03-06 09:18:39 2025-03-06 13:29:00  
maccess.c 5938 bytes 2025-03-06 09:18:39 2025-03-06 13:29:00

Access kernel or user memory without faulting.

madvise.c 38567 bytes 2025-03-06 09:18:39 2025-03-06 13:29:00  
Makefile 5046 bytes 2025-03-06 09:18:39 2025-03-06 13:29:00  
mapping_dirty_helpers.c 10801 bytes 2025-03-06 09:18:39 2025-03-06 13:29:00  
memblock.c 62540 bytes 2025-03-06 09:18:39 2025-03-06 13:29:00  
memcontrol.c 202527 bytes 2025-03-06 09:18:39 2025-03-06 13:29:01 Memory Controller
memfd.c 8424 bytes 2025-03-06 09:18:39 2025-03-06 13:29:01

reate system call and file sealing support Code was originally included in shmem.c, and broken out to facilitate use by hugetlbfs as well as tmpfs. This file is released under the GPL.

memory-failure.c 70093 bytes 2025-03-06 09:18:39 2025-03-06 13:29:01  
memory.c 162260 bytes 2025-03-06 09:18:39 2025-03-06 13:29:02

demand-loading started 01.12.91 - seems it is high on the list of things wanted, and it should be easy to implement. - Linus

memory_hotplug.c 65559 bytes 2025-03-06 09:18:39 2025-03-06 13:29:03  
mempolicy.c 79707 bytes 2025-03-06 09:18:39 2025-03-06 13:29:03

Notebook: fix mmap readahead to honour policy and enable policy for any page cache object statistics for bigpages

mempool.c 16197 bytes 2025-03-06 09:18:39 2025-03-06 13:29:03  
memremap.c 14716 bytes 2025-03-06 09:18:39 2025-03-06 13:29:03  
memtest.c 2851 bytes 2025-03-06 09:18:39 2025-03-06 13:29:03  
migrate.c 70034 bytes 2025-03-06 09:18:39 2025-03-06 13:29:03  
migrate_device.c 24128 bytes 2025-03-06 09:18:39 2025-03-06 13:29:03

Device Memory Migration functionality. Originally written by Jérôme Glisse.

mincore.c 7269 bytes 2025-03-06 09:18:39 2025-03-06 13:29:03

The mincore() system call.

mlock.c 19490 bytes 2025-03-06 09:18:39 2025-03-06 13:29:04  
mm_init.c 5389 bytes 2025-03-06 09:18:39 2025-03-06 13:29:04 Memory initialisation verification and debugging
mmap.c 102796 bytes 2025-03-06 09:18:39 2025-03-06 13:29:04

mm/ Written by obz. Address space accounting code <lxorguk.ukuu.org.uk">alan@lxorguk.ukuu.org.uk>

mmap_lock.c 6302 bytes 2025-03-06 09:18:39 2025-03-06 13:29:04  
mmu_gather.c 8963 bytes 2025-03-06 09:18:39 2025-03-06 13:29:04  
mmu_notifier.c 36125 bytes 2025-03-06 09:18:39 2025-03-06 13:29:05  
mmzone.c 2575 bytes 2025-03-06 09:18:39 2025-03-06 13:29:05

linux/mm/ management codes for pgdats, zones and page flags

mprotect.c 22812 bytes 2025-03-06 09:18:39 2025-03-06 13:29:05  
mremap.c 28785 bytes 2025-03-06 09:18:39 2025-03-06 13:29:05  
msync.c 2911 bytes 2025-03-06 09:18:39 2025-03-06 13:29:05

The msync() system call.

nommu.c 45460 bytes 2025-03-06 09:18:39 2025-03-06 13:29:05  
oom_kill.c 34267 bytes 2025-03-06 09:18:39 2025-03-06 13:29:05  
page-writeback.c 95226 bytes 2025-03-06 09:18:39 2025-03-06 13:29:05  
page_alloc.c 275493 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_counter.c 6884 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_ext.c 11436 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_idle.c 5345 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_io.c 12992 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_isolation.c 21273 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07

linux/mm/

page_owner.c 17311 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_poison.c 2543 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_reporting.c 10546 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_reporting.h 1635 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_table_check.c 5989 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
page_vma_mapped.c 8825 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
pagewalk.c 15872 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
percpu-internal.h 7192 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
percpu-km.c 3240 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07 kernel memory based chunk allocation
percpu-stats.c 5988 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07  
percpu-vm.c 11969 bytes 2025-03-06 09:18:39 2025-03-06 13:29:07 vmalloc area based chunk allocation
percpu.c 104998 bytes 2025-03-06 09:18:39 2025-03-06 13:29:08 percpu memory allocator
pgalloc-track.h 1298 bytes 2025-03-06 09:18:39 2025-03-06 13:29:08  
pgtable-generic.c 5913 bytes 2025-03-06 09:18:39 2025-03-06 13:29:08  
process_vm_access.c 8403 bytes 2025-03-06 09:18:39 2025-03-06 13:29:08  
ptdump.c 4269 bytes 2025-03-06 09:18:39 2025-03-06 13:29:08  
readahead.c 25890 bytes 2025-03-06 09:18:39 2025-03-06 13:29:08 address_space-level file readahead.
rmap.c 74461 bytes 2025-03-06 09:18:39 2025-03-06 13:29:09 physical to virtual reverse mappings
rodata_test.c 1345 bytes 2025-03-06 09:18:39 2025-03-06 13:29:09 functional test for mark_rodata_ro function
secretmem.c 6566 bytes 2025-03-06 09:18:39 2025-03-06 13:29:09  
shmem.c 113261 bytes 2025-03-06 09:18:39 2025-03-06 13:29:09  
shrinker_debug.c 6306 bytes 2025-03-06 09:18:39 2025-03-06 13:29:10  
shuffle.c 4789 bytes 2025-03-06 09:18:39 2025-03-06 13:29:10  
shuffle.h 1184 bytes 2025-03-06 09:18:39 2025-03-06 13:29:10  
slab.c 108160 bytes 2025-03-06 09:18:39 2025-03-06 13:29:10

linux/mm/ Written by Mark Hemment, 1996/97.

slab.h 22986 bytes 2025-03-06 09:18:39 2025-03-06 13:29:11  
slab_common.c 34000 bytes 2025-03-06 09:18:39 2025-03-06 13:29:11

Slab allocator functions that are independent of the allocator strategy (C) 2012 Christoph Lameter <linux.com">cl@linux.com>

slob.c 19287 bytes 2025-03-06 09:18:39 2025-03-06 13:29:11

SLOB Allocator: Simple List Of Blocks Matt Mackall <selenic.com">mpm@selenic.com> NUMA support by Paul Mundt, 2007.

slub.c 159000 bytes 2025-03-06 09:18:39 2025-03-06 13:29:12

SLUB: A slab allocator that limits cache line use instead of queuing objects in per cpu and per node lists.

sparse-vmemmap.c 10473 bytes 2025-03-06 09:18:39 2025-03-06 13:29:12

Virtual Memory Map support (C) 2007 sgi.

sparse.c 26259 bytes 2025-03-06 09:18:39 2025-03-06 13:29:12

sparse memory mappings.

swap.c 31029 bytes 2025-03-06 09:18:39 2025-03-06 13:29:12

This file contains the default values for the operation of the Linux VM subsystem.

swap.h 4102 bytes 2025-03-06 09:18:39 2025-03-06 13:29:12  
swap_cgroup.c 5216 bytes 2025-03-06 09:18:39 2025-03-06 13:29:12  
swap_slots.c 9457 bytes 2025-03-06 09:18:39 2025-03-06 13:29:12  
swap_state.c 24442 bytes 2025-03-06 09:18:39 2025-03-06 13:29:12  
swapfile.c 94389 bytes 2025-03-06 09:18:39 2025-03-06 13:29:13  
truncate.c 26789 bytes 2025-03-06 09:18:39 2025-03-06 13:29:13 code for taking down pages from address_spaces
usercopy.c 8272 bytes 2025-03-06 09:18:39 2025-03-06 13:29:13  
userfaultfd.c 19296 bytes 2025-03-06 09:18:39 2025-03-06 13:29:13  
util.c 31338 bytes 2025-03-06 09:18:39 2025-03-06 13:29:13  
vmacache.c 2792 bytes 2025-03-06 09:18:39 2025-03-06 13:29:13  
vmalloc.c 110131 bytes 2025-03-06 09:18:39 2025-03-06 13:29:13  
vmpressure.c 14186 bytes 2025-03-06 09:18:39 2025-03-06 13:29:13  
vmscan.c 142746 bytes 2025-03-06 09:18:39 2025-03-06 13:29:14  
vmstat.c 56448 bytes 2025-03-06 09:18:39 2025-03-06 13:29:14  
workingset.c 22332 bytes 2025-03-06 09:18:39 2025-03-06 13:29:14  
z3fold.c 45692 bytes 2025-03-06 09:18:39 2025-03-06 13:29:15  
zbud.c 18855 bytes 2025-03-06 09:18:39 2025-03-06 13:29:15  
zpool.c 11505 bytes 2025-03-06 09:18:39 2025-03-06 13:29:15  
zsmalloc.c 58414 bytes 2025-03-06 09:18:39 2025-03-06 13:29:15

Following is how we use various fields and flags of underlying struct page(s) to form a zspage.

zswap.c 40892 bytes 2025-03-06 09:18:39 2025-03-06 13:29:15 zswap driver file