CINXE.COM

Kernel index [LWN.net]

<!DOCTYPE html> <html lang="en"> <head><title>Kernel index [LWN.net]</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META NAME="robots" CONTENT="noai, noimageai"> <link rel="icon" href="https://static.lwn.net/images/favicon.png" type="image/png"> <link rel="stylesheet" href="/CSS/lwn"> <link rel="stylesheet" href="/CSS/nosub"> <script type="text/javascript">var p="http",d="static";if(document.location.protocol=="https:"){p+="s";d="engine";}var z=document.createElement("script");z.type="text/javascript";z.async=true;z.src=p+"://"+d+".adzerk.net/ados.js";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(z,s);</script> <script type="text/javascript"> var ados_keywords = ados_keywords || []; if( location.protocol=='https:' ) { ados_keywords.push('T:SSL'); } else { ados_keywords.push('T:HTTP'); } var ados = ados || {}; ados.run = ados.run || []; ados.run.push(function() { ados_add_placement(4669, 20979, "azk13321_leaderboard", 4).setZone(16026); ados_add_placement(4669, 20979, "azk93271_right_zone", [5,10,6]).setZone(16027); ados_add_placement(4669, 20979, "azk31017_tracking", 20).setZone(20995); ados_setKeywords(ados_keywords.join(', ')); ados_load(); });</script> </head> <body> <a name="t"></a> <div id="menu"><a href="/"><img src="https://static.lwn.net/images/logo/barepenguin-70.png" class="logo" border="0" alt="LWN.net Logo"> <span class="logo">LWN<br>.net</span> <span class="logobl">News from the source</span></a> <a href="/"><img src="https://static.lwn.net/images/lcorner-ss.png" class="sslogo" border="0" alt="LWN"></a><div class="navmenu-container"> <ul class="navmenu"> <li><a class="navmenu" href="#t"><b>Content</b></a><ul><li><a href="/current/">Weekly Edition</a></li><li><a href="/Archives/">Archives</a></li><li><a href="/Search/">Search</a></li><li><a href="/Kernel/">Kernel</a></li><li><a href="/Security/">Security</a></li><li><a href="/Calendar/">Events calendar</a></li><li><a href="/Comments/unread">Unread comments</a></li><li><hr></li><li><a href="/op/FAQ.lwn">LWN FAQ</a></li><li><a href="/op/AuthorGuide.lwn">Write for us</a></li></ul></li> </ul></div> </div> <!-- menu --> <div class="not-handset" style="margin-left: 10.5em; display: block;"> <div class="not-print"> <div id="azk13321_leaderboard"></div> </div> </div> <div class="topnav-container"> <div class="not-handset"><form action="https://lwn.net/Login/" method="post" name="loginform" class="loginform"> <label><b>User:</b> <input type="text" name="uname" value="" size="8" id="uc" /></label> <label><b>Password:</b> <input type="password" name="pword" size="8" id="pc" /></label> <input type="hidden" name="target" value="/Kernel/Index/" /> <input type="submit" name="submit" value="Log in" /></form> | <form action="https://lwn.net/subscribe/" method="post" class="loginform"> <input type="submit" name="submit" value="Subscribe" /> </form> | <form action="https://lwn.net/Login/newaccount" method="post" class="loginform"> <input type="submit" name="submit" value="Register" /> </form> </div> <div class="handset-only"> <a href="/subscribe/"><b>Subscribe</b></a> / <a href="/Login/"><b>Log in</b></a> / <a href="/Login/newaccount"><b>New account</b></a> </div> </div><div class="maincolumn flexcol"> <div class="middlecolumn"> <div class="PageHeadline"> <h1>Kernel index</h1> </div> <div class="ArticleText"> This index covers articles published in the LWN.net Kernel Page. All articles from the beginning of 2004 have been entered here. <p> <p class="IndexPrimary"> <a name="Academic_systems"><a href="#Academic_systems">Academic systems</a></a></p> <p class="IndexEntry"> <a href="/Articles/397422/">Realtime Linux: academia v. reality</a> (July 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/819237/">Popcorn Linux pops up on linux-kernel</a> (May 5, 2020)</p> <p class="IndexPrimary"> <a name="Access_control_lists"><a href="#Access_control_lists">Access control lists</a></a></p> <p class="IndexEntry"> <a href="/Articles/661357/">Rich access control lists</a> (October 20, 2015)</p> <p class="IndexPrimary"> <a name="ACCESS_ONCE"><a href="#ACCESS_ONCE">ACCESS_ONCE()</a></a></p> <p class="IndexEntry"> <a href="/Articles/508991/">ACCESS_ONCE()</a> (August 1, 2012)</p> <p class="IndexEntry"> <a href="/Articles/624126/">ACCESS_ONCE() and compiler bugs</a> (December 3, 2014)</p> <p class="IndexEntry"> <a href="/Articles/793253/">Who's afraid of a big bad optimizing compiler?</a> (July 15, 2019)</p> <p class="IndexPrimary"> <a name="ACPI"><a href="#ACPI">ACPI</a></a></p> <p class="IndexEntry"> <a href="/Articles/146094/">ACPI, device interrupts, and suspend states</a> (August 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/197299/">An API for specifying latency constraints</a> (August 28, 2006)</p> <p class="IndexEntry"> <a href="/Articles/240253/">OLS: Three talks on power management</a> (June 30, 2007)</p> <p class="IndexEntry"> <a href="/Articles/244595/">Tripping over trip points</a> (August 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/355934/">The ACPI processor aggregator driver</a> (October 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/384146/">The cpuidle subsystem</a> (April 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/390427/">Idling ACPI idle</a> (June 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/574439/">ACPI for ARM?</a> (November 22, 2013)</p> <p class="IndexPrimary"> <a name="Adore_root_kit"><a href="#Adore_root_kit">Adore root kit</a></a></p> <p class="IndexEntry"> <a href="/Articles/75990/">A new Adore root kit</a> (March 17, 2004)</p> <p class="IndexPrimary"> <a name="AdvFS"><a href="#AdvFS">AdvFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/287289/">What's AdvFS good for?</a> (June 25, 2008)</p> <p class="IndexPrimary"> <a name="AlacrityVM"><a href="#AlacrityVM">AlacrityVM</a></a></p> <p class="IndexEntry"> <a href="/Articles/345296/">AlacrityVM</a> (August 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/367787/">Two that didn't make it</a> (December 22, 2009)</p> <p class="IndexPrimary"> <a name="alloc_skb_from_cache"><a href="#alloc_skb_from_cache">alloc_skb_from_cache()</a></a></p> <p class="IndexEntry"> <a href="/Articles/117736/">alloc_skb_from_cache()</a> (January 4, 2005)</p> <p class="IndexPrimary"> <a name="ALSA"><a href="#ALSA">ALSA</a></a></p> <p class="IndexEntry"> <a href="/Articles/88767/">Fear of the void</a> (June 9, 2004)</p> <p class="IndexPrimary"> <a name="Alternative_instructions"><a href="#Alternative_instructions">Alternative instructions</a></a></p> <p class="IndexEntry"> <a href="/Articles/164121/">SMP alternatives</a> (December 14, 2005)</p> <p class="IndexPrimary"> <a name="Android"><a href="#Android">Android</a></a></p> <p class="IndexEntry"> <a href="/Articles/318611/">Wakelocks and the embedded problem</a> (February 10, 2009)</p> <p class="IndexEntry"> <a href="/Articles/319860/">From wakelocks to a real solution</a> (February 18, 2009)</p> <p class="IndexEntry"> <a href="/Articles/377103/">Fishy business</a> (March 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/385103/">Suspend block</a> (April 28, 2010)</p> <p class="IndexEntry"> <a href="/Articles/388131/">Blocking suspend blockers</a> (May 18, 2010)</p> <p class="IndexEntry"> <a href="/Articles/389407/">Suspend blocker suspense</a> (May 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/390369/">What comes after suspend blockers</a> (June 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/391245/">This week's episode of &quot;Desperate Androids&quot;</a> (June 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/393314/">Another wakeup event mechanism</a> (June 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/416690/">An alternative to suspend blockers</a> (November 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/460644/">A new approach to opportunistic suspend</a> (September 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/463517/">Yet another opportunity for opportunistic suspend</a> (October 18, 2011)</p> <p class="IndexEntry"> <a href="/Articles/464298/">KS2011: Patch review</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/472984/">Bringing Android closer to the mainline</a> (December 20, 2011)</p> <p class="IndexEntry"> <a href="/Articles/479841/">Autosleep and wake locks</a> (February 7, 2012)</p> <p class="IndexEntry"> <a href="/Articles/480055/">The Android ION memory allocator</a> (February 8, 2012)</p> <p class="IndexEntry"> <a href="/Articles/484196/">The Android mainlining interest group meeting: a report</a> (February 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/491653/">Finding the right evolutionary niche</a> (April 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/514901/">KS2012: Status of Android upstreaming</a> (September 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/542466/">LC-Asia: An Android upstreaming update</a> (March 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/565469/">Integrating the ION memory allocator</a> (September 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/569704/">The Android Graphics microconference</a> (October 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/570406/">The LPC Android microconference</a> (October 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/618421/">In a bind with binder</a> (October 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/656324/">The LPC Android microconference, part 1</a> (September 8, 2015)</p> <p class="IndexEntry"> <a href="/Articles/657139/">The LPC Android microconference, part 2</a> (September 14, 2015)</p> <p class="IndexEntry"> <a href="/Articles/662147/">Running a mainline kernel on a cellphone</a> (October 28, 2015)</p> <p class="IndexEntry"> <a href="/Articles/662958/">Lightning talks</a> (November 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/696716/">Four new Android privilege escalations</a> (August 10, 2016)</p> <p class="IndexEntry"> <a href="/Articles/702339/">Bringing Android explicit fencing to the mainline</a> (October 5, 2016)</p> <p class="IndexEntry"> <a href="/Articles/706374/">Scheduling for Android devices</a> (November 15, 2016)</p> <p class="IndexEntry"> <a href="/Articles/708679/">The LPC Android microconference, part 1</a> (December 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/708680/">The LPC Android microconference, part 2</a> (December 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718640/">Eliminating Android wrapfs &quot;hackery&quot;</a> (April 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/733463/">Running Android on a mainline graphics stack</a> (September 12, 2017)</p> <p class="IndexEntry"> <a href="/Articles/738225/">An update on the Android problem</a> (November 7, 2017)</p> <p class="IndexEntry"> <a href="/Articles/787217/">Android memory management</a> (May 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/809545/">Scheduling for the Android display pipeline</a> (January 16, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820825/">Evaluating vendor changes to the scheduler</a> (May 19, 2020)</p> <p class="IndexEntry"> <a href="/Articles/830979/">Android kernel notes from LPC 2020</a> (September 10, 2020)</p> <p class="IndexEntry"> <a href="/Articles/836693/">KVM for Android</a> (November 11, 2020)</p> <p class="IndexEntry"> <a href="/Articles/864947/">The edge-triggered misunderstanding</a> (August 5, 2021)</p> <p class="IndexEntry"> <a href="/Articles/867818/">Not-so-anonymous virtual memory areas</a> (September 3, 2021)</p> <p class="IndexEntry"> <a href="/Articles/899743/">The end of CONFIG_ANDROID</a> (July 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/915320/">Juggling software interrupts and realtime tasks</a> (December 2, 2022)</p> <p class="IndexEntry"> <a href="/Articles/953116/">A Rust implementation of Android's Binder</a> (November 30, 2023)</p> <p class="IndexSecondary"> <a name="Android-Generic_kernel_image"></a><a href="#Android-Generic_kernel_image">Generic kernel image</a></p> <p class="IndexEntry"> <a href="/Articles/771974/">Bringing the Android kernel back to the mainline</a> (November 15, 2018)</p> <p class="IndexEntry"> <a href="/Articles/800452/">Monitoring the internal kernel ABI</a> (September 25, 2019)</p> <p class="IndexEntry"> <a href="/Articles/872209/">The intersection of modules, GKI, and rocket science</a> (October 11, 2021)</p> <p class="IndexPrimary"> <a name="anonmm"><a href="#anonmm">anonmm</a></a></p> <p class="IndexEntry"> <a href="/Articles/77106/">Reverse mapping anonymous pages - again</a> (March 24, 2004)</p> <p class="IndexEntry"> <a href="/Articles/85908/">The status of object-based reverse mapping</a> (May 19, 2004)</p> <p class="IndexPrimary"> <a name="anon_vma"><a href="#anon_vma">anon_vma</a></a></p> <p class="IndexEntry"> <a href="/Articles/75198/">Virtual Memory II: the return of objrmap</a> (March 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/80472/">VM changes in 2.6.6</a> (April 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/85908/">The status of object-based reverse mapping</a> (May 19, 2004)</p> <p class="IndexEntry"> <a href="/Articles/86715/">The merging of anon_vma and 4G/4G</a> (May 26, 2004)</p> <p class="IndexEntry"> <a href="/Articles/383162/">The case of the overly anonymous anon_vma</a> (April 13, 2010)</p> <p class="IndexPrimary"> <a name="a.out"><a href="#a.out">a.out</a></a></p> <p class="IndexEntry"> <a href="/Articles/888741/">A way out for a.out</a> (March 24, 2022)</p> <p class="IndexPrimary"> <a name="AppArmor"><a href="#AppArmor">AppArmor</a></a></p> <p class="IndexEntry"> <a href="/Articles/181508/">The AppArmor debate begins</a> (April 26, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191737/">Kernel Summit 2006: Security</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/239962/">Linux security non-modules and AppArmor</a> (June 27, 2007)</p> <p class="IndexEntry"> <a href="/Articles/277833/">TOMOYO Linux and pathname-based security</a> (April 14, 2008)</p> <p class="IndexPrimary"> <a name="Architectures"><a href="#Architectures">Architectures</a></a></p> <p class="IndexEntry"> <a href="/Articles/307713/">UKUUG: The right way to port Linux</a> (November 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/311630/">System calls and 64-bit architectures</a> (December 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/391372/">ARM and defconfig files</a> (June 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/408845/">Little-endian PowerPC</a> (October 6, 2010)</p> <p class="IndexEntry"> <a href="/Articles/457635/">Upcoming DSP architectures</a> (September 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/458729/">LPC: Coping with hardware diversity</a> (September 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/748074/">Shedding old architectures and compilers in the kernel</a> (February 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/829733/">Software and hardware obsolescence in the kernel</a> (August 28, 2020)</p> <p class="IndexEntry"> <a href="/Articles/838807/">The future of 32-bit Linux</a> (December 4, 2020)</p> <p class="IndexEntry"> <a href="/Articles/908026/">The road to Zettalinux</a> (September 16, 2022)</p> <p class="IndexEntry"> <a href="/Articles/921511/">Constant-time instructions and processor optimizations</a> (February 3, 2023)</p> <p class="IndexSecondary"> <a name="Architectures-Arm"></a><a href="#Architectures-Arm">Arm</a></p> <p class="IndexEntry"> <a href="/Articles/409689/">ARM's multiply-mapped memory mess</a> (October 12, 2010)</p> <p class="IndexEntry"> <a href="/Articles/437162/">ARM wrestling</a> (April 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/439314/">Rationalizing the ARM tree</a> (April 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/443510/">ARM kernel consolidation</a> (May 18, 2011)</p> <p class="IndexEntry"> <a href="/Articles/467509/">Reworking the DMA mapping code (especially on ARM)</a> (November 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/470820/">Irked by NO_IRQ</a> (December 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/481055/">Linux support for ARM big.LITTLE</a> (February 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/496400/">Supporting multi-platform ARM kernels</a> (May 9, 2012)</p> <p class="IndexEntry"> <a href="/Articles/501501/">A big.LITTLE scheduler update</a> (June 12, 2012)</p> <p class="IndexEntry"> <a href="/Articles/501696/">LinuxCon Japan: One zImage to rule them all</a> (June 13, 2012)</p> <p class="IndexEntry"> <a href="/Articles/506148/">Supporting 64-bit ARM systems</a> (July 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/539082/">Multi-cluster power management</a> (February 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/539840/">ELC: In-kernel switcher for big.LITTLE</a> (February 27, 2013)</p> <p class="IndexEntry"> <a href="/Articles/541005/">LC-Asia: A big LITTLE MP update</a> (March 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/554822/">Merging Allwinner support</a> (June 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/557132/">Supporting KVM on the ARM architecture</a> (July 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572063/">Minisummit reports</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/574439/">ACPI for ARM?</a> (November 22, 2013)</p> <p class="IndexEntry"> <a href="/Articles/606238/">Handling ARM architecture changes</a> (July 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/834289/">The Arm64 memory tagging extension in Linux</a> (October 15, 2020)</p> <p class="IndexEntry"> <a href="/Articles/838339/">Scheduling for asymmetric Arm systems</a> (November 30, 2020)</p> <p class="IndexEntry"> <a href="/Articles/970907/">Support for the TSO memory model on Arm CPUs</a> (April 26, 2024)</p> <p class="IndexSecondary"> <a name="Architectures-ia64"></a><a href="#Architectures-ia64">ia64</a></p> <p class="IndexEntry"> <a href="/Articles/920259/">Kernel code on the chopping block</a> (January 19, 2023)</p> <p class="IndexEntry"> <a href="/Articles/950466/">The push to save Itanium</a> (November 9, 2023)</p> <p class="IndexSecondary"> <a name="Architectures-Porting_to"></a><a href="#Architectures-Porting_to">Porting to</a></p> <p class="IndexEntry"> <a href="/Articles/654783/">Porting Linux to a new processor architecture, part 1: The basics</a> (August 26, 2015)</p> <p class="IndexEntry"> <a href="/Articles/656286/">Porting Linux to a new processor architecture, part 2: The early code</a> (September 2, 2015)</p> <p class="IndexEntry"> <a href="/Articles/657939/">Porting Linux to a new processor architecture, part 3: To the finish line</a> (September 23, 2015)</p> <p class="IndexSecondary"> <a name="Architectures-RISC-V"></a><a href="#Architectures-RISC-V">RISC-V</a></p> <p class="IndexEntry"> <a href="/Articles/856685/">Why RISC-V doesn't (yet) support KVM</a> (May 20, 2021)</p> <p class="IndexSecondary"> <a name="Architectures-SuperH"></a><a href="#Architectures-SuperH">SuperH</a></p> <p class="IndexEntry"> <a href="/Articles/920259/">Kernel code on the chopping block</a> (January 19, 2023)</p> <p class="IndexSecondary"> <a name="Architectures-x86"></a><a href="#Architectures-x86">x86</a></p> <p class="IndexEntry"> <a href="/Articles/243704/">i386 and x86_64: back together?</a> (July 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/790464/">Detecting and handling split locks</a> (June 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/806466/">Developers split over split-lock detection</a> (December 6, 2019)</p> <p class="IndexEntry"> <a href="/Articles/816918/">VMX virtualization runs afoul of split-lock detection</a> (April 7, 2020)</p> <p class="IndexEntry"> <a href="/Articles/821723/">A possible end to the FSGSBASE saga</a> (June 1, 2020)</p> <p class="IndexEntry"> <a href="/Articles/835594/">Kernel support for processor undervolting</a> (November 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/871113/">User-space interrupts</a> (September 30, 2021)</p> <p class="IndexEntry"> <a href="/Articles/874846/">Intel AMX support in 5.16</a> (November 8, 2021)</p> <p class="IndexEntry"> <a href="/Articles/888914/">Pointer tagging for x86 systems</a> (March 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/902094/">Support for Intel's Linear Address Masking</a> (July 25, 2022)</p> <p class="IndexEntry"> <a href="/Articles/911219/">The search for the correct amount of split-lock misery</a> (October 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/919683/">Support for Intel's LASS</a> (January 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/921266/">The Linux SVSM project</a> (January 30, 2023)</p> <p class="IndexEntry"> <a href="/Articles/928328/">Seeking an acceptable unaccepted memory policy</a> (April 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/961121/">Pitchforks for RDSEED</a> (February 8, 2024)</p> <p class="IndexEntry"> <a href="/Articles/963281/">A RDRAND followup</a> (February 26, 2024)</p> <p class="IndexPrimary"> <a name="Asymmetric_multiprocessing"><a href="#Asymmetric_multiprocessing">Asymmetric multiprocessing</a></a></p> <p class="IndexEntry"> <a href="/Articles/449585/">Dealing with complexity: power domains and asymmetric multiprocessing</a> (June 29, 2011)</p> <p class="IndexPrimary"> <a name="Asynchronous_function_calls"><a href="#Asynchronous_function_calls">Asynchronous function calls</a></a></p> <p class="IndexEntry"> <a href="/Articles/314808/">An asynchronous function call infrastructure</a> (January 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/532866/">Deadlocking the system with asynchronous functions</a> (January 16, 2013)</p> <p class="IndexPrimary"> <a name="Asynchronous_IO"><a href="#Asynchronous_IO">Asynchronous I/O</a></a></p> <p class="IndexEntry"> <a href="/Articles/73847/">A retry-based AIO infrastructure</a> (March 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/94566/">Kernel Summit: Asynchronous I/O</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/170954/">Asynchronous I/O and vectored operations</a> (February 7, 2006)</p> <p class="IndexEntry"> <a href="/Articles/172844/">The kevent interface</a> (February 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/192410/">OLS: A proposal for a new networking API</a> (July 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/202449/">API changes: interrupt handlers and vectored I/O</a> (October 2, 2006)</p> <p class="IndexEntry"> <a href="/Articles/216200/">Asynchronous buffered file I/O</a> (January 3, 2007)</p> <p class="IndexEntry"> <a href="/Articles/219954/">Fibrils and asynchronous system calls</a> (January 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/220897/">Kernel fibrillation</a> (February 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/223899/">Threadlets</a> (February 27, 2007)</p> <p class="IndexEntry"> <a href="/Articles/236206/">The return of syslets</a> (May 30, 2007)</p> <p class="IndexEntry"> <a href="/Articles/316806/">LCA: A new approach to asynchronous I/O</a> (January 27, 2009)</p> <p class="IndexEntry"> <a href="/Articles/548352/">LSFMM: Reducing io_submit() latency</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/612483/">Non-blocking buffered file read operations</a> (September 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636967/">Asynchronous buffered read operations</a> (March 18, 2015)</p> <p class="IndexEntry"> <a href="/Articles/671649/">Fixing asynchronous I/O, again</a> (January 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/724198/">Toward non-blocking asynchronous I/O</a> (May 30, 2017)</p> <p class="IndexEntry"> <a href="/Articles/743714/">A new kernel polling interface</a> (January 9, 2018)</p> <p class="IndexEntry"> <a href="/Articles/776703/">Ringing in a new asynchronous I/O API</a> (January 15, 2019)</p> <p class="IndexEntry"> <a href="/Articles/779472/">io_uring, SCM_RIGHTS, and reference-count cycles</a> (February 13, 2019)</p> <p class="IndexEntry"> <a href="/Articles/789024/">Asynchronous fsync()</a> (May 21, 2019)</p> <p class="IndexEntry"> <a href="/Articles/810414/">The rapid growth of io_uring</a> (January 24, 2020)</p> <p class="IndexEntry"> <a href="/Articles/815491/">Automatic buffer selection for io_uring</a> (March 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/826053/">Operations restrictions for io_uring</a> (July 15, 2020)</p> <p class="IndexEntry"> <a href="/Articles/879724/">Zero-copy network transmission with io_uring</a> (December 30, 2021)</p> <p class="IndexEntry"> <a href="/Articles/998783/">The return of RWF_UNCACHED</a> (December 4, 2024)</p> <p class="IndexPrimary"> <a name="Atomic_IO_operations"><a href="#Atomic_IO_operations">Atomic I/O operations</a></a></p> <p class="IndexEntry"> <a href="/Articles/552095/">Atomic I/O operations</a> (May 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/573092/">Support for atomic block I/O operations</a> (November 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/789600/">A way to do atomic writes</a> (May 28, 2019)</p> <p class="IndexEntry"> <a href="/Articles/933015/">Atomic block-write operations</a> (May 30, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974578/">Atomic writes without tears</a> (May 24, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1009298/">Support for atomic block writes in 6.13</a> (February 20, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016015/">Supporting untorn buffered writes</a> (April 4, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016406/">An update on torn-write protection</a> (April 9, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016879/">Atomic writes for ext4</a> (April 10, 2025)</p> <p class="IndexPrimary"> <a name="Atomic_operations"><a href="#Atomic_operations">Atomic operations</a></a></p> <p class="IndexEntry"> <a href="/Articles/698315/">Atomic usage patterns in the kernel</a> (August 31, 2016)</p> <p class="IndexEntry"> <a href="/Articles/699094/">Atomic patterns 2: coupled atomics</a> (September 7, 2016)</p> <p class="IndexPrimary"> <a name="Atomic_spinlocks"><a href="#Atomic_spinlocks">Atomic spinlocks</a></a></p> <p class="IndexEntry"> <a href="/Articles/345076/">The realtime preemption endgame</a> (August 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/354690/">The realtime preemption mini-summit</a> (September 28, 2009)</p> <p class="IndexPrimary"> <a name="atomic_t"><a href="#atomic_t">atomic_t</a></a></p> <p class="IndexEntry"> <a href="/Articles/71732/">No more 24-bit atomic_t</a> (February 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/170003/">The search for fast, scalable counters</a> (February 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/651629/">Atomic additions</a> (July 20, 2015)</p> <p class="IndexEntry"> <a href="/Articles/693038/">Two approaches to reference count hardening</a> (July 7, 2016)</p> <p class="IndexEntry"> <a href="/Articles/695257/">Atomic primitives in the kernel</a> (July 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/706498/">The bumpy road to reference-count protection in the kernel</a> (November 16, 2016)</p> <p class="IndexPrimary"> <a name="Auditing"><a href="#Auditing">Auditing</a></a></p> <p class="IndexEntry"> <a href="/Articles/79326/">The lightweight auditing framework</a> (April 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/122764/">More hooks for kernel events</a> (February 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/600568/">Who audits the audit code?</a> (May 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/699819/">Audit, namespaces, and containers</a> (September 8, 2016)</p> <p class="IndexEntry"> <a href="/Articles/740621/">Container IDs for the audit subsystem</a> (December 6, 2017)</p> <p class="IndexEntry"> <a href="/Articles/750313/">An audit container ID proposal</a> (March 29, 2018)</p> <p class="IndexEntry"> <a href="/Articles/858023/">Auditing io_uring</a> (June 3, 2021)</p> <p class="IndexPrimary"> <a name="Automounter"><a href="#Automounter">Automounter</a></a></p> <p class="IndexEntry"> <a href="/Articles/109400/">Trapfs - an automounter on the cheap</a> (November 3, 2004)</p> <p class="IndexPrimary"> <a name="Auxiliary_bus"><a href="#Auxiliary_bus">Auxiliary bus</a></a></p> <p class="IndexEntry"> <a href="/Articles/840416/">Managing multifunction devices with the auxiliary bus</a> (December 17, 2020)</p> <p class="IndexPrimary"> <a name="Beancounters"><a href="#Beancounters">Beancounters</a></a></p> <p class="IndexEntry"> <a href="/Articles/197433/">Resource beancounters</a> (August 29, 2006)</p> <p class="IndexPrimary"> <a name="Benchmarking"><a href="#Benchmarking">Benchmarking</a></a></p> <p class="IndexEntry"> <a href="/Articles/139123/">Automated kernel testing</a> (June 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/304845/">Tracking tbench troubles</a> (October 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/725238/">A survey of scheduler benchmarks</a> (June 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/820570/">Testing scheduler thermal properties for avionics</a> (May 15, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820823/">Scheduler benchmarking with MMTests</a> (May 19, 2020)</p> <p class="IndexPrimary"> <a name="Big_kernel_lock"><a href="#Big_kernel_lock">Big kernel lock</a></a></p> <p class="IndexEntry"> <a href="/Articles/86859/">The Big Kernel Lock lives on</a> (May 26, 2004)</p> <p class="IndexEntry"> <a href="/Articles/102253/">The Big Kernel Semaphore?</a> (September 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/115651/">ioctl(), the big kernel lock, and 32-bit compatibility</a> (December 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/119652/">The new way of ioctl()</a> (January 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/281938/">The big kernel lock strikes again</a> (May 13, 2008)</p> <p class="IndexEntry"> <a href="/Articles/283066/">Kill BKL Vol. 2</a> (May 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/381164/">The BKL end game</a> (March 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/384855/">Might 2.6.35 be BKL-free?</a> (April 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/406246/">BKL-free in 2.6.37 (maybe)</a> (September 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410856/">Shielding driver authors from locking</a> (October 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412750/">KS2010: Lightning talks</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/424657/">The real BKL end game</a> (January 26, 2011)</p> <p class="IndexPrimary"> <a name="big.LITTLE"><a href="#big.LITTLE">big.LITTLE</a></a></p> <p class="IndexEntry"> <a href="/Articles/481055/">Linux support for ARM big.LITTLE</a> (February 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/501501/">A big.LITTLE scheduler update</a> (June 12, 2012)</p> <p class="IndexEntry"> <a href="/Articles/514063/">KS2012: ARM: A big.LITTLE update</a> (September 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/519919/">A report from the first Korea Linux Forum</a> (October 16, 2012)</p> <p class="IndexEntry"> <a href="/Articles/539082/">Multi-cluster power management</a> (February 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/539840/">ELC: In-kernel switcher for big.LITTLE</a> (February 27, 2013)</p> <p class="IndexEntry"> <a href="/Articles/541005/">LC-Asia: A big LITTLE MP update</a> (March 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/880367/">Fixing a corner case in asymmetric CPU packing</a> (January 7, 2022)</p> <p class="IndexPrimary"> <a name="Bind_mounts"><a href="#Bind_mounts">Bind mounts</a></a></p> <p class="IndexEntry"> <a href="/Articles/281157/">Read-only bind mounts</a> (May 6, 2008)</p> <p class="IndexEntry"> <a href="/Articles/690679/">Mount namespaces, mount propagation, and unbindable mounts</a> (June 15, 2016)</p> <p class="IndexPrimary"> <a name="binfmt_misc"><a href="#binfmt_misc">binfmt_misc</a></a></p> <p class="IndexEntry"> <a href="/Articles/679308/">Architecture emulation containers with binfmt_misc</a> (March 9, 2016)</p> <p class="IndexPrimary"> <a name="BitKeeper"><a href="#BitKeeper">BitKeeper</a></a></p> <p class="IndexEntry"> <a href="/Articles/130746/">The kernel and BitKeeper part ways</a> (April 6, 2005)</p> <p class="IndexPrimary"> <a name="Block_layer"><a href="#Block_layer">Block layer</a></a></p> <p class="IndexEntry"> <a href="/Articles/65437/">Laptop mode for 2.6</a> (January 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/72929/">CDROM drives and partitioning</a> (February 25, 2004)</p> <p class="IndexEntry"> <a href="/Articles/77074/">The return of write barriers</a> (March 24, 2004)</p> <p class="IndexEntry"> <a href="/Articles/77981/">Big block transfers: good or bad?</a> (March 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107314/">Coming in 2.6.10</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/129703/">Network block devices and OOM safety</a> (March 30, 2005)</p> <p class="IndexEntry"> <a href="/Articles/135472/">Execute-in-place</a> (May 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144273/">Kernel Summit 2005: Convergence of network and storage paths</a> (July 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/157208/">Some block layer patches</a> (October 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/232757/">Large block size support</a> (May 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/246272/">Distributed storage</a> (August 21, 2007)</p> <p class="IndexEntry"> <a href="/Articles/283161/">Barriers and journaling filesystems</a> (May 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/290141/">Block layer: integrity checking and lots of partitions</a> (July 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/322668/">A superficial introduction to fsblock</a> (March 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/326552/">Flushing out pdflush</a> (April 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/327601/">Linux Storage and Filesystem workshop, day 1</a> (April 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/327740/">Linux Storage and Filesystem Workshop, day 2</a> (April 8, 2009)</p> <p class="IndexEntry"> <a href="/Articles/329543/">DRBD: a distributed block device</a> (April 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/346219/">Interrupt mitigation in the block layer</a> (August 10, 2009)</p> <p class="IndexEntry"> <a href="/Articles/348719/">Page-based direct I/O</a> (August 25, 2009)</p> <p class="IndexEntry"> <a href="/Articles/399148/">The 2010 Linux Storage and Filesystem Summit, day 1</a> (August 9, 2010)</p> <p class="IndexEntry"> <a href="/Articles/399313/">The 2010 Linux Storage and Filesystem Summit, day 2</a> (August 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/400541/">The end of block barriers</a> (August 18, 2010)</p> <p class="IndexEntry"> <a href="/Articles/429295/">Notes from the block layer</a> (February 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/436871/">Linux Filesystem, Storage, and Memory Management Summit, Day 1</a> (April 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/437014/">Future storage technologies and Linux</a> (April 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/437066/">Linux Filesystem, Storage, and Memory Management Summit, Day 2</a> (April 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/502472/">Supporting block I/O contexts</a> (June 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548296/">LSFMM: I/O hints</a> (April 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548347/">LSFMM: Copy offload</a> (April 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548351/">LSFMM: O_DIRECT</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/552904/">The multiqueue block layer</a> (June 5, 2013)</p> <p class="IndexEntry"> <a href="/Articles/554910/">Tags and IDs</a> (June 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/556244/">Polling block drivers</a> (June 26, 2013)</p> <p class="IndexEntry"> <a href="/Articles/636288/">Filesystem/block interfaces</a> (March 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/637436/">Copy offload</a> (March 25, 2015)</p> <p class="IndexEntry"> <a href="/Articles/638722/">Write-stream IDs</a> (April 7, 2015)</p> <p class="IndexEntry"> <a href="/Articles/663879/">Block-layer I/O polling</a> (November 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684465/">Block and filesystem interfaces</a> (April 26, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684829/">Partial drive depopulation</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684832/">Quickly: Filesystems and containers / Self-encrypting drives</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/685928/">Multipage bio_vecs</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717754/">Inline encryption support for block devices</a> (March 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/717755/">Stream ID status update</a> (March 29, 2017)</p> <p class="IndexEntry"> <a href="/Articles/736534/">A block layer introduction part 1: the bio layer</a> (October 25, 2017)</p> <p class="IndexEntry"> <a href="/Articles/738449/">Block layer introduction part 2: the request layer</a> (November 9, 2017)</p> <p class="IndexEntry"> <a href="/Articles/753650/">A mapping layer for filesystems</a> (May 9, 2018)</p> <p class="IndexEntry"> <a href="/Articles/753652/">Supporting multi-actuator drives</a> (May 15, 2018)</p> <p class="IndexEntry"> <a href="/Articles/774440/">A filesystem corruption bug breaks loose</a> (December 10, 2018)</p> <p class="IndexEntry"> <a href="/Articles/789623/">The Linux &quot;copy problem&quot;</a> (May 29, 2019)</p> <p class="IndexEntry"> <a href="/Articles/914031/">Block-device snapshots with blksnap</a> (November 14, 2022)</p> <p class="IndexEntry"> <a href="/Articles/930173/">A kernel without buffer heads</a> (May 1, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931809/">Sunsetting buffer heads</a> (May 18, 2023)</p> <p class="IndexEntry"> <a href="/Articles/932900/">Cloud-storage optimizations</a> (May 26, 2023)</p> <p class="IndexEntry"> <a href="/Articles/933437/">Supporting large block sizes</a> (June 5, 2023)</p> <p class="IndexEntry"> <a href="/Articles/935260/">Merging copy offload</a> (June 21, 2023)</p> <p class="IndexEntry"> <a href="/Articles/945646/">Moving the kernel to large block sizes</a> (September 27, 2023)</p> <p class="IndexSecondary"> <a name="Block_layer-Atomic_operations"></a><a href="#Block_layer-Atomic_operations">Atomic operations</a></p> <p class="IndexEntry"> <a href="/Articles/552095/">Atomic I/O operations</a> (May 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/573092/">Support for atomic block I/O operations</a> (November 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/789600/">A way to do atomic writes</a> (May 28, 2019)</p> <p class="IndexEntry"> <a href="/Articles/933015/">Atomic block-write operations</a> (May 30, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974578/">Atomic writes without tears</a> (May 24, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1009298/">Support for atomic block writes in 6.13</a> (February 20, 2025)</p> <p class="IndexSecondary"> <a name="Block_layer-Block_drivers"></a><a href="#Block_layer-Block_drivers">Block drivers</a></p> <p class="IndexEntry"> <a href="/Articles/247072/">Cleaning up the block driver API</a> (August 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/266914/">A new block request completion API</a> (January 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/273030/">How to use a terabyte of RAM</a> (March 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/303270/">Block layer: solid-state storage, timeouts, affinity, and more</a> (October 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/333620/">Block layer request queue API changes</a> (May 18, 2009)</p> <p class="IndexEntry"> <a href="/Articles/423619/">Reworking disk events handling</a> (January 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/903855/">An io_uring-based user-space block driver</a> (August 8, 2022)</p> <p class="IndexEntry"> <a href="/Articles/906097/">Crash recovery for user-space block drivers</a> (August 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/926118/">Zero-copy I/O for ublk, three different ways</a> (March 16, 2023)</p> <p class="IndexSecondary"> <a name="Block_layer-Caching"></a><a href="#Block_layer-Caching">Caching</a></p> <p class="IndexEntry"> <a href="/Articles/394672/">Bcache: Caching beyond just RAM</a> (July 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/497024/">A bcache update</a> (May 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548348/">LSFMM: Caching — dm-cache and bcache</a> (May 1, 2013)</p> <p class="IndexSecondary"> <a name="Block_layer-Discard_operations"></a><a href="#Block_layer-Discard_operations">Discard operations</a></p> <p class="IndexEntry"> <a href="/Articles/293658/">Block layer discard requests</a> (August 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/347511/">The trouble with discard</a> (August 18, 2009)</p> <p class="IndexEntry"> <a href="/Articles/417809/">The best way to throw blocks away</a> (December 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/787272/">Issues around discard</a> (May 6, 2019)</p> <p class="IndexSecondary"> <a name="Block_layer-Error_handling"></a><a href="#Block_layer-Error_handling">Error handling</a></p> <p class="IndexEntry"> <a href="/Articles/724307/">Improved block-layer error handling</a> (June 2, 2017)</p> <p class="IndexEntry"> <a href="/Articles/752063/">PostgreSQL's fsync() surprise</a> (April 18, 2018)</p> <p class="IndexEntry"> <a href="/Articles/752952/">PostgreSQL visits LSFMM</a> (May 1, 2018)</p> <p class="IndexEntry"> <a href="/Articles/757123/">Handling I/O errors in the kernel</a> (June 12, 2018)</p> <p class="IndexSecondary"> <a name="Block_layer-IO_scheduling"></a><a href="#Block_layer-IO_scheduling">I/O scheduling</a></p> <p class="IndexEntry"> <a href="/Articles/102976/">Modular, switchable I/O schedulers</a> (September 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/110277/">Into the ABISS</a> (November 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/114770/">Which is the fairest I/O scheduler of them all?</a> (December 8, 2004)</p> <p class="IndexEntry"> <a href="/Articles/143474/">CFQ v3</a> (July 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/309400/">Variations on fair I/O schedulers</a> (December 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/332839/">Which I/O controller is the fairest of them all?</a> (May 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/360958/">The block I/O controller</a> (November 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/427961/">Hierarchical group I/O scheduling</a> (February 15, 2011)</p> <p class="IndexEntry"> <a href="/Articles/474268/">An IOPS-based I/O scheduler</a> (January 4, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516540/">KS2012: memcg/mm: Proportional I/O controller</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/601799/">The BFQ I/O scheduler</a> (June 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/674308/">The return of the BFQ I/O scheduler</a> (February 3, 2016)</p> <p class="IndexEntry"> <a href="/Articles/709202/">A way forward for BFQ</a> (December 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/720675/">Two new block I/O schedulers for 4.12</a> (April 24, 2017)</p> <p class="IndexEntry"> <a href="/Articles/763603/">Measuring (and fixing) I/O-controller throughput loss</a> (August 29, 2018)</p> <p class="IndexEntry"> <a href="/Articles/767987/">I/O scheduling for single-queue devices</a> (October 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/784267/">Improving the performance of the BFQ I/O scheduler</a> (March 29, 2019)</p> <p class="IndexSecondary"> <a name="Block_layer-Large_physical_sectors"></a><a href="#Block_layer-Large_physical_sectors">Large physical sectors</a></p> <p class="IndexEntry"> <a href="/Articles/322777/">Linux and 4K disk sectors</a> (March 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/377895/">4K-sector drives and Linux</a> (March 9, 2010)</p> <p class="IndexEntry"> <a href="/Articles/582862/">Preparing for large-sector drives</a> (January 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636978/">Handling 32KB-block drives</a> (March 18, 2015)</p> <p class="IndexSecondary"> <a name="Block_layer-Loopback_device"></a><a href="#Block_layer-Loopback_device">Loopback device</a></p> <p class="IndexEntry"> <a href="/Articles/67216/">A weak cryptoloop implementation in Linux?</a> (January 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/110468/">Partitioned loopback devices</a> (November 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/535034/">Asynchronous block loop I/O</a> (January 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/819625/">Private loop devices with loopfs</a> (May 7, 2020)</p> <p class="IndexSecondary"> <a name="Block_layer-Object_storage_devices"></a><a href="#Block_layer-Object_storage_devices">Object storage devices</a></p> <p class="IndexEntry"> <a href="/Articles/305740/">Linux and object storage devices</a> (November 4, 2008)</p> <p class="IndexSecondary"> <a name="Block_layer-Plugging"></a><a href="#Block_layer-Plugging">Plugging</a></p> <p class="IndexEntry"> <a href="/Articles/75233/">No more global unplugging</a> (March 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/438256/">Explicit block device plugging</a> (April 13, 2011)</p> <p class="IndexEntry"> <a href="/Articles/478440/">What happened to disk performance in 2.6.39</a> (January 31, 2012)</p> <p class="IndexSecondary"> <a name="Block_layer-RAID"></a><a href="#Block_layer-RAID">RAID</a></p> <p class="IndexEntry"> <a href="/Articles/363490/">Journal-guided RAID resync</a> (November 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/384139/">DM and MD come a little closer</a> (April 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/428220/">The MD roadmap</a> (February 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/463575/">Another kernel RAID5 implementation</a> (October 18, 2011)</p> <p class="IndexEntry"> <a href="/Articles/665299/">A journal for MD/RAID5</a> (November 24, 2015)</p> <p class="IndexEntry"> <a href="/Articles/674085/">Cluster support for MD/RAID 1</a> (February 3, 2016)</p> <p class="IndexSecondary"> <a name="Block_layer-Scalability"></a><a href="#Block_layer-Scalability">Scalability</a></p> <p class="IndexEntry"> <a href="/Articles/868070/">More IOPS with BIO caching</a> (September 6, 2021)</p> <p class="IndexEntry"> <a href="/Articles/874643/">The balance between features and performance in the block layer</a> (November 5, 2021)</p> <p class="IndexSecondary"> <a name="Block_layer-Solid-state_storage_devices"></a><a href="#Block_layer-Solid-state_storage_devices">Solid-state storage devices</a></p> <p class="IndexEntry"> <a href="/Articles/408428/">Solid-state storage devices and the block layer</a> (October 4, 2010)</p> <p class="IndexEntry"> <a href="/Articles/619058/">Supporting solid-state hybrid drives</a> (November 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/641247/">Taking control of SSDs with LightNVM</a> (April 22, 2015)</p> <p class="IndexSecondary"> <a name="Block_layer-Testing"></a><a href="#Block_layer-Testing">Testing</a></p> <p class="IndexEntry"> <a href="/Articles/896670/">Challenges with fstests and blktests</a> (June 1, 2022)</p> <p class="IndexEntry"> <a href="/Articles/897061/">Best practices for fstests</a> (June 7, 2022)</p> <p class="IndexSecondary"> <a name="Block_layer-Writeback"></a><a href="#Block_layer-Writeback">Writeback</a></p> <p class="IndexEntry"> <a href="/Articles/354851/">In defense of per-BDI writeback</a> (September 30, 2009)</p> <p class="IndexEntry"> <a href="/Articles/718734/">Handling writeback errors</a> (April 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/752613/">Fixing error reporting—again</a> (April 25, 2018)</p> <p class="IndexSecondary"> <a name="Block_layer-Zoned_devices"></a><a href="#Block_layer-Zoned_devices">Zoned devices</a></p> <p class="IndexEntry"> <a href="/Articles/788851/">Filesystems for zoned block devices</a> (May 21, 2019)</p> <p class="IndexEntry"> <a href="/Articles/794364/">Accessing zoned block devices with zonefs</a> (July 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/853308/">Btrfs on zoned block devices</a> (April 19, 2021)</p> <p class="IndexEntry"> <a href="/Articles/897263/">Zoned storage</a> (June 14, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932748/">Zoned storage and filesystems</a> (May 25, 2023)</p> <p class="IndexPrimary"> <a name="Bogomips"><a href="#Bogomips">Bogomips</a></a></p> <p class="IndexEntry"> <a href="/Articles/628531/">Haunted by ancient history</a> (January 6, 2015)</p> <p class="IndexPrimary"> <a name="Books"><a href="#Books">Books</a></a></p> <p class="IndexEntry"> <a href="/Articles/127018/">Linux Kernel Development, Second Edition</a> (March 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/127556/">Linux Device Drivers, Third Edition now online</a> (March 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/154580/">The Linux Kernel Primer</a> (October 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/161190/">Understanding the Linux Kernel, 3rd Edition</a> (November 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/168894/">Review: Understanding Linux Network Internals</a> (January 24, 2006)</p> <p class="IndexEntry"> <a href="/Articles/183894/">Book Review: User Mode Linux</a> (May 16, 2006)</p> <p class="IndexEntry"> <a href="/Articles/221097/">Review: Linux Kernel in a Nutshell</a> (February 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/260916/">Book review: Linux System Programming</a> (December 5, 2007)</p> <p class="IndexEntry"> <a href="/Articles/419855/">Book review: Linux Kernel Development, third edition</a> (December 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/423417/">Review: The Linux Programming Interface</a> (January 19, 2011)</p> <p class="IndexPrimary"> <a name="Bootstrap_process"><a href="#Bootstrap_process">Bootstrap process</a></a></p> <p class="IndexEntry"> <a href="/Articles/191004/">initramfs and where user space truly begins</a> (July 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/299483/">LPC: Booting Linux in five seconds</a> (September 22, 2008)</p> <p class="IndexEntry"> <a href="/Articles/310434/">Tracking down a &quot;runaway loop&quot;</a> (December 10, 2008)</p> <p class="IndexEntry"> <a href="/Articles/314808/">An asynchronous function call infrastructure</a> (January 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/330378/">USB and fast booting</a> (April 29, 2009)</p> <p class="IndexEntry"> <a href="/Articles/632528/">The bootstrap process on EFI systems</a> (February 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/699551/">Toward measured boot out of the box</a> (September 8, 2016)</p> <p class="IndexPrimary"> <a name="BPF"><a href="#BPF">BPF</a></a></p> <p class="IndexEntry"> <a href="/Articles/437981/">A JIT for packet filters</a> (April 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/599755/">BPF: the universal in-kernel virtual machine</a> (May 21, 2014)</p> <p class="IndexEntry"> <a href="/Articles/603983/">Extending extended BPF</a> (July 2, 2014)</p> <p class="IndexEntry"> <a href="/Articles/606089/">A reworked BPF API</a> (July 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/609571/">A report from the networking miniconference</a> (August 27, 2014)</p> <p class="IndexEntry"> <a href="/Articles/612878/">The BPF system call API, version 14</a> (September 24, 2014)</p> <p class="IndexEntry"> <a href="/Articles/664688/">Persistent BPF objects</a> (November 18, 2015)</p> <p class="IndexEntry"> <a href="/Articles/711234/">Last-minute control-group BPF ABI concerns</a> (January 11, 2017)</p> <p class="IndexEntry"> <a href="/Articles/734453/">Notes from the LPC tracing microconference</a> (September 21, 2017)</p> <p class="IndexEntry"> <a href="/Articles/740157/">A thorough introduction to eBPF</a> (December 2, 2017)</p> <p class="IndexEntry"> <a href="/Articles/747640/">Some advanced BCC topics</a> (February 22, 2018)</p> <p class="IndexEntry"> <a href="/Articles/755919/">Bpfilter (and user-mode blobs) for 4.18</a> (May 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/773198/">Binary portability for BPF programs</a> (November 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/779120/">Concurrency management in BPF</a> (February 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/785263/">Managing sysctl knobs with BPF</a> (April 9, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787856/">BPF: what's good, what's coming, and what's needed</a> (May 9, 2019)</p> <p class="IndexEntry"> <a href="/Articles/801871/">BPF at Facebook (and beyond)</a> (October 10, 2019)</p> <p class="IndexEntry"> <a href="/Articles/802884/">BPF and the realtime patch set</a> (October 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803890/">Filesystem sandboxing with eBPF</a> (November 6, 2019)</p> <p class="IndexEntry"> <a href="/Articles/808503/">A medley of performance-related BPF patches</a> (January 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/811631/">Kernel operations structures in BPF</a> (February 7, 2020)</p> <p class="IndexEntry"> <a href="/Articles/813114/">A look at &quot;BPF Performance Tools&quot;</a> (February 26, 2020)</p> <p class="IndexEntry"> <a href="/Articles/818714/">Dumping kernel data structures with BPF</a> (April 27, 2020)</p> <p class="IndexEntry"> <a href="/Articles/822744/">Rethinking bpfilter and user-mode helpers</a> (June 12, 2020)</p> <p class="IndexEntry"> <a href="/Articles/825415/">Sleepable BPF programs</a> (July 7, 2020)</p> <p class="IndexEntry"> <a href="/Articles/836911/">iproute2 and libbpf: vendoring on the small scale</a> (November 12, 2020)</p> <p class="IndexEntry"> <a href="/Articles/847951/">BPF meets io_uring</a> (March 4, 2021)</p> <p class="IndexEntry"> <a href="/Articles/853489/">Toward signed BPF programs</a> (April 22, 2021)</p> <p class="IndexEntry"> <a href="/Articles/856005/">Calling kernel functions from BPF</a> (May 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/857215/">Implementing eBPF for Windows</a> (June 10, 2021)</p> <p class="IndexEntry"> <a href="/Articles/870269/">Taming the BPF superpowers</a> (September 29, 2021)</p> <p class="IndexEntry"> <a href="/Articles/873244/">Controlling the CPU scheduler with BPF</a> (October 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/900749/">Long-lived kernel pointers in BPF</a> (July 14, 2022)</p> <p class="IndexEntry"> <a href="/Articles/901284/">The BPF panic function</a> (July 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/908464/">How far do we want to go with BPF?</a> (September 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/909095/">BPF as a safer kernel programming environment</a> (September 23, 2022)</p> <p class="IndexEntry"> <a href="/Articles/921088/">Reconsidering BPF ABI stability</a> (January 26, 2023)</p> <p class="IndexEntry"> <a href="/Articles/924128/">Red-black trees for BPF programs</a> (February 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931662/">User-space control of memory management</a> (May 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/933182/">Special file descriptors in BPF</a> (June 5, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937326/">BPF iterators for filesystems</a> (July 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937433/">The FUSE BPF filesystem</a> (July 11, 2023)</p> <p class="IndexEntry"> <a href="/Articles/938435/">Exceptions in BPF</a> (July 21, 2023)</p> <p class="IndexEntry"> <a href="/Articles/946254/">The challenge of compiling for verified architectures</a> (October 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/969185/">Cleaning up after BPF exceptions</a> (April 15, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974102/">A plan to make BPF kfuncs polymorphic</a> (May 20, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974363/">Virtual machine scheduling with BPF</a> (May 22, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974848/">Recent improvements to BPF's struct_ops mechanism</a> (May 24, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974945/">LLVM improvements for BPF verification</a> (May 27, 2024)</p> <p class="IndexEntry"> <a href="/Articles/976071/">An instruction-level BPF memory model</a> (June 4, 2024)</p> <p class="IndexEntry"> <a href="/Articles/977013/">Modernizing BPF for the next 10 years</a> (June 7, 2024)</p> <p class="IndexEntry"> <a href="/Articles/977394/">Securing BPF programs before and after verification</a> (June 11, 2024)</p> <p class="IndexEntry"> <a href="/Articles/977815/">Simplifying the BPF verifier</a> (June 13, 2024)</p> <p class="IndexEntry"> <a href="/Articles/977993/">Static keys for BPF</a> (June 17, 2024)</p> <p class="IndexEntry"> <a href="/Articles/978335/">BPF tracing performance</a> (June 18, 2024)</p> <p class="IndexEntry"> <a href="/Articles/978736/">Capturing stack traces asynchronously with BPF</a> (June 19, 2024)</p> <p class="IndexEntry"> <a href="/Articles/984313/">CRIB: checkpoint/restore in BPF</a> (August 7, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1007947/">Improved load-time checking for BPF kfuncs</a> (February 7, 2025)</p> <p class="IndexSecondary"> <a name="BPF-CPU_scheduling"></a><a href="#BPF-CPU_scheduling">CPU scheduling</a></p> <p class="IndexEntry"> <a href="/Articles/922405/">The extensible scheduler class</a> (February 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/966618/">Improving performance with SCHED_EXT and IOCost</a> (April 1, 2024)</p> <p class="IndexEntry"> <a href="/Articles/972710/">Another push for sched_ext</a> (May 9, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974387/">What's scheduled for sched_ext</a> (May 23, 2024)</p> <p class="IndexEntry"> <a href="/Articles/991205/">Sched_ext at LPC 2024</a> (September 26, 2024)</p> <p class="IndexSecondary"> <a name="BPF-Device_drivers"></a><a href="#BPF-Device_drivers">Device drivers</a></p> <p class="IndexEntry"> <a href="/Articles/759188/">IR decoding with BPF</a> (July 9, 2018)</p> <p class="IndexEntry"> <a href="/Articles/909109/">BPF for HID drivers</a> (September 26, 2022)</p> <p class="IndexEntry"> <a href="/Articles/949960/">The BPF-programmable network device</a> (November 6, 2023)</p> <p class="IndexSecondary"> <a name="BPF-Loops"></a><a href="#BPF-Loops">Loops</a></p> <p class="IndexEntry"> <a href="/Articles/773605/">Bounded loops in BPF programs</a> (December 3, 2018)</p> <p class="IndexEntry"> <a href="/Articles/794934/">Bounded loops in BPF for the 5.3 kernel</a> (July 31, 2019)</p> <p class="IndexEntry"> <a href="/Articles/877062/">A different approach to BPF loops</a> (November 29, 2021)</p> <p class="IndexEntry"> <a href="/Articles/926041/">Generic iterators for BPF</a> (March 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/964381/">Better linked-list traversal in BPF</a> (March 8, 2024)</p> <p class="IndexSecondary"> <a name="BPF-Memory_management"></a><a href="#BPF-Memory_management">Memory management</a></p> <p class="IndexEntry"> <a href="/Articles/883454/">A memory allocator for BPF code</a> (February 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/892743/">The BPF allocator runs into trouble</a> (April 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/899274/">A BPF-specific memory allocator</a> (June 30, 2022)</p> <p class="IndexEntry"> <a href="/Articles/915005/">Yet another try at the BPF program allocator</a> (November 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/941614/">Out-of-memory victim selection with BPF</a> (August 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/961941/">A proposal for shared memory in BPF programs</a> (February 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1014220/">MM medley: huge page allocation, page promotion, KSM, and BPF</a> (March 20, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016001/">Slab allocator: sheaves and any-context allocations</a> (April 1, 2025)</p> <p class="IndexSecondary"> <a name="BPF-Networking"></a><a href="#BPF-Networking">Networking</a></p> <p class="IndexEntry"> <a href="/Articles/625224/">Attaching eBPF programs to sockets</a> (December 10, 2014)</p> <p class="IndexEntry"> <a href="/Articles/682538/">Early packet drop — and more — with BPF</a> (April 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/698073/">Network filtering for control groups</a> (August 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/747551/">BPF comes to firewalls</a> (February 19, 2018)</p> <p class="IndexEntry"> <a href="/Articles/764200/">Writing network flow dissectors in BPF</a> (September 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/977310/">P4TC hits a brick wall</a> (June 10, 2024)</p> <p class="IndexSecondary"> <a name="BPF-Security"></a><a href="#BPF-Security">Security</a></p> <p class="IndexEntry"> <a href="/Articles/475043/">Yet another new approach to seccomp</a> (January 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/798157/">Kernel runtime security instrumentation</a> (September 4, 2019)</p> <p class="IndexEntry"> <a href="/Articles/808048/">KRSI — the other BPF security module</a> (December 27, 2019)</p> <p class="IndexEntry"> <a href="/Articles/809841/">KRSI and proprietary BPF programs</a> (January 17, 2020)</p> <p class="IndexEntry"> <a href="/Articles/813261/">Impedance matching for BPF and LSM</a> (February 26, 2020)</p> <p class="IndexEntry"> <a href="/Articles/822362/">A crop of new capabilities</a> (June 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/857228/">eBPF seccomp() filters</a> (May 31, 2021)</p> <p class="IndexEntry"> <a href="/Articles/860597/">Spectre revisits BPF</a> (June 24, 2021)</p> <p class="IndexEntry"> <a href="/Articles/929746/">Unprivileged BPF and authoritative security hooks</a> (April 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/935195/">Delegating privilege with BPF tokens</a> (June 22, 2023)</p> <p class="IndexEntry"> <a href="/Articles/946389/">BPF and security</a> (October 4, 2023)</p> <p class="IndexEntry"> <a href="/Articles/947173/">Finer-grained BPF tokens</a> (October 12, 2023)</p> <p class="IndexSecondary"> <a name="BPF-Standardization"></a><a href="#BPF-Standardization">Standardization</a></p> <p class="IndexEntry"> <a href="/Articles/926882/">Standardizing BPF</a> (April 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/975830/">Standardizing the BPF ISA</a> (May 30, 2024)</p> <p class="IndexSecondary"> <a name="BPF-Tracing"></a><a href="#BPF-Tracing">Tracing</a></p> <p class="IndexEntry"> <a href="/Articles/575531/">BPF tracing filters</a> (December 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/595565/">Ktap or BPF?</a> (April 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/635522/">Ftrace and histograms: a fork in the road</a> (March 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/683504/">Tracepoints with BPF</a> (April 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/753601/">Using user-space tracepoints with BPF</a> (May 11, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787131/">The state of system observability with BPF</a> (May 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/793749/">Kernel analysis with bpftrace</a> (July 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803258/">Type checking for BPF tracing</a> (October 28, 2019)</p> <p class="IndexEntry"> <a href="/Articles/835426/">Relief for insomniac tracepoints</a> (October 29, 2020)</p> <p class="IndexEntry"> <a href="/Articles/889607/">User events — but not quite yet</a> (April 18, 2022)</p> <p class="IndexSecondary"> <a name="BPF-Unprivileged"></a><a href="#BPF-Unprivileged">Unprivileged</a></p> <p class="IndexEntry"> <a href="/Articles/660331/">Unprivileged bpf()</a> (October 12, 2015)</p> <p class="IndexEntry"> <a href="/Articles/792124/">Providing wider access to bpf()</a> (June 27, 2019)</p> <p class="IndexEntry"> <a href="/Articles/796328/">Reconsidering unprivileged BPF</a> (August 16, 2019)</p> <p class="IndexPrimary"> <a name="Broadcom_43xx"><a href="#Broadcom_43xx">Broadcom 43xx</a></a></p> <p class="IndexEntry"> <a href="/Articles/162890/">bcm43xx and the 802.11 stack</a> (December 6, 2005)</p> <p class="IndexEntry"> <a href="/Articles/229740/">How not to handle a licensing violation</a> (April 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/456762/">Broadcom's wireless drivers, one year later</a> (August 29, 2011)</p> <p class="IndexPrimary"> <a name="Btrfs"><a href="#Btrfs">Btrfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/238923/">btrfs and NILFS</a> (June 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/265257/">A better btrfs</a> (January 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/313682/">Btrfs aims for the mainline</a> (January 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/342892/">A short history of btrfs</a> (July 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/358940/">JLS2009: A Btrfs update</a> (October 27, 2009)</p> <p class="IndexEntry"> <a href="/Articles/361457/">Supporting transactions in btrfs</a> (November 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/393144/">Btrfs: broken by design?</a> (June 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/398503/">Data temperature in Btrfs</a> (August 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/462543/">Whither btrfsck?</a> (October 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/465160/">A btrfs update at LinuxCon Europe</a> (November 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/499293/">Atime and btrfs: a bad combination?</a> (May 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/506244/">Btrfs send/receive</a> (July 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/525651/">VFS hot-data tracking</a> (November 20, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548937/">LSFMM: Btrfs: &quot;are we there yet?&quot;</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/627232/">CoreOS looks to move from Btrfs to overlayfs</a> (December 24, 2014)</p> <p class="IndexEntry"> <a href="/Articles/679031/">In-band deduplication for Btrfs</a> (March 9, 2016)</p> <p class="IndexEntry"> <a href="/Articles/698090/">Btrfs and high-speed devices</a> (August 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/701263/">Adding encryption to Btrfs</a> (September 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/824855/">Btrfs at Facebook</a> (July 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/837816/">epoll_pwait2(), close_range(), and encoded I/O</a> (November 20, 2020)</p> <p class="IndexSecondary"> <a name="Btrfs-LWNs_guide_to"></a><a href="#Btrfs-LWNs_guide_to">LWN's guide to</a></p> <p class="IndexEntry"> <a href="/Articles/576276/">The Btrfs filesystem: An introduction</a> (December 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/577218/">Btrfs: Getting started</a> (December 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/577961/">Btrfs: Working with multiple devices</a> (December 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/579009/">Btrfs: Subvolumes and snapshots</a> (January 6, 2014)</p> <p class="IndexEntry"> <a href="/Articles/581558/">Btrfs: Send/receive and ioctl()</a> (January 22, 2014)</p> <p class="IndexPrimary"> <a name="Budget_fair_queuing_scheduler"><a href="#Budget_fair_queuing_scheduler">Budget fair queuing scheduler</a></a></p> <p class="IndexEntry"> <a href="/Articles/309400/">Variations on fair I/O schedulers</a> (December 3, 2008)</p> <p class="IndexPrimary"> <a name="Buffered_IO"><a href="#Buffered_IO">Buffered I/O</a></a></p> <p class="IndexEntry"> <a href="/Articles/976856/">Measuring and improving buffered I/O</a> (June 5, 2024)</p> <p class="IndexPrimary"> <a name="Buffer_heads"><a href="#Buffer_heads">Buffer heads</a></a></p> <p class="IndexEntry"> <a href="/Articles/215868/">A nasty file corruption bug - fixed</a> (December 31, 2006)</p> <p class="IndexPrimary"> <a name="Build_system"><a href="#Build_system">Build system</a></a></p> <p class="IndexEntry"> <a href="/Articles/67175/">Shrinking the kernel with gcc</a> (January 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/80250/">Building external modules</a> (April 13, 2004)</p> <p class="IndexEntry"> <a href="/Articles/90818/">Separating kernel source and object files</a> (June 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/163881/">The end of gcc 2.95 support</a> (December 13, 2005)</p> <p class="IndexEntry"> <a href="/Articles/173882/">Some patches of interest</a> (February 28, 2006)</p> <p class="IndexEntry"> <a href="/Articles/400651/">Testing crypto drivers at boot time</a> (August 18, 2010)</p> <p class="IndexEntry"> <a href="/Articles/512548/">Link-time optimization for the kernel</a> (August 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/531148/">Special sections in Linux binaries</a> (January 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/702375/">Creating a kernel build farm</a> (October 5, 2016)</p> <p class="IndexEntry"> <a href="/Articles/707520/">The end of modversions?</a> (November 30, 2016)</p> <p class="IndexEntry"> <a href="/Articles/741494/">Shrinking the kernel with link-time garbage collection</a> (December 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/744507/">Shrinking the kernel with link-time optimization</a> (January 18, 2018)</p> <p class="IndexEntry"> <a href="/Articles/748074/">Shedding old architectures and compilers in the kernel</a> (February 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/764664/">Compiling kernel UAPI headers with C++</a> (September 13, 2018)</p> <p class="IndexEntry"> <a href="/Articles/783578/">Building header files into the kernel</a> (March 21, 2019)</p> <p class="IndexEntry"> <a href="/Articles/842122/">Old compilers and old bugs</a> (January 11, 2021)</p> <p class="IndexEntry"> <a href="/Articles/885941/">Moving the kernel to modern C</a> (February 24, 2022)</p> <p class="IndexEntry"> <a href="/Articles/906660/">A framework for code tagging</a> (September 1, 2022)</p> <p class="IndexEntry"> <a href="/Articles/911914/">Would you like signs with those chars?</a> (October 24, 2022)</p> <p class="IndexEntry"> <a href="/Articles/927569/">The trouble with MODULE_LICENSE() in non-modules</a> (March 30, 2023)</p> <p class="IndexEntry"> <a href="/Articles/932402/">Code tagging and memory-allocation profiling</a> (May 31, 2023)</p> <p class="IndexEntry"> <a href="/Articles/983965/">Maximal min() and max()</a> (August 1, 2024)</p> <p class="IndexEntry"> <a href="/Articles/986892/">A new version of modversions</a> (August 26, 2024)</p> <p class="IndexSecondary"> <a name="Build_system-GCC_plugins"></a><a href="#Build_system-GCC_plugins">GCC plugins</a></p> <p class="IndexEntry"> <a href="/Articles/461696/">Better kernels with GCC plugins</a> (October 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/691102/">Kernel building with GCC plugins</a> (June 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/712161/">A pair of GCC plugins</a> (January 25, 2017)</p> <p class="IndexEntry"> <a href="/Articles/851090/">The future of GCC plugins in the kernel</a> (April 1, 2021)</p> <p class="IndexSecondary"> <a name="Build_system-Kernel_configuration"></a><a href="#Build_system-Kernel_configuration">Kernel configuration</a></p> <p class="IndexEntry"> <a href="/Articles/426013/">Kconfiglib</a> (February 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/507239/">Kernel configuration for distributions</a> (July 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/733405/">A different approach to kernel configuration</a> (September 12, 2017)</p> <p class="IndexEntry"> <a href="/Articles/899743/">The end of CONFIG_ANDROID</a> (July 4, 2022)</p> <p class="IndexPrimary"> <a name="bus1"><a href="#bus1">bus1</a></a></p> <p class="IndexEntry"> <a href="/Articles/697191/">Bus1: a new Linux interprocess communication proposal</a> (August 17, 2016)</p> <p class="IndexPrimary"> <a name="C11_atomic_operations"><a href="#C11_atomic_operations">C11 atomic operations</a></a></p> <p class="IndexEntry"> <a href="/Articles/586838/">C11 atomic variables and the kernel</a> (February 18, 2014)</p> <p class="IndexEntry"> <a href="/Articles/588300/">C11 atomics part 2: &quot;consume&quot; semantics</a> (February 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/691128/">Time to move to C11 atomics?</a> (June 15, 2016)</p> <p class="IndexPrimary"> <a name="CacheFS"><a href="#CacheFS">CacheFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/100321/">A general caching filesystem</a> (September 1, 2004)</p> <p class="IndexPrimary"> <a name="Capabilities"><a href="#Capabilities">Capabilities</a></a></p> <p class="IndexEntry"> <a href="/Articles/79185/">Capabilities in 2.6</a> (April 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/84566/">Magic groups in 2.6</a> (May 11, 2004)</p> <p class="IndexEntry"> <a href="/Articles/111247/">Trustees Linux</a> (November 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/199004/">A bid to resurrect Linux capabilities</a> (September 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/211883/">File-based capabilities</a> (November 29, 2006)</p> <p class="IndexEntry"> <a href="/Articles/256519/">Fixing CAP_SETPCAP</a> (October 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/280279/">Restricting root with per-process securebits</a> (April 30, 2008)</p> <p class="IndexEntry"> <a href="/Articles/430462/">Capabilities for loading network modules</a> (March 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/486306/">CAP_SYS_ADMIN: the new root</a> (March 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/542327/">The trouble with CAP_SYS_RAWIO</a> (March 13, 2013)</p> <p class="IndexEntry"> <a href="/Articles/566169/">BSD-style securelevel comes to Linux — again</a> (September 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/632520/">Inheriting capabilities</a> (February 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/641275/">The kdbuswreck</a> (April 22, 2015)</p> <p class="IndexEntry"> <a href="/Articles/694209/">Tracking resources and capabilities used</a> (July 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/726816/">Namespaced file capabilities</a> (June 30, 2017)</p> <p class="IndexEntry"> <a href="/Articles/812719/">CAP_PERFMON — and new capabilities in general</a> (February 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/822362/">A crop of new capabilities</a> (June 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/978846/">A capability set for user namespaces</a> (June 20, 2024)</p> <p class="IndexPrimary"> <a name="CD_recording"><a href="#CD_recording">CD recording</a></a></p> <p class="IndexEntry"> <a href="/Articles/193516/">SCSI command filtering</a> (July 31, 2006)</p> <p class="IndexSecondary"> <a name="CD_recording-2.6.8_problems"></a><a href="#CD_recording-2.6.8_problems">2.6.8 problems</a></p> <p class="IndexEntry"> <a href="/Articles/98379/">2.6.8 and CD recording</a> (August 18, 2004)</p> <p class="IndexPrimary"> <a name="CFQ_IO_scheduler"><a href="#CFQ_IO_scheduler">CFQ I/O scheduler</a></a></p> <p class="IndexEntry"> <a href="/Articles/114770/">Which is the fairest I/O scheduler of them all?</a> (December 8, 2004)</p> <p class="IndexEntry"> <a href="/Articles/143474/">CFQ v3</a> (July 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/309400/">Variations on fair I/O schedulers</a> (December 3, 2008)</p> <p class="IndexPrimary"> <a name="Changelogs"><a href="#Changelogs">Changelogs</a></a></p> <p class="IndexEntry"> <a href="/Articles/329428/">In search of the perfect changelog</a> (April 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/560392/">What's missing from our changelogs</a> (July 24, 2013)</p> <p class="IndexPrimary"> <a name="Character_encoding"><a href="#Character_encoding">Character encoding</a></a></p> <p class="IndexEntry"> <a href="/Articles/71472/">The kernel and character set encodings</a> (February 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/784124/">Working with UTF-8 in the kernel</a> (March 28, 2019)</p> <p class="IndexPrimary"> <a name="Char_devices"><a href="#Char_devices">Char devices</a></a></p> <p class="IndexEntry"> <a href="/Articles/195805/">The cdev interface</a> (August 16, 2006)</p> <p class="IndexPrimary"> <a name="Checkpointing"><a href="#Checkpointing">Checkpointing</a></a></p> <p class="IndexEntry"> <a href="/Articles/293575/">Kernel-based checkpoint and restart</a> (August 11, 2008)</p> <p class="IndexEntry"> <a href="/Articles/320508/">Checkpoint/restart tries to head towards the mainline</a> (February 25, 2009)</p> <p class="IndexEntry"> <a href="/Articles/346584/">clone_with_pids()</a> (August 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/362371/">eclone()</a> (November 18, 2009)</p> <p class="IndexEntry"> <a href="/Articles/375855/">A Checkpoint/restart update</a> (February 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412749/">KS2010: Checkpoint/restart</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/414264/">Checkpoint/restart: it's complicated</a> (November 9, 2010)</p> <p class="IndexEntry"> <a href="/Articles/452184/">Checkpoint/restart (mostly) in user space</a> (July 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/454427/">TCP connection hijacking and parasites - as a good thing</a> (August 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/478111/">Preparing for user-space checkpoint/restore</a> (January 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/495304/">TCP connection repair</a> (May 1, 2012)</p> <p class="IndexEntry"> <a href="/Articles/525675/">LCE: Checkpoint/restore in user space: are we there yet?</a> (November 20, 2012)</p> <p class="IndexEntry"> <a href="/Articles/531939/">Checkpoint/restore and signals</a> (January 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572125/">Checkpoint/restart in user space</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/822362/">A crop of new capabilities</a> (June 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/915728/">The intersection of shadow stacks and CRIU</a> (December 16, 2022)</p> <p class="IndexEntry"> <a href="/Articles/984313/">CRIB: checkpoint/restore in BPF</a> (August 7, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1012490/">Timer IDs, CRIU, and ABI challenges</a> (March 6, 2025)</p> <p class="IndexPrimary"> <a name="CIFS"><a href="#CIFS">CIFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/183693/">On the future of smbfs</a> (May 15, 2006)</p> <p class="IndexEntry"> <a href="/Articles/548938/">LSFMM: User space NFS and CIFS servers</a> (May 1, 2013)</p> <p class="IndexPrimary"> <a name="Circular_buffers"><a href="#Circular_buffers">Circular buffers</a></a></p> <p class="IndexEntry"> <a href="/Articles/107314/">Coming in 2.6.10</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/118750/">Circular pipes</a> (January 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/119682/">The evolution of pipe buffers</a> (January 18, 2005)</p> <p class="IndexPrimary"> <a name="Class-based_resource_management"><a href="#Class-based_resource_management">Class-based resource management</a></a></p> <p class="IndexEntry"> <a href="/Articles/94573/">Kernel Summit: Class-based Kernel Resource Management</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/145135/">Is CKRM worth it?</a> (July 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/182369/">Briefly: patch quality, CKRM, likely(), and vmsplice()</a> (May 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/197433/">Resource beancounters</a> (August 29, 2006)</p> <p class="IndexPrimary"> <a name="class_simple"><a href="#class_simple">class_simple</a></a></p> <p class="IndexEntry"> <a href="/Articles/70680/">Safe sysfs support</a> (February 11, 2004)</p> <p class="IndexPrimary"> <a name="Clockevents"><a href="#Clockevents">Clockevents</a></a></p> <p class="IndexEntry"> <a href="/Articles/223185/">Clockevents and dyntick</a> (February 21, 2007)</p> <p class="IndexPrimary"> <a name="CLOCK-Pro"><a href="#CLOCK-Pro">CLOCK-Pro</a></a></p> <p class="IndexEntry"> <a href="/Articles/147879/">A CLOCK-Pro page replacement implementation</a> (August 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/177118/">A framework for page replacement policies</a> (March 25, 2006)</p> <p class="IndexPrimary"> <a name="Clocks"><a href="#Clocks">Clocks</a></a></p> <p class="IndexEntry"> <a href="/Articles/472998/">A common clock framework</a> (December 21, 2011)</p> <p class="IndexPrimary"> <a name="Closures"><a href="#Closures">Closures</a></a></p> <p class="IndexEntry"> <a href="/Articles/957187/">The kernel &quot;closure&quot; API</a> (January 11, 2024)</p> <p class="IndexPrimary"> <a name="Clusters"><a href="#Clusters">Clusters</a></a></p> <p class="IndexEntry"> <a href="/Articles/136308/">Clusters and distributed lock management</a> (May 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144274/">Kernel Summit 2005: Clustering</a> (July 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/329543/">DRBD: a distributed block device</a> (April 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/819237/">Popcorn Linux pops up on linux-kernel</a> (May 5, 2020)</p> <p class="IndexSecondary"> <a name="Clusters-Cluster_summit_presentations"></a><a href="#Clusters-Cluster_summit_presentations">Cluster summit presentations</a></p> <p class="IndexEntry"> <a href="/Articles/97518/">Presentations from the cluster summit</a> (August 11, 2004)</p> <p class="IndexSecondary"> <a name="Clusters-Filesystems"></a><a href="#Clusters-Filesystems">Filesystems</a></p> <p class="IndexEntry"> <a href="/Articles/88680/">Should the Lustre preparation patches go in?</a> (June 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/94559/">Kernel Summit: Clustered storage</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/137278/">The OCFS2 filesystem</a> (May 24, 2005)</p> <p class="IndexEntry"> <a href="/Articles/147043/">Time to merge GFS?</a> (August 10, 2005)</p> <p class="IndexEntry"> <a href="/Articles/150652/">Merging GFS2</a> (September 7, 2005)</p> <p class="IndexEntry"> <a href="/Articles/313437/">New NFS to bring parallel storage to the masses</a> (January 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/402287/">A look inside the OCFS2 filesystem</a> (September 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/595652/">Loopback NFS: theory and practice</a> (April 23, 2014)</p> <p class="IndexPrimary"> <a name="cmpxchg"><a href="#cmpxchg">cmpxchg()</a></a></p> <p class="IndexEntry"> <a href="/Articles/93617/">RCU-safe reference counting</a> (July 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/565734/">Introducing lockrefs</a> (September 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/847973/">Lockless patterns: an introduction to compare-and-swap</a> (March 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/849237/">Lockless patterns: more read-modify-write operations</a> (March 19, 2021)</p> <p class="IndexPrimary"> <a name="Coding_style"><a href="#Coding_style">Coding style</a></a></p> <p class="IndexEntry"> <a href="/Articles/70473/">How likely should likely() be?</a> (February 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/82495/">The cost of inline functions</a> (April 28, 2004)</p> <p class="IndexEntry"> <a href="/Articles/88767/">Fear of the void</a> (June 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/93574/">NULL v. zero</a> (July 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/113349/">Kernel headers and user space</a> (November 30, 2004)</p> <p class="IndexEntry"> <a href="/Articles/135568/">The coding style enforcer</a> (May 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/166172/">Drawing the line on inline</a> (January 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/233479/">The trouble with volatile</a> (May 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/694755/">Coding-style exceptionalism</a> (July 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/794944/">An end to implicit fall-throughs in the kernel</a> (August 1, 2019)</p> <p class="IndexPrimary"> <a name="Completions"><a href="#Completions">Completions</a></a></p> <p class="IndexEntry"> <a href="/Articles/120614/">Some 2.6.11 API changes</a> (January 25, 2005)</p> <p class="IndexPrimary"> <a name="Computational_storage"><a href="#Computational_storage">Computational storage</a></a></p> <p class="IndexEntry"> <a href="/Articles/931949/">Computational storage</a> (May 17, 2023)</p> <p class="IndexPrimary"> <a name="Compute_Express_Link_CXL"><a href="#Compute_Express_Link_CXL">Compute Express Link (CXL)</a></a></p> <p class="IndexEntry"> <a href="/Articles/894598/">CXL 1: Management and tiering</a> (May 13, 2022)</p> <p class="IndexEntry"> <a href="/Articles/894626/">CXL 2: Pooling, sharing, and I/O-memory resources</a> (May 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931282/">A storage standards update at LSFMM+BPF</a> (May 11, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931416/">Memory-management changes for CXL</a> (May 12, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931421/">The future of memory tiering</a> (May 12, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931528/">Live migration of virtual machines over CXL</a> (May 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931668/">Peer-to-peer DMA</a> (May 16, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974518/">Two sessions on CXL memory</a> (May 22, 2024)</p> <p class="IndexEntry"> <a href="/Articles/983105/">Famfs: a filesystem interface to shareable memory</a> (July 30, 2024)</p> <p class="IndexPrimary"> <a name="Confidential_computing"><a href="#Confidential_computing">Confidential computing</a></a></p> <p class="IndexEntry"> <a href="/Articles/921266/">The Linux SVSM project</a> (January 30, 2023)</p> <p class="IndexEntry"> <a href="/Articles/928328/">Seeking an acceptable unaccepted memory policy</a> (April 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/943239/">Security topics: io_uring, VM attestation, and random-reseed notifications</a> (September 4, 2023)</p> <p class="IndexEntry"> <a href="/Articles/949277/">Guest-first memory for KVM</a> (November 2, 2023)</p> <p class="IndexEntry"> <a href="/Articles/961121/">Pitchforks for RDSEED</a> (February 8, 2024)</p> <p class="IndexEntry"> <a href="/Articles/963281/">A RDRAND followup</a> (February 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1016133/">The state of guest_memfd</a> (April 4, 2025)</p> <p class="IndexPrimary"> <a name="Configfs"><a href="#Configfs">Configfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/148973/">Configfs - an introduction</a> (August 24, 2005)</p> <p class="IndexEntry"> <a href="/Articles/148987/">Configfs - the API</a> (August 24, 2005)</p> <p class="IndexPrimary"> <a name="Containers"><a href="#Containers">Containers</a></a></p> <p class="IndexEntry"> <a href="/Articles/168093/">Containers and PID virtualization</a> (January 17, 2006)</p> <p class="IndexEntry"> <a href="/Articles/171017/">PID virtualization: a wealth of choices</a> (February 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/179361/">Containers and lightweight virtualization</a> (April 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191923/">Kernel Summit 2006: Paravirtualization and containers</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/200073/">Another container implementation</a> (September 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/236038/">Process containers</a> (May 29, 2007)</p> <p class="IndexEntry"> <a href="/Articles/243795/">Controlling memory use in containers</a> (July 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/249080/">KS2007: Containers</a> (September 10, 2007)</p> <p class="IndexEntry"> <a href="/Articles/257297/">Process IDs in a multi-namespace world</a> (November 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/260172/">System call updates: indirect(), timerfd(), and hijack()</a> (November 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/293575/">Kernel-based checkpoint and restart</a> (August 11, 2008)</p> <p class="IndexEntry"> <a href="/Articles/320508/">Checkpoint/restart tries to head towards the mainline</a> (February 25, 2009)</p> <p class="IndexEntry"> <a href="/Articles/332839/">Which I/O controller is the fairest of them all?</a> (May 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/346584/">clone_with_pids()</a> (August 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/375855/">A Checkpoint/restart update</a> (February 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/377109/">Divorcing namespaces from processes</a> (March 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/407495/">Namespace file descriptors</a> (September 29, 2010)</p> <p class="IndexEntry"> <a href="/Articles/441438/">Mob rule for dentries</a> (May 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/452184/">Checkpoint/restart (mostly) in user space</a> (July 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/462669/">Running distributions in containers</a> (October 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/491310/">A new approach to user namespaces</a> (April 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/495304/">TCP connection repair</a> (May 1, 2012)</p> <p class="IndexEntry"> <a href="/Articles/524952/">LCE: The failure of operating systems and how we can fix it</a> (November 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/531114/">Namespaces in operation, part 1: namespaces overview</a> (January 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/590928/">SO_PEERCGROUP: which container is calling?</a> (March 18, 2014)</p> <p class="IndexEntry"> <a href="/Articles/679308/">Architecture emulation containers with binfmt_misc</a> (March 9, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684614/">Virtual machines as containers</a> (April 23, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684832/">Quickly: Filesystems and containers / Self-encrypting drives</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/688809/">Containers, pseudo TTYs, and backward compatibility</a> (June 1, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718639/">Container-aware filesystems</a> (April 3, 2017)</p> <p class="IndexEntry"> <a href="/Articles/723561/">Containers as kernel objects</a> (May 23, 2017)</p> <p class="IndexEntry"> <a href="/Articles/741261/">Process tagging with ptags</a> (December 13, 2017)</p> <p class="IndexEntry"> <a href="/Articles/750313/">An audit container ID proposal</a> (March 29, 2018)</p> <p class="IndexEntry"> <a href="/Articles/780364/">Containers as kernel objects — again</a> (February 22, 2019)</p> <p class="IndexEntry"> <a href="/Articles/877308/">A filesystem for namespaces</a> (December 3, 2021)</p> <p class="IndexEntry"> <a href="/Articles/899281/">System-call interception for unprivileged containers</a> (June 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/934176/">Mounting images inside a user namespace</a> (June 13, 2023)</p> <p class="IndexPrimary"> <a name="Contiguous_memory_allocator"><a href="#Contiguous_memory_allocator">Contiguous memory allocator</a></a></p> <p class="IndexEntry"> <a href="/Articles/396702/">Contiguous memory allocation for drivers</a> (July 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/447405/">A reworked contiguous memory allocator</a> (June 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/450286/">CMA and ARM</a> (July 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/486301/">A deep dive into CMA</a> (March 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/684611/">CMA and compaction</a> (April 23, 2016)</p> <p class="IndexEntry"> <a href="/Articles/1015000/">The guaranteed contiguous memory allocator</a> (March 21, 2025)</p> <p class="IndexPrimary"> <a name="Control_groups"><a href="#Control_groups">Control groups</a></a></p> <p class="IndexEntry"> <a href="/Articles/443241/">Integrating memory control groups</a> (May 17, 2011)</p> <p class="IndexEntry"> <a href="/Articles/459585/">LPC: Control groups</a> (September 20, 2011)</p> <p class="IndexEntry"> <a href="/Articles/463357/">Timer slack for slacker developers</a> (October 17, 2011)</p> <p class="IndexEntry"> <a href="/Articles/463683/">Limiting system calls via control groups?</a> (October 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/464288/">KS2011: Coming to love control groups</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/470656/">Per-cgroup TCP buffer limits</a> (December 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/484251/">Fixing control groups</a> (February 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/485593/">Two approaches to kernel memory usage accounting</a> (March 7, 2012)</p> <p class="IndexEntry"> <a href="/Articles/486401/">A proposed plan for control groups</a> (March 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516529/">KS2012: memcg/mm: Improving kernel-memory accounting for memory cgroups</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516908/">Throwing one away</a> (September 19, 2012)</p> <p class="IndexEntry"> <a href="/Articles/531077/">The mempressure control group proposal</a> (January 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548189/">LSFMM: Soft reclaim</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/557082/">When the kernel ABI has to change</a> (July 2, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571977/">The evolution of control groups</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/574317/">The past, present, and future of control groups</a> (November 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/575672/">Another daemon for managing control groups</a> (December 5, 2013)</p> <p class="IndexEntry"> <a href="/Articles/601840/">The unified control group hierarchy in 3.16</a> (June 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/621006/">Control group namespaces</a> (November 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/684926/">Memory control group fairness</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/694209/">Tracking resources and capabilities used</a> (July 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/698073/">Network filtering for control groups</a> (August 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/711234/">Last-minute control-group BPF ABI concerns</a> (January 11, 2017)</p> <p class="IndexEntry"> <a href="/Articles/714396/">A resolution on control-group network filters</a> (February 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/753162/">Three sessions on memory control groups</a> (May 1, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787614/">Cleaning up after dying control groups</a> (May 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787626/">Remote memory control-group charging</a> (May 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/789640/">Shrinking filesystem caches for dying control groups</a> (May 29, 2019)</p> <p class="IndexEntry"> <a href="/Articles/844976/">The burstable CFS bandwidth controller</a> (February 8, 2021)</p> <p class="IndexEntry"> <a href="/Articles/855049/">A &quot;kill&quot; button for control groups</a> (May 3, 2021)</p> <p class="IndexEntry"> <a href="/Articles/895431/">Cleaning up dying control groups, 2022 edition</a> (May 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932070/">Fighting the zombie-memcg invasion</a> (May 19, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974575/">The twilight of the version-1 memory controller</a> (May 23, 2024)</p> <p class="IndexSecondary"> <a name="Control_groups-IO_bandwidth_controllers"></a><a href="#Control_groups-IO_bandwidth_controllers">I/O bandwidth controllers</a></p> <p class="IndexEntry"> <a href="/Articles/648292/">Writeback and control groups</a> (June 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/753277/">Controlling block-I/O latency</a> (May 3, 2018)</p> <p class="IndexEntry"> <a href="/Articles/758963/">The block I/O latency controller</a> (July 5, 2018)</p> <p class="IndexEntry"> <a href="/Articles/782876/">The creation of the io.latency block I/O controller</a> (March 14, 2019)</p> <p class="IndexEntry"> <a href="/Articles/792256/">The io.weight I/O-bandwidth controller</a> (June 28, 2019)</p> <p class="IndexEntry"> <a href="/Articles/966618/">Improving performance with SCHED_EXT and IOCost</a> (April 1, 2024)</p> <p class="IndexSecondary"> <a name="Control_groups-LWNs_guide_to"></a><a href="#Control_groups-LWNs_guide_to">LWN's guide to</a></p> <p class="IndexEntry"> <a href="/Articles/603762/">Control groups, part 1: On the history of process grouping</a> (July 1, 2014)</p> <p class="IndexEntry"> <a href="/Articles/604413/">Control groups, part 2: On the different sorts of hierarchies</a> (July 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/605039/">Control groups, part 3: First steps to control</a> (July 16, 2014)</p> <p class="IndexEntry"> <a href="/Articles/606004/">Control groups, part 4: On accounting</a> (July 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/606699/">Control groups, part 5: The cgroup hierarchy</a> (July 30, 2014)</p> <p class="IndexEntry"> <a href="/Articles/606925/">Control groups, part 6: A look under the hood</a> (August 6, 2014)</p> <p class="IndexEntry"> <a href="/Articles/608425/">Control groups, part 7: To unity and beyond</a> (August 13, 2014)</p> <p class="IndexSecondary"> <a name="Control_groups-Thread-level_control"></a><a href="#Control_groups-Thread-level_control">Thread-level control</a></p> <p class="IndexEntry"> <a href="/Articles/656115/">Thread-level management in control groups</a> (September 1, 2015)</p> <p class="IndexEntry"> <a href="/Articles/679940/">Thread-level control with resource groups</a> (March 16, 2016)</p> <p class="IndexEntry"> <a href="/Articles/697366/">The case of the stalled CPU controller</a> (August 17, 2016)</p> <p class="IndexEntry"> <a href="/Articles/715051/">Control-group thread mode</a> (February 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/729215/">A milestone for control groups</a> (July 31, 2017)</p> <p class="IndexPrimary"> <a name="Coprocessors"><a href="#Coprocessors">Coprocessors</a></a></p> <p class="IndexEntry"> <a href="/Articles/548108/">LSFMM: Coprocessors, exit times, and volatile ranges, and more</a> (April 23, 2013)</p> <p class="IndexPrimary"> <a name="Copyright_issues"><a href="#Copyright_issues">Copyright issues</a></a></p> <p class="IndexEntry"> <a href="/Articles/106353/">Buying the kernel</a> (October 13, 2004)</p> <p class="IndexEntry"> <a href="/Articles/130696/">The kernel and binary firmware</a> (April 6, 2005)</p> <p class="IndexEntry"> <a href="/Articles/134700/">The Philips webcam driver - again</a> (May 4, 2005)</p> <p class="IndexEntry"> <a href="/Articles/139916/">The Developer's Certificate of Origin, v1.1</a> (June 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/154602/">On the value of EXPORT_SYMBOL_GPL</a> (October 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/159313/">On binary drivers and stable interfaces</a> (November 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/171838/">EXPORT_SYMBOL_GPL_FUTURE()</a> (February 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/194729/">Code of uncertain origin</a> (August 9, 2006)</p> <p class="IndexEntry"> <a href="/Articles/195643/">Code of (still) uncertain origin</a> (August 15, 2006)</p> <p class="IndexEntry"> <a href="/Articles/196641/">Resolved: firmware is not software</a> (August 23, 2006)</p> <p class="IndexEntry"> <a href="/Articles/205644/">GPL-only symbols and ndiswrapper</a> (October 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/215075/">Why binary-only modules were not banned</a> (December 20, 2006)</p> <p class="IndexEntry"> <a href="/Articles/229740/">How not to handle a licensing violation</a> (April 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/238969/">More quotes of the week - scenes from a flame war</a> (June 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/271762/">NDISwrapper dodges another bullet</a> (March 5, 2008)</p> <p class="IndexEntry"> <a href="/Articles/274755/">Kernel markers and binary-only modules</a> (March 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/360047/">Relicensing tracepoints and markers</a> (November 4, 2009)</p> <p class="IndexEntry"> <a href="/Articles/421680/">The trouble with firmware</a> (January 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/427113/">Bounding GPL compliance times</a> (February 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/483101/">dma-buf and binary-only modules</a> (February 22, 2012)</p> <p class="IndexEntry"> <a href="/Articles/560424/">The exfiltrated exFAT driver</a> (July 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/603131/">Questioning EXPORT_SYMBOL_GPL()</a> (June 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/698452/">The kernel community confronts GPL enforcement</a> (August 31, 2016)</p> <p class="IndexEntry"> <a href="/Articles/738235/">Maintainers Summit: SPDX, cross-subsystem development, and conclusion</a> (November 8, 2017)</p> <p class="IndexEntry"> <a href="/Articles/739183/">SPDX identifiers in the kernel</a> (November 16, 2017)</p> <p class="IndexEntry"> <a href="/Articles/757124/">Heterogeneous memory management meets EXPORT_SYMBOL_GPL()</a> (June 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/769471/">The proper use of EXPORT_SYMBOL_GPL()</a> (October 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/827596/">Netgpu and the hazards of proprietary kernel modules</a> (July 31, 2020)</p> <p class="IndexEntry"> <a href="/Articles/862611/">Copyleft-next and the kernel</a> (July 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/912355/">Copyright notices (or the lack thereof) in kernel code</a> (October 27, 2022)</p> <p class="IndexEntry"> <a href="/Articles/939842/">Making life (even) harder for proprietary modules</a> (August 3, 2023)</p> <p class="IndexEntry"> <a href="/Articles/998221/">Two approaches to tightening restrictions on loadable modules</a> (November 15, 2024)</p> <p class="IndexPrimary"> <a name="copy__user"><a href="#copy__user">copy_*_user()</a></a></p> <p class="IndexEntry"> <a href="/Articles/695991/">Hardened usercopy</a> (August 3, 2016)</p> <p class="IndexEntry"> <a href="/Articles/727322/">Hardened usercopy whitelisting</a> (July 7, 2017)</p> <p class="IndexEntry"> <a href="/Articles/781283/">Two topics in user-space access</a> (March 5, 2019)</p> <p class="IndexSecondary"> <a name="copy__user-Proposed_return_value_change"></a><a href="#copy__user-Proposed_return_value_change">Proposed return value change</a></p> <p class="IndexEntry"> <a href="/Articles/99120/">API changes under consideration</a> (August 24, 2004)</p> <p class="IndexPrimary"> <a name="COW_links"><a href="#COW_links">COW links</a></a></p> <p class="IndexEntry"> <a href="/Articles/77972/">COW Links</a> (March 29, 2004)</p> <p class="IndexPrimary"> <a name="cpufreq"><a href="#cpufreq">cpufreq</a></a></p> <p class="IndexEntry"> <a href="/Articles/384132/">Fixing the ondemand governor</a> (April 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/682391/">Improvements in CPU frequency management</a> (April 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/732740/">CPU frequency governors and remote callbacks</a> (September 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/820872/">Saving frequency scaling in the data center</a> (May 21, 2020)</p> <p class="IndexPrimary"> <a name="CPUhog"><a href="#CPUhog">CPUhog</a></a></p> <p class="IndexEntry"> <a href="/Articles/378859/">Who let the hogs out?</a> (March 16, 2010)</p> <p class="IndexPrimary"> <a name="Cpusets"><a href="#Cpusets">Cpusets</a></a></p> <p class="IndexEntry"> <a href="/Articles/717797/">Cpusets and memory policies</a> (March 22, 2017)</p> <p class="IndexPrimary"> <a name="Crash_dumps"><a href="#Crash_dumps">Crash dumps</a></a></p> <p class="IndexEntry"> <a href="/Articles/87684/">Diskdump: a new crash dump system</a> (June 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/108595/">Crash dumps with kexec</a> (October 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/170822/">Software suspend - again</a> (February 6, 2006)</p> <p class="IndexEntry"> <a href="/Articles/434821/">Persistent storage for a kernel's &quot;dying breath&quot;</a> (March 23, 2011)</p> <p class="IndexPrimary"> <a name="Credentials"><a href="#Credentials">Credentials</a></a></p> <p class="IndexEntry"> <a href="/Articles/251469/">Credential records</a> (September 25, 2007)</p> <p class="IndexPrimary"> <a name="Cryptography"><a href="#Cryptography">Cryptography</a></a></p> <p class="IndexEntry"> <a href="/Articles/92617/">Cryptographic signatures on kernel modules</a> (July 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/109475/">Asynchronous crypto</a> (November 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/401548/">An API for user-space access to kernel cryptography</a> (August 25, 2010)</p> <p class="IndexEntry"> <a href="/Articles/408439/">Trusted and encrypted keys</a> (October 6, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410763/">A netlink-based user-space crypto API</a> (October 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/630762/">A crypto module loading vulnerability</a> (January 28, 2015)</p> <p class="IndexEntry"> <a href="/Articles/761939/">WireGuarding the mainline</a> (August 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/761992/">Reconsidering Speck</a> (August 8, 2018)</p> <p class="IndexEntry"> <a href="/Articles/765965/">Progress on Zinc (thus WireGuard)</a> (September 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/770750/">Zinc: a new kernel cryptography API</a> (November 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/776721/">Adiantum: encryption for the low end</a> (January 16, 2019)</p> <p class="IndexEntry"> <a href="/Articles/802376/">WireGuard and the crypto API</a> (October 16, 2019)</p> <p class="IndexEntry"> <a href="/Articles/882426/">Supporting PGP keys and signatures in the kernel</a> (January 25, 2022)</p> <p class="IndexEntry"> <a href="/Articles/921511/">Constant-time instructions and processor optimizations</a> (February 3, 2023)</p> <p class="IndexPrimary"> <a name="Cryptoloop"><a href="#Cryptoloop">Cryptoloop</a></a></p> <p class="IndexEntry"> <a href="/Articles/67216/">A weak cryptoloop implementation in Linux?</a> (January 21, 2004)</p> <p class="IndexPrimary"> <a name="Customer_panel"><a href="#Customer_panel">Customer panel</a></a></p> <p class="IndexEntry"> <a href="/Articles/94384/">Kernel Summit: The customer panel</a> (July 21, 2004)</p> <p class="IndexPrimary"> <a name="Data_integrity"><a href="#Data_integrity">Data integrity</a></a></p> <p class="IndexEntry"> <a href="/Articles/349970/">Ext3 and RAID: silent data killers?</a> (August 31, 2009)</p> <p class="IndexEntry"> <a href="/Articles/429295/">Notes from the block layer</a> (February 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/442355/">Stable pages</a> (May 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/457667/">Ensuring data reaches disk</a> (September 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/528031/">Optimizing stable pages</a> (December 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548294/">LSFMM: Storage data integrity</a> (April 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/917097/">Composefs for integrity protection and data sharing</a> (December 7, 2022)</p> <p class="IndexPrimary"> <a name="Data_Plane_Development_Kit_DPDK"><a href="#Data_Plane_Development_Kit_DPDK">Data Plane Development Kit (DPDK)</a></a></p> <p class="IndexEntry"> <a href="/Articles/725254/">Network acceleration with DPDK</a> (July 5, 2017)</p> <p class="IndexPrimary"> <a name="DAX"><a href="#DAX">DAX</a></a></p> <p class="IndexEntry"> <a href="/Articles/610174/">Supporting filesystems in persistent memory</a> (September 2, 2014)</p> <p class="IndexEntry"> <a href="/Articles/676737/">DAX and fsync: the cost of forgoing page structures</a> (February 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/678011/">The persistent memory &quot;I know what I'm doing&quot; flag</a> (March 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686150/">DAX on BTT</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717953/">The future of DAX</a> (March 27, 2017)</p> <p class="IndexEntry"> <a href="/Articles/726481/">daxctl() — getting the other half of persistent-memory performance</a> (June 26, 2017)</p> <p class="IndexEntry"> <a href="/Articles/787973/">DAX semantics</a> (May 13, 2019)</p> <p class="IndexEntry"> <a href="/Articles/983105/">Famfs: a filesystem interface to shareable memory</a> (July 30, 2024)</p> <p class="IndexPrimary"> <a name="D-Bus"><a href="#D-Bus">D-Bus</a></a></p> <p class="IndexEntry"> <a href="/Articles/405346/">Fast interprocess messaging</a> (September 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/484203/">Speeding up D-Bus</a> (February 29, 2012)</p> <p class="IndexEntry"> <a href="/Articles/504970/">Missing the AF_BUS</a> (July 3, 2012)</p> <p class="IndexPrimary"> <a name="DCCP"><a href="#DCCP">DCCP</a></a></p> <p class="IndexEntry"> <a href="/Articles/149756/">Linux gets DCCP</a> (August 30, 2005)</p> <p class="IndexPrimary"> <a name="Debian_kernel_team"><a href="#Debian_kernel_team">Debian kernel team</a></a></p> <p class="IndexEntry"> <a href="/Articles/86923/">The new Debian kernel team</a> (May 26, 2004)</p> <p class="IndexPrimary"> <a name="Debugging"><a href="#Debugging">Debugging</a></a></p> <p class="IndexEntry"> <a href="/Articles/70465/">Bringing kgdb into 2.6</a> (February 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/87538/">Finding kernel problems automatically</a> (June 1, 2004)</p> <p class="IndexEntry"> <a href="/Articles/87684/">Diskdump: a new crash dump system</a> (June 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/90913/">Debugging kernel modules</a> (June 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/108595/">Crash dumps with kexec</a> (October 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/111226/">On not getting burned by kmap_atomic()</a> (November 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/115405/">Debugfs</a> (December 13, 2004)</p> <p class="IndexEntry"> <a href="/Articles/121656/">Useful gadget: /proc/page_owner</a> (February 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/129476/">The __nocast attribute</a> (March 29, 2005)</p> <p class="IndexEntry"> <a href="/Articles/174494/">Double kfree() errors</a> (March 6, 2006)</p> <p class="IndexEntry"> <a href="/Articles/215868/">A nasty file corruption bug - fixed</a> (December 31, 2006)</p> <p class="IndexEntry"> <a href="/Articles/262554/">Short subjects: kerneloops, read-mostly, and port 80</a> (December 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/264231/">Development issues part 2: Bug tracking</a> (January 9, 2008)</p> <p class="IndexEntry"> <a href="/Articles/271614/">An object debugging infrastructure</a> (March 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/277872/">Bisection divides users and developers</a> (April 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/334546/">An updated guide to debugfs</a> (May 25, 2009)</p> <p class="IndexEntry"> <a href="/Articles/353050/">Hw-breakpoint: shared debugging registers</a> (September 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/374633/">Merging kdb and kgdb</a> (February 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/434821/">Persistent storage for a kernel's &quot;dying breath&quot;</a> (March 23, 2011)</p> <p class="IndexEntry"> <a href="/Articles/434833/">The dynamic debugging interface</a> (March 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/503677/">Displaying QR codes for kernel crashes</a> (June 27, 2012)</p> <p class="IndexEntry"> <a href="/Articles/571997/">Bugzilla, lightning talks, and future summits</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/600359/">Debugging ARM kernels using fast interrupts</a> (May 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/789641/">A kernel debugger in Python: drgn</a> (May 29, 2019)</p> <p class="IndexEntry"> <a href="/Articles/952942/">Using drgn on production kernels</a> (November 28, 2023)</p> <p class="IndexPrimary"> <a name="Delay_accounting"><a href="#Delay_accounting">Delay accounting</a></a></p> <p class="IndexEntry"> <a href="/Articles/173882/">Some patches of interest</a> (February 28, 2006)</p> <p class="IndexPrimary"> <a name="del_timer"><a href="#del_timer">del_timer()</a></a></p> <p class="IndexEntry"> <a href="/Articles/84836/">Deleting timers quickly</a> (May 12, 2004)</p> <p class="IndexPrimary"> <a name="Dentry_cache"><a href="#Dentry_cache">Dentry cache</a></a></p> <p class="IndexEntry"> <a href="/Articles/1511/">The value of negative dentries</a> (June 4, 2002)</p> <p class="IndexEntry"> <a href="/Articles/419811/">Dcache scalability and RCU-walk</a> (December 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/440347/">Dcache scalability and security modules</a> (April 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/441438/">Mob rule for dentries</a> (May 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/452117/">How to ruin Linus's vacation</a> (July 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/545119/">A VFS deadlock post-mortem</a> (April 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/814535/">Dentry negativity</a> (March 12, 2020)</p> <p class="IndexEntry"> <a href="/Articles/890025/">Negative dentries, 20 years later</a> (April 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/894098/">Dealing with negative dentries</a> (May 9, 2022)</p> <p class="IndexPrimary"> <a name="Desktop_support"><a href="#Desktop_support">Desktop support</a></a></p> <p class="IndexEntry"> <a href="/Articles/144279/">Kernel Summit 2005: The Kernel and the Linux desktop</a> (July 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/618333/">A desktop kernel wishlist</a> (October 29, 2014)</p> <p class="IndexPrimary"> <a name="Development_model"><a href="#Development_model">Development model</a></a></p> <p class="IndexEntry"> <a href="/Articles/80412/">Linus merges up a storm</a> (April 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/94386/">Kernel Summit: Development process</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/95312/">Another look at the new development model</a> (July 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/105168/">The -mm development tree</a> (October 5, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107303/">MODULE_PARM deprecated</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/108484/">Some development model notes</a> (October 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/117749/">Four-level page tables merged</a> (January 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/124560/">Flushing the page cache from user space</a> (February 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/130555/">Finding the boundaries for stable kernel patches</a> (April 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/133295/">Andrew Morton at linux.conf.au</a> (April 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/139595/">The end of the devfs story</a> (June 13, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144269/">Kernel Summit 2005: The hardware vendors' panel</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/152548/">Reiser4 and kernel inclusion</a> (September 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/156325/">On the merging of ktimers</a> (October 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/186427/">What's not going into 2.6.18</a> (June 6, 2006)</p> <p class="IndexEntry"> <a href="/Articles/187336/">Time for ext4?</a> (June 12, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191650/">Kernel Summit 2006: Kernel quality and development process</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191932/">Kernel Summit 2006: Development process II</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/196444/">Old kernels and new compilers</a> (August 21, 2006)</p> <p class="IndexEntry"> <a href="/Articles/203562/">Device drivers and non-disclosure agreements</a> (October 9, 2006)</p> <p class="IndexEntry"> <a href="/Articles/224760/">Who's writing 2.6.21 and related issues</a> (March 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/240758/">Pointy-haired kernel hackers?</a> (July 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/242765/">Still waiting for swap prefetch</a> (July 25, 2007)</p> <p class="IndexEntry"> <a href="/Articles/250424/">The case of the unwelcome attribution</a> (September 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/253425/">PF_CAN</a> (October 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/283854/">Getting the right kind of contributions</a> (May 28, 2008)</p> <p class="IndexEntry"> <a href="/Articles/285088/">Andrew Morton on kernel development</a> (June 11, 2008)</p> <p class="IndexEntry"> <a href="/Articles/298510/">KS2008: Linux 3.0</a> (September 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/302251/">Btrfs to the mainline?</a> (October 8, 2008)</p> <p class="IndexEntry"> <a href="/Articles/308566/">An open letter to Evgeniy Polyakov</a> (November 25, 2008)</p> <p class="IndexEntry"> <a href="/Articles/320472/">On the management of the Video4Linux subsystem tree</a> (February 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/333007/">TuxOnIce: in from the cold?</a> (May 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/341110/">Communicating requirements to kernel developers</a> (July 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/364742/">Fault injection and unexpected requirement injection</a> (December 2, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366915/">Redesigning asynchronous suspend/resume</a> (December 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/367787/">Two that didn't make it</a> (December 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/378903/">After the merge window closed...</a> (March 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/379869/">KVM, QEMU, and kernel project management</a> (March 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/390392/">A suspend blockers post-mortem</a> (June 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/391372/">ARM and defconfig files</a> (June 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/393694/">On the scalability of Linus</a> (July 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/405118/">A new combined tree for storage subsystems</a> (September 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/409689/">ARM's multiply-mapped memory mess</a> (October 12, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412748/">KS2010: Big out-of-tree projects</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/413061/">KS2010: Development process</a> (November 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/437162/">ARM wrestling</a> (April 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/439314/">Rationalizing the ARM tree</a> (April 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/443531/">The platform problem</a> (May 18, 2011)</p> <p class="IndexEntry"> <a href="/Articles/446297/">Android, forking, and control</a> (June 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/454716/">Avoiding the OS abstraction trap</a> (August 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/457674/">On multi-platform drivers</a> (September 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/491653/">Finding the right evolutionary niche</a> (April 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/500443/">LinuxCon Japan: Making kernel developers less grumpy</a> (June 6, 2012)</p> <p class="IndexEntry"> <a href="/Articles/571379/">A kernel panel convenes in Edinburgh</a> (October 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571995/">On saying &quot;no&quot;</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/708891/">AMD's Display Core difficulties</a> (December 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/713175/">LZ4: vendoring in the kernel</a> (February 1, 2017)</p> <p class="IndexEntry"> <a href="/Articles/738222/">Bash the kernel maintainers</a> (November 6, 2017)</p> <p class="IndexEntry"> <a href="/Articles/745817/">Too many lords, not enough stewards</a> (January 31, 2018)</p> <p class="IndexEntry"> <a href="/Articles/749676/">Two perspectives on the maintainer relationship</a> (March 20, 2018)</p> <p class="IndexEntry"> <a href="/Articles/877607/">FIPS-compliant random numbers for the kernel</a> (December 7, 2021)</p> <p class="IndexEntry"> <a href="/Articles/897915/">Remote participation at LSFMM</a> (June 15, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932215/">An LSFMM development-process discussion</a> (May 23, 2023)</p> <p class="IndexEntry"> <a href="/Articles/952034/">Reducing kernel-maintainer burnout</a> (November 24, 2023)</p> <p class="IndexSecondary"> <a name="Development_model-Bug_reporting"></a><a href="#Development_model-Bug_reporting">Bug reporting</a></p> <p class="IndexEntry"> <a href="/Articles/917762/">Troubles with triaging syzbot reports</a> (December 14, 2022)</p> <p class="IndexSecondary"> <a name="Development_model-Code_review"></a><a href="#Development_model-Code_review">Code review</a></p> <p class="IndexEntry"> <a href="/Articles/199110/">Where have all the reviewers gone?</a> (September 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/378884/">A critical look at sysfs attribute values</a> (March 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/464298/">KS2011: Patch review</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/527373/">Uninitialized blocks and unexpected flags</a> (November 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/528107/">A FALLOC_FL_NO_HIDE_STALE followup</a> (December 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/560392/">What's missing from our changelogs</a> (July 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/562294/">Unreviewed code in 3.11</a> (August 7, 2013)</p> <p class="IndexEntry"> <a href="/Articles/608968/">Two sessions on review</a> (August 20, 2014)</p> <p class="IndexEntry"> <a href="/Articles/626544/">On the problem of maintainer abuse</a> (December 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/718212/">Memory-management patch review</a> (March 29, 2017)</p> <p class="IndexEntry"> <a href="/Articles/723070/">The trouble with SMC-R</a> (May 18, 2017)</p> <p class="IndexEntry"> <a href="/Articles/752985/">The memory-management development process</a> (April 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787705/">The memory-management subsystem development process</a> (May 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/902466/">Security requirements for new kernel features</a> (July 28, 2022)</p> <p class="IndexSecondary"> <a name="Development_model-Community"></a><a href="#Development_model-Community">Community</a></p> <p class="IndexEntry"> <a href="/Articles/278647/">ELC: Morton and Saxena on working with the kernel community</a> (April 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/412639/">KS2010: Welcoming newcomers</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/662911/">Developer recruitment and outreach</a> (November 4, 2015)</p> <p class="IndexSecondary"> <a name="Development_model-Contributor_statistics"></a><a href="#Development_model-Contributor_statistics">Contributor statistics</a></p> <p class="IndexEntry"> <a href="/Articles/222773/">Who wrote 2.6.20?</a> (February 21, 2007)</p> <p class="IndexEntry"> <a href="/Articles/224760/">Who's writing 2.6.21 and related issues</a> (March 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/237768/">Who wrote - and approved - 2.6.22</a> (June 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/264440/">2.6.24 - some statistics</a> (January 9, 2008)</p> <p class="IndexEntry"> <a href="/Articles/318699/">How patches get into the mainline</a> (February 10, 2009)</p> <p class="IndexSecondary"> <a name="Development_model-Developer_conduct"></a><a href="#Development_model-Developer_conduct">Developer conduct</a></p> <p class="IndexEntry"> <a href="/Articles/249104/">KS2007: Developer relations and development process</a> (September 10, 2007)</p> <p class="IndexEntry"> <a href="/Articles/559061/">On kernel mailing list behavior</a> (July 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/765108/">Code, conflict, and conduct</a> (September 18, 2018)</p> <p class="IndexEntry"> <a href="/Articles/766699/">The kernel's code of conduct, one week later</a> (September 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/769117/">The code of conduct at the Maintainers Summit</a> (October 23, 2018)</p> <p class="IndexEntry"> <a href="/Articles/772565/">A panel discussion on the kernel's code of conduct</a> (November 20, 2018)</p> <p class="IndexSecondary"> <a name="Development_model-Developers_as_children"></a><a href="#Development_model-Developers_as_children">Developers as children</a></p> <p class="IndexEntry"> <a href="/Articles/89577/">Quote of the week</a> (June 15, 2004)</p> <p class="IndexSecondary"> <a name="Development_model-Diversity"></a><a href="#Development_model-Diversity">Diversity</a></p> <p class="IndexEntry"> <a href="/Articles/553693/">Outreach program for women—kernel edition</a> (June 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571935/">The Outreach Program for Women</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/857765/">Code humor and inclusiveness</a> (June 11, 2021)</p> <p class="IndexEntry"> <a href="/Articles/952146/">A discussion on kernel-maintainer pain points</a> (November 27, 2023)</p> <p class="IndexSecondary"> <a name="Development_model-Driver_merging"></a><a href="#Development_model-Driver_merging">Driver merging</a></p> <p class="IndexEntry"> <a href="/Articles/270960/">Merging drivers early</a> (February 27, 2008)</p> <p class="IndexEntry"> <a href="/Articles/286558/">Why some drivers are not merged early</a> (June 18, 2008)</p> <p class="IndexEntry"> <a href="/Articles/297770/">LIRC delurks</a> (September 10, 2008)</p> <p class="IndexEntry"> <a href="/Articles/298570/">KS2008: When should drivers be merged?</a> (September 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/301192/">Moving the -staging tree</a> (October 1, 2008)</p> <p class="IndexEntry"> <a href="/Articles/306601/">The sad story of the em28xx driver</a> (November 11, 2008)</p> <p class="IndexEntry"> <a href="/Articles/351480/">News from the staging tree</a> (September 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/356776/">On the driver life cycle</a> (October 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/364515/">Kernel support for infrared receivers</a> (December 2, 2009)</p> <p class="IndexEntry"> <a href="/Articles/456762/">Broadcom's wireless drivers, one year later</a> (August 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/472030/">Vtunerc and software acceptance politics</a> (December 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/554822/">Merging Allwinner support</a> (June 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/955001/">The intersection of mlx5, netdev, and lockdown</a> (December 18, 2023)</p> <p class="IndexEntry"> <a href="/Articles/969383/">A tale of two troublesome drivers</a> (April 12, 2024)</p> <p class="IndexEntry"> <a href="/Articles/990802/">Considering kernel pass-through interfaces</a> (September 20, 2024)</p> <p class="IndexSecondary"> <a name="Development_model-Email_analysis"></a><a href="#Development_model-Email_analysis">Email analysis</a></p> <p class="IndexEntry"> <a href="/Articles/804511/">Analyzing kernel email</a> (November 13, 2019)</p> <p class="IndexSecondary"> <a name="Development_model-Enterprise_kernels"></a><a href="#Development_model-Enterprise_kernels">Enterprise kernels</a></p> <p class="IndexEntry"> <a href="/Articles/486304/">Kernel competition in the enterprise space</a> (March 14, 2012)</p> <p class="IndexSecondary"> <a name="Development_model-Kernel_quality"></a><a href="#Development_model-Kernel_quality">Kernel quality</a></p> <p class="IndexEntry"> <a href="/Articles/114626/">Toward better kernel releases</a> (December 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/126763/">Is the kernel development process broken?</a> (March 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/126795/">Quotes of the week</a> (March 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144281/">Kernel Summit 2005: Development process and quality assurance</a> (July 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/157951/">The newest development model and 2.6.14</a> (November 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/182369/">Briefly: patch quality, CKRM, likely(), and vmsplice()</a> (May 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/183053/">Kernel bugs: out of control?</a> (May 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/186331/">Putting a lid on USB power</a> (June 5, 2006)</p> <p class="IndexEntry"> <a href="/Articles/204682/">Return values, warnings, and error situations</a> (October 17, 2006)</p> <p class="IndexEntry"> <a href="/Articles/207030/">Buried in warnings</a> (November 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/232492/">A tale of two release cycles</a> (May 1, 2007)</p> <p class="IndexEntry"> <a href="/Articles/236920/">The thorny case of kmalloc(0)</a> (June 5, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248388/">KS2007: Kernel quality</a> (September 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/258550/">Various topics related to kernel quality</a> (November 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/276731/">Memory allocation failures and scary warnings</a> (April 7, 2008)</p> <p class="IndexEntry"> <a href="/Articles/281109/">Time to slow down?</a> (May 7, 2008)</p> <p class="IndexEntry"> <a href="/Articles/297529/">Tightening the merge window rules</a> (September 9, 2008)</p> <p class="IndexEntry"> <a href="/Articles/298596/">KS2008: Kernel quality and release process</a> (September 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/306690/">Tracking of testers and bug reporters - a status report</a> (November 11, 2008)</p> <p class="IndexEntry"> <a href="/Articles/343828/">A tempest in a tty pot</a> (July 29, 2009)</p> <p class="IndexEntry"> <a href="/Articles/464294/">KS2011: Preemption disable and verifiable APIs</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/468683/">Drivers as documentation</a> (November 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/529954/">Removing uninitialized_var()</a> (December 19, 2012)</p> <p class="IndexEntry"> <a href="/Articles/774114/">Kernel quality control, or the lack thereof</a> (December 7, 2018)</p> <p class="IndexEntry"> <a href="/Articles/914632/">Bugs and fixes in the kernel history</a> (December 8, 2022)</p> <p class="IndexSecondary"> <a name="Development_model-linux-next"></a><a href="#Development_model-linux-next">linux-next</a></p> <p class="IndexEntry"> <a href="/Articles/269120/">linux-next and patch management process</a> (February 13, 2008)</p> <p class="IndexEntry"> <a href="/Articles/287155/">A day in the life of linux-next</a> (June 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/289013/">The current development kernel is...linux-next?</a> (July 8, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291292/">Linux-next meets the merge window</a> (July 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/357805/">KS2009: Staging, linux-next, and the development process</a> (October 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/423777/">Bypassing linux-next</a> (January 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/515529/">KS2012: Improving development processes: linux-next</a> (September 12, 2012)</p> <p class="IndexEntry"> <a href="/Articles/571980/">The linux-next and -stable trees</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/608933/">The state of linux-next</a> (August 20, 2014)</p> <p class="IndexSecondary"> <a name="Development_model-Loadable_modules"></a><a href="#Development_model-Loadable_modules">Loadable modules</a></p> <p class="IndexEntry"> <a href="/Articles/118835/">The abrupt un-exporting of symbols</a> (January 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/249246/">Exported symbols and the internal API</a> (September 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/260041/">Tightening symbol exports</a> (November 27, 2007)</p> <p class="IndexEntry"> <a href="/Articles/588799/">Tracing unsigned modules</a> (March 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/872209/">The intersection of modules, GKI, and rocket science</a> (October 11, 2021)</p> <p class="IndexEntry"> <a href="/Articles/998221/">Two approaches to tightening restrictions on loadable modules</a> (November 15, 2024)</p> <p class="IndexSecondary"> <a name="Development_model-Maintainers"></a><a href="#Development_model-Maintainers">Maintainers</a></p> <p class="IndexEntry"> <a href="/Articles/572003/">The kernel maintainer gap</a> (October 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/670087/">On moving on from being a maintainer</a> (January 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/703005/">On Linux kernel maintainer scalability</a> (October 12, 2016)</p> <p class="IndexEntry"> <a href="/Articles/705228/">Group maintainership models</a> (November 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/730509/">Scaling the kernel's MAINTAINERS file</a> (August 10, 2017)</p> <p class="IndexEntry"> <a href="/Articles/842415/">MAINTAINERS truth and fiction</a> (January 14, 2021)</p> <p class="IndexEntry"> <a href="/Articles/844539/">Finding real-world kernel subsystems</a> (February 1, 2021)</p> <p class="IndexEntry"> <a href="/Articles/881827/">Resurrecting fbdev</a> (January 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/896918/">Maintainers don't scale</a> (June 6, 2022)</p> <p class="IndexEntry"> <a href="/Articles/981854/">Changing the filesystem-maintenance model</a> (July 17, 2024)</p> <p class="IndexSecondary"> <a name="Development_model-Patch_management"></a><a href="#Development_model-Patch_management">Patch management</a></p> <p class="IndexEntry"> <a href="/Articles/585782/">Best practices for a big patch series</a> (February 12, 2014)</p> <p class="IndexEntry"> <a href="/Articles/702177/">Why kernel development still uses email</a> (October 1, 2016)</p> <p class="IndexEntry"> <a href="/Articles/797613/">Change IDs for kernel patches</a> (August 29, 2019)</p> <p class="IndexEntry"> <a href="/Articles/799134/">Defragmenting the kernel development process</a> (September 14, 2019)</p> <p class="IndexEntry"> <a href="/Articles/950567/">Reducing patch postings to linux-kernel</a> (November 8, 2023)</p> <p class="IndexSecondary"> <a name="Development_model-Patterns"></a><a href="#Development_model-Patterns">Patterns</a></p> <p class="IndexEntry"> <a href="/Articles/336224/">Linux kernel design patterns - part 1</a> (June 8, 2009)</p> <p class="IndexEntry"> <a href="/Articles/336255/">Linux kernel design patterns - part 2</a> (June 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/336262/">Linux kernel design patterns - part 3</a> (June 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/411845/">Ghosts of Unix Past: a historical search for design patterns</a> (October 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412131/">Ghosts of Unix past, part 2: Conflated designs</a> (November 4, 2010)</p> <p class="IndexEntry"> <a href="/Articles/414618/">Ghosts of Unix past, part 3: Unfixable designs</a> (November 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/416494/">Ghosts of Unix past, part 4: High-maintenance designs</a> (November 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/444910/">Object-oriented design patterns in the kernel, part 1</a> (June 1, 2011)</p> <p class="IndexEntry"> <a href="/Articles/446317/">Object-oriented design patterns in the kernel, part 2</a> (June 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/585415/">Flags as a system call API design pattern</a> (February 12, 2014)</p> <p class="IndexEntry"> <a href="/Articles/588444/">Proper handling of unknown flags in system calls</a> (February 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/915163/">Losing the magic</a> (December 5, 2022)</p> <p class="IndexSecondary"> <a name="Development_model-Regressions"></a><a href="#Development_model-Regressions">Regressions</a></p> <p class="IndexEntry"> <a href="/Articles/145008/">Kernel testing and regressions: an example</a> (July 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/357480/">KS2009: Regressions</a> (October 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/412746/">KS2010: Regressions</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/414223/">A more detailed look at kernel regressions</a> (November 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/790985/">Dueling memory-management performance regressions</a> (June 14, 2019)</p> <p class="IndexEntry"> <a href="/Articles/896267/">splice() and the ghost of set_fs()</a> (May 26, 2022)</p> <p class="IndexEntry"> <a href="/Articles/908324/">Better regression handling for the kernel</a> (September 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/990599/">The uncertain future of kernel regression tracking</a> (September 19, 2024)</p> <p class="IndexSecondary"> <a name="Development_model-Security_issues"></a><a href="#Development_model-Security_issues">Security issues</a></p> <p class="IndexEntry"> <a href="/Articles/290227/">Handling kernel security problems</a> (July 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/429321/">debugfs: rules not welcome</a> (February 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/704231/">Dirty COW and clean commit messages</a> (October 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/764593/">Toward better handling of hardware vulnerabilities</a> (September 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/769417/">Improving the handling of embargoed hardware-security bugs</a> (October 25, 2018)</p> <p class="IndexEntry"> <a href="/Articles/896829/">What constitutes disclosure of a kernel vulnerability?</a> (June 3, 2022)</p> <p class="IndexEntry"> <a href="/Articles/904293/">A fuzzy issue of responsible disclosure</a> (August 12, 2022)</p> <p class="IndexEntry"> <a href="/Articles/941745/">Kernel security reporting for distributions</a> (August 16, 2023)</p> <p class="IndexSecondary"> <a name="Development_model-Stable_tree"></a><a href="#Development_model-Stable_tree">Stable tree</a></p> <p class="IndexEntry"> <a href="/Articles/402512/">Some numbers and thoughts on the stable kernels</a> (August 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/403836/">Further notes on stable kernels</a> (September 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/407525/">Maintaining a stable kernel on an unstable base</a> (September 29, 2010)</p> <p class="IndexEntry"> <a href="/Articles/484337/">A long-term support initiative update</a> (February 29, 2012)</p> <p class="IndexEntry"> <a href="/Articles/492676/">The value of release bureaucracy</a> (April 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/515528/">KS2012: Stable kernel management</a> (September 12, 2012)</p> <p class="IndexEntry"> <a href="/Articles/559113/">Some stable tree grumbles</a> (July 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571980/">The linux-next and -stable trees</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/608917/">The stable tree</a> (August 20, 2014)</p> <p class="IndexEntry"> <a href="/Articles/692866/">How many -stable patches introduce new bugs?</a> (June 28, 2016)</p> <p class="IndexEntry"> <a href="/Articles/700530/">Backports and long-term stable kernels</a> (September 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/705220/">A discussion on stable kernel workflow issues</a> (November 1, 2016)</p> <p class="IndexEntry"> <a href="/Articles/735902/">Cramming features into LTS kernel releases</a> (October 10, 2017)</p> <p class="IndexEntry"> <a href="/Articles/749217/">The strange story of the ARM Meltdown-fix backport</a> (March 15, 2018)</p> <p class="IndexEntry"> <a href="/Articles/764647/">Machine learning and stable kernels</a> (September 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/769253/">Making stable kernels more stable</a> (October 24, 2018)</p> <p class="IndexEntry"> <a href="/Articles/774440/">A filesystem corruption bug breaks loose</a> (December 10, 2018)</p> <p class="IndexEntry"> <a href="/Articles/779997/">The case of the supersized shebang</a> (February 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/789225/">Testing and the stable tree</a> (May 28, 2019)</p> <p class="IndexEntry"> <a href="/Articles/799166/">The stable-kernel process</a> (September 16, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803695/">Identifying buggy patches with machine learning</a> (November 4, 2019)</p> <p class="IndexEntry"> <a href="/Articles/812231/">Revisiting stable-kernel regressions</a> (February 13, 2020)</p> <p class="IndexEntry"> <a href="/Articles/825536/">Maintaining stable stability</a> (July 22, 2020)</p> <p class="IndexEntry"> <a href="/Articles/830660/">Preparing for the realtime future</a> (September 9, 2020)</p> <p class="IndexEntry"> <a href="/Articles/838819/">XFS, stable kernels, and -rc releases</a> (December 3, 2020)</p> <p class="IndexEntry"> <a href="/Articles/860262/">A stable bug fix bites proprietary modules</a> (June 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/863505/">The core of the -stable debate</a> (July 22, 2021)</p> <p class="IndexEntry"> <a href="/Articles/871989/">Rolling stable kernels</a> (October 6, 2021)</p> <p class="IndexEntry"> <a href="/Articles/884787/">A last look at the 4.4 stable series</a> (February 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/896523/">Filesystems, testing, and stable trees</a> (May 31, 2022)</p> <p class="IndexEntry"> <a href="/Articles/934941/">Backporting XFS fixes to stable</a> (June 20, 2023)</p> <p class="IndexEntry"> <a href="/Articles/954770/">Ext4 data corruption hits the stable kernels</a> (December 14, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1005222/">The many names of commit 55039832f98c</a> (January 16, 2025)</p> <p class="IndexSecondary"> <a name="Development_model-User-space_ABI"></a><a href="#Development_model-User-space_ABI">User-space ABI</a></p> <p class="IndexEntry"> <a href="/Articles/172986/">Sysfs and a stable kernel ABI</a> (February 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/173740/">ABI stability documentation</a> (February 28, 2006)</p> <p class="IndexEntry"> <a href="/Articles/196721/">Kevents and review of new APIs</a> (August 23, 2006)</p> <p class="IndexEntry"> <a href="/Articles/202838/">The final wireless extension?</a> (October 4, 2006)</p> <p class="IndexEntry"> <a href="/Articles/204935/">The death and possible rebirth of sysctl()</a> (October 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/227818/">Application-friendly kernel interfaces</a> (March 26, 2007)</p> <p class="IndexEntry"> <a href="/Articles/234133/">2.6 and the user-space ABI</a> (May 15, 2007)</p> <p class="IndexEntry"> <a href="/Articles/245533/">timerfd() and system call review</a> (August 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/247243/">Re-deprecating sysctl()</a> (August 29, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248376/">KS2007: The greater kernel ecosystem and user-space APIs</a> (September 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/257297/">Process IDs in a multi-namespace world</a> (November 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/309298/">Debugfs and the making of a stable ABI</a> (December 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/361453/">Removing binary sysctl</a> (November 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/374794/">Extended error reporting</a> (February 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/377953/">Nouveau and interface compatibility</a> (March 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/396773/">The ghost of sysfs past</a> (July 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/401769/">Statistics and tracepoints</a> (August 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412685/">KS2010: ABI status for tracepoints</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412744/">KS2010: A staging process for ABIs</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/415714/">The media controller subsystem</a> (November 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/417647/">The kernel and the C library as a single project</a> (November 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/442113/">Ftrace, perf, and the tracing ABI</a> (May 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/449725/">-EWHICHERROR?</a> (June 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/456217/">The udev tail wags the dog</a> (August 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/469662/">Hardware face detection</a> (November 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/475678/">System call filtering and no_new_privs</a> (January 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/482168/">Short sleeps suffering from slack</a> (February 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/483078/">A sys_poll() ABI tweak</a> (February 22, 2012)</p> <p class="IndexEntry"> <a href="/Articles/494993/">Fixing the unfixable autofs ABI</a> (April 30, 2012)</p> <p class="IndexEntry"> <a href="/Articles/498128/">Removing four bytes from the kernel ABI</a> (May 23, 2012)</p> <p class="IndexEntry"> <a href="/Articles/502612/">msync() and subtle behavioral tweaks</a> (June 19, 2012)</p> <p class="IndexEntry"> <a href="/Articles/529461/">Virtualization and the perf ABI</a> (December 19, 2012)</p> <p class="IndexEntry"> <a href="/Articles/534682/">Glibc and the kernel user-space API</a> (January 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/557082/">When the kernel ABI has to change</a> (July 2, 2013)</p> <p class="IndexEntry"> <a href="/Articles/561462/">Device trees as ABI</a> (July 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/567894/">A perf ABI fix</a> (September 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571934/">The kernel/user-space boundary</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/575846/">Fixing FS_IOC_GETFLAGS</a> (December 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/595638/">Changing the default shared memory limits</a> (April 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/604686/">Filesystem notification, part 1: An overview of dnotify and inotify</a> (July 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/605128/">Filesystem notification, part 2: A deeper investigation of inotify</a> (July 14, 2014)</p> <p class="IndexEntry"> <a href="/Articles/606238/">Handling ARM architecture changes</a> (July 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/614057/">How implementation details become ABI: a case study</a> (October 1, 2014)</p> <p class="IndexEntry"> <a href="/Articles/628531/">Haunted by ancient history</a> (January 6, 2015)</p> <p class="IndexEntry"> <a href="/Articles/642069/">Pagemap: security fixes vs. ABI compatibility</a> (April 29, 2015)</p> <p class="IndexEntry"> <a href="/Articles/704479/">Designing better kernel ABIs</a> (October 26, 2016)</p> <p class="IndexEntry"> <a href="/Articles/726021/">Specifying the kernel ABI</a> (June 21, 2017)</p> <p class="IndexEntry"> <a href="/Articles/727703/">Rethinking the Stack Clash fix</a> (July 13, 2017)</p> <p class="IndexEntry"> <a href="/Articles/771441/">C library system-call wrappers, or the lack thereof</a> (November 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/799262/">Maintainers Summit topics: pull depth, hardware vulnerabilities, etc.</a> (September 17, 2019)</p> <p class="IndexEntry"> <a href="/Articles/821817/">Free user space for non-graphics drivers</a> (June 3, 2020)</p> <p class="IndexEntry"> <a href="/Articles/833696/">The ABI status of filesystem formats</a> (October 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/837033/">Systemd catches up with bind events</a> (November 13, 2020)</p> <p class="IndexEntry"> <a href="/Articles/845120/">The imminent stable-version apocalypse</a> (February 5, 2021)</p> <p class="IndexEntry"> <a href="/Articles/921088/">Reconsidering BPF ABI stability</a> (January 26, 2023)</p> <p class="IndexEntry"> <a href="/Articles/926782/">The curious case of O_DIRECTORY|O_CREAT</a> (March 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/976125/">One more pidfdfs surprise</a> (May 31, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1012490/">Timer IDs, CRIU, and ABI challenges</a> (March 6, 2025)</p> <p class="IndexSecondary"> <a name="Development_model-Version_numbers"></a><a href="#Development_model-Version_numbers">Version numbers</a></p> <p class="IndexEntry"> <a href="/Articles/296588/">Linux 3.0?</a> (September 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/355923/">2.6.x-rc0</a> (October 7, 2009)</p> <p class="IndexPrimary"> <a name="Development_tools"><a href="#Development_tools">Development tools</a></a></p> <p class="IndexEntry"> <a href="/Articles/82486/">Ketchup with that?</a> (April 28, 2004)</p> <p class="IndexEntry"> <a href="/Articles/163881/">The end of gcc 2.95 support</a> (December 13, 2005)</p> <p class="IndexEntry"> <a href="/Articles/191924/">Kernel Summit 2006: Automated testing</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/215996/">Device resource management</a> (January 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/243851/">Using Promela and Spin to verify parallel algorithms</a> (August 1, 2007)</p> <p class="IndexEntry"> <a href="/Articles/246201/">Who maintains this file?</a> (August 21, 2007)</p> <p class="IndexEntry"> <a href="/Articles/298592/">KS2008: Development tools</a> (September 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/314848/">Who is the best inliner of all?</a> (January 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/335942/">Poke-a-hole and friends</a> (June 10, 2009)</p> <p class="IndexEntry"> <a href="/Articles/344003/">Finding buffer overflows with Parfait</a> (July 29, 2009)</p> <p class="IndexEntry"> <a href="/Articles/353050/">Hw-breakpoint: shared debugging registers</a> (September 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/371320/">A module for crashing the kernel</a> (January 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/425862/">Undertaker 1.0</a> (February 1, 2011)</p> <p class="IndexEntry"> <a href="/Articles/434833/">The dynamic debugging interface</a> (March 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/464296/">KS2011: Scheduler testing</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/470681/">Validating Memory Barriers and Atomic Instructions</a> (December 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/479653/">Trusting the hardware too much</a> (February 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/487701/">Linsched for 3.3</a> (March 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/561359/">I/O Hook</a> (July 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/612153/">The kernel address sanitizer</a> (September 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636549/">Memory-management testing and debugging</a> (March 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/637079/">Testing power failures</a> (March 18, 2015)</p> <p class="IndexEntry"> <a href="/Articles/653382/">Fuzzing perf_events</a> (August 5, 2015)</p> <p class="IndexEntry"> <a href="/Articles/654071/">libnvdimm, or the unexpected virtue of unit tests</a> (August 12, 2015)</p> <p class="IndexEntry"> <a href="/Articles/660404/">Speeding up kernel development with QEMU</a> (October 14, 2015)</p> <p class="IndexEntry"> <a href="/Articles/670237/">Protecting private structure members</a> (January 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/677764/">Coverage-guided kernel fuzzing with syzkaller</a> (March 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/703890/">Automatically detecting kernel interface changes</a> (October 19, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718628/">A formal kernel memory-ordering model (part 1)</a> (April 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/742082/">An introduction to the BPF Compiler Collection</a> (December 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/744522/">BPFd: Running BCC tools remotely across systems and architectures</a> (January 23, 2018)</p> <p class="IndexEntry"> <a href="/Articles/766768/">Software-tag-based KASAN</a> (September 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/777421/">Snowpatch: continuous-integration testing for the kernel</a> (January 26, 2019)</p> <p class="IndexEntry"> <a href="/Articles/802128/">Finding race conditions with KCSAN</a> (October 14, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803619/">Next steps for kernel workflow improvement</a> (November 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/811528/">Better tools for kernel developers</a> (February 6, 2020)</p> <p class="IndexEntry"> <a href="/Articles/813646/">Attestation for kernel patches</a> (March 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820870/">The pseudo cpuidle driver</a> (May 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/872649/">Scrutinizing bugs found by syzbot</a> (October 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/877200/">Detecting missing memory barriers with KCSAN</a> (December 2, 2021)</p> <p class="IndexEntry"> <a href="/Articles/877603/">A reference-count tracking infrastructure</a> (December 6, 2021)</p> <p class="IndexEntry"> <a href="/Articles/878205/">Digging into the community's lore with lei</a> (December 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/887974/">Driver regression testing with roadtest</a> (March 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/909245/">Finding bugs with sanitizers</a> (September 27, 2022)</p> <p class="IndexEntry"> <a href="/Articles/934679/">Scope-based resource management for the kernel</a> (June 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/990379/">Kernel developers at Cauldron</a> (September 18, 2024)</p> <p class="IndexEntry"> <a href="/Articles/991033/">Tools for kernel developers</a> (September 23, 2024)</p> <p class="IndexSecondary"> <a name="Development_tools-bindgen"></a><a href="#Development_tools-bindgen">bindgen</a></p> <p class="IndexEntry"> <a href="/Articles/992693/">Improving bindgen for the kernel</a> (October 9, 2024)</p> <p class="IndexSecondary"> <a name="Development_tools-blktests"></a><a href="#Development_tools-blktests">blktests</a></p> <p class="IndexEntry"> <a href="/Articles/789538/">Storage testing</a> (May 28, 2019)</p> <p class="IndexSecondary"> <a name="Development_tools-Coccinelle"></a><a href="#Development_tools-Coccinelle">Coccinelle</a></p> <p class="IndexEntry"> <a href="/Articles/315686/">Semantic patching with Coccinelle</a> (January 20, 2009)</p> <p class="IndexEntry"> <a href="/Articles/380835/">Evolutionary development of a semantic patch using Coccinelle</a> (March 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412750/">KS2010: Lightning talks</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/617383/">Three talks on kernel development tools</a> (October 22, 2014)</p> <p class="IndexEntry"> <a href="/Articles/698724/">Inside the mind of a Coccinelle programmer</a> (August 31, 2016)</p> <p class="IndexEntry"> <a href="/Articles/991399/">Coccinelle for Rust</a> (September 30, 2024)</p> <p class="IndexSecondary"> <a name="Development_tools-Forges"></a><a href="#Development_tools-Forges">Forges</a></p> <p class="IndexEntry"> <a href="/Articles/860607/">Pulling GitHub into the kernel process</a> (June 23, 2021)</p> <p class="IndexEntry"> <a href="/Articles/871237/">How Red Hat uses GitLab for kernel development</a> (October 1, 2021)</p> <p class="IndexSecondary"> <a name="Development_tools-Git"></a><a href="#Development_tools-Git">Git</a></p> <p class="IndexEntry"> <a href="/Articles/131657/">The guts of git</a> (April 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/132796/">A very quick guide to starting with git</a> (April 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/140333/">A couple of graphical git front ends</a> (July 4, 2005)</p> <p class="IndexEntry"> <a href="/Articles/145194/">Git approaches 1.0</a> (July 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/328436/">Rebasing and merging: some git best practices</a> (April 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/392293/">Finding a patch's kernel version with git</a> (June 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/572068/">Git tree maintenance</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/791284/">Rebasing and merging in kernel repositories</a> (June 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/802797/">&quot;git request-pull&quot; and confusing diffstats</a> (October 21, 2019)</p> <p class="IndexEntry"> <a href="/Articles/889760/">Handling messy pull-request diffstats</a> (April 22, 2022)</p> <p class="IndexEntry"> <a href="/Articles/926240/">Avoiding the merge trap</a> (April 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1001526/">Facing the Git commit-ID collision catastrophe</a> (December 13, 2024)</p> <p class="IndexSecondary"> <a name="Development_tools-Infrastructure"></a><a href="#Development_tools-Infrastructure">Infrastructure</a></p> <p class="IndexEntry"> <a href="/Articles/341826/">A kernel.org update</a> (July 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/413059/">KS2010: Kernel.org update</a> (November 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/458809/">Kernel development without kernel.org</a> (September 13, 2011)</p> <p class="IndexEntry"> <a href="/Articles/459795/">Where's that tree?</a> (September 21, 2011)</p> <p class="IndexEntry"> <a href="/Articles/460826/">The forest on the move</a> (September 28, 2011)</p> <p class="IndexEntry"> <a href="/Articles/461552/">Kernel.org's road to recovery</a> (October 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/464233/">KS2011: Kernel.org report</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/572127/">A kernel.org update</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/609463/">Kernel.org news: two-factor authentication and more</a> (August 25, 2014)</p> <p class="IndexSecondary"> <a name="Development_tools-Kernel_debugging"></a><a href="#Development_tools-Kernel_debugging">Kernel debugging</a></p> <p class="IndexEntry"> <a href="/Articles/185666/">The kernel lock validator</a> (May 31, 2006)</p> <p class="IndexEntry"> <a href="/Articles/209257/">Injecting faults into the kernel</a> (November 14, 2006)</p> <p class="IndexEntry"> <a href="/Articles/260068/">kmemcheck</a> (November 27, 2007)</p> <p class="IndexEntry"> <a href="/Articles/271614/">An object debugging infrastructure</a> (March 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/277872/">Bisection divides users and developers</a> (April 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/414537/">Netoops</a> (November 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/503677/">Displaying QR codes for kernel crashes</a> (June 27, 2012)</p> <p class="IndexEntry"> <a href="/Articles/600359/">Debugging ARM kernels using fast interrupts</a> (May 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/740146/">BPF-based error injection for the kernel</a> (November 29, 2017)</p> <p class="IndexEntry"> <a href="/Articles/789641/">A kernel debugger in Python: drgn</a> (May 29, 2019)</p> <p class="IndexEntry"> <a href="/Articles/952942/">Using drgn on production kernels</a> (November 28, 2023)</p> <p class="IndexSecondary"> <a name="Development_tools-Kernel_tracing"></a><a href="#Development_tools-Kernel_tracing">Kernel tracing</a></p> <p class="IndexEntry"> <a href="/Articles/200059/">Tracing infrastructures</a> (September 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/250480/">A generic tracing interface</a> (September 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/291091/">Tracing: no shortage of options</a> (July 22, 2008)</p> <p class="IndexEntry"> <a href="/Articles/300992/">Low-level tracing plumbing</a> (September 30, 2008)</p> <p class="IndexEntry"> <a href="/Articles/330402/">On the value of static tracepoints</a> (April 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/343766/">Dynamic probes with ftrace</a> (July 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/346470/">Fun with tracepoints</a> (August 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/354865/">TRACE_EVENT_ABI</a> (September 30, 2009)</p> <p class="IndexEntry"> <a href="/Articles/365835/">Debugging the kernel using Ftrace - part 1</a> (December 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366796/">Debugging the kernel using Ftrace - part 2</a> (December 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/379903/">Using the TRACE_EVENT() macro (Part 1)</a> (March 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/381064/">Using the TRACE_EVENT() macro (Part 2)</a> (March 31, 2010)</p> <p class="IndexEntry"> <a href="/Articles/383362/">Using the TRACE_EVENT() macro (Part 3)</a> (April 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/384118/">ELC: Using LTTng</a> (April 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/388978/">One ring buffer to rule them all?</a> (May 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410200/">trace-cmd: A front-end for Ftrace</a> (October 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/417772/">Conditional tracepoints</a> (November 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/425583/">Using KernelShark to analyze the real-time scheduler</a> (February 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/442113/">Ftrace, perf, and the tracing ABI</a> (May 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/471973/">LTTng rejection, next generation</a> (December 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/491510/">LTTng 2.0: Tracing for power users and developers - part 1</a> (April 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/492296/">LTTng 2.0: Tracing for power users and developers - part 2</a> (April 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/514898/">KS2012: Improving tracing and debugging</a> (September 12, 2012)</p> <p class="IndexEntry"> <a href="/Articles/551314/">Ktap — yet another kernel tracer</a> (May 22, 2013)</p> <p class="IndexEntry"> <a href="/Articles/556186/">Triggers for tracing</a> (June 26, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572788/">Ktap almost gets into 3.13</a> (November 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/595565/">Ktap or BPF?</a> (April 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/608497/">Ftrace: The hidden light switch</a> (August 13, 2014)</p> <p class="IndexEntry"> <a href="/Articles/635522/">Ftrace and histograms: a fork in the road</a> (March 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/794846/">KernelShark releases version 1.0</a> (July 31, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803347/">Unifying kernel tracing</a> (October 30, 2019)</p> <p class="IndexEntry"> <a href="/Articles/817988/">How to unbreak LTTng</a> (April 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/852112/">Comparing SystemTap and bpftrace</a> (April 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/932402/">Code tagging and memory-allocation profiling</a> (May 31, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974380/">Memory-allocation profiling for the kernel</a> (May 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/992455/">Efficient Rust tracepoints</a> (October 8, 2024)</p> <p class="IndexSecondary"> <a name="Development_tools-kgdb"></a><a href="#Development_tools-kgdb">kgdb</a></p> <p class="IndexEntry"> <a href="/Articles/270089/">kgdb getting closer to being merged?</a> (February 20, 2008)</p> <p class="IndexEntry"> <a href="/Articles/374633/">Merging kdb and kgdb</a> (February 17, 2010)</p> <p class="IndexSecondary"> <a name="Development_tools-Linux_kernel_memory_model"></a><a href="#Development_tools-Linux_kernel_memory_model">Linux kernel memory model</a></p> <p class="IndexEntry"> <a href="/Articles/799218/">Calibrating your fear of big bad optimizing compilers</a> (October 11, 2019)</p> <p class="IndexEntry"> <a href="/Articles/816850/">Concurrency bugs should fear the big bad data-race detector (part 1)</a> (April 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/816854/">Concurrency bugs should fear the big bad data-race detector (part 2)</a> (April 14, 2020)</p> <p class="IndexSecondary"> <a name="Development_tools-LLVM"></a><a href="#Development_tools-LLVM">LLVM</a></p> <p class="IndexEntry"> <a href="/Articles/441018/">LFCS: Building the kernel with Clang</a> (May 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/549203/">LFCS: The LLVMLinux project</a> (May 7, 2013)</p> <p class="IndexSecondary"> <a name="Development_tools-mmiotrace"></a><a href="#Development_tools-mmiotrace">mmiotrace</a></p> <p class="IndexEntry"> <a href="/Articles/270939/">Tracing memory-mapped I/O operations</a> (February 26, 2008)</p> <p class="IndexSecondary"> <a name="Development_tools-MMTests"></a><a href="#Development_tools-MMTests">MMTests</a></p> <p class="IndexEntry"> <a href="/Articles/509577/">Testing for kernel performance regressions</a> (August 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/820823/">Scheduler benchmarking with MMTests</a> (May 19, 2020)</p> <p class="IndexSecondary"> <a name="Development_tools-rt-app"></a><a href="#Development_tools-rt-app">rt-app</a></p> <p class="IndexEntry"> <a href="/Articles/734039/">Notes from the LPC scheduler microconference</a> (September 18, 2017)</p> <p class="IndexSecondary"> <a name="Development_tools-Rust"></a><a href="#Development_tools-Rust">Rust</a></p> <p class="IndexEntry"> <a href="/Articles/829858/">Supporting Linux kernel development in Rust</a> (August 31, 2020)</p> <p class="IndexEntry"> <a href="/Articles/853423/">Rust heads into the kernel?</a> (April 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/862018/">Rust for Linux redux</a> (July 7, 2021)</p> <p class="IndexEntry"> <a href="/Articles/869145/">The Rust for Linux project</a> (September 16, 2021)</p> <p class="IndexEntry"> <a href="/Articles/869317/">Key Rust concepts for the kernel</a> (September 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/869428/">More Rust concepts for the kernel</a> (September 20, 2021)</p> <p class="IndexEntry"> <a href="/Articles/870555/">Using Rust for kernel development</a> (September 27, 2021)</p> <p class="IndexEntry"> <a href="/Articles/881675/">The kernel radar: folios, multi-generational LRU, and Rust</a> (January 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/889924/">Rustaceans at the border</a> (April 14, 2022)</p> <p class="IndexEntry"> <a href="/Articles/907685/">A pair of Rust kernel modules</a> (September 12, 2022)</p> <p class="IndexEntry"> <a href="/Articles/907876/">The perils of pinning</a> (September 15, 2022)</p> <p class="IndexEntry"> <a href="/Articles/908347/">Next steps for Rust in the kernel</a> (September 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/910762/">A first look at Rust in the 6.1 kernel</a> (October 13, 2022)</p> <p class="IndexEntry"> <a href="/Articles/914458/">Rust in the 6.2 kernel</a> (November 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/924746/">Kernel time APIs for Rust</a> (March 2, 2023)</p> <p class="IndexEntry"> <a href="/Articles/951550/">Preventing atomic-context violations in Rust code with klint</a> (November 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/952029/">Committing to Rust for kernel code</a> (November 22, 2023)</p> <p class="IndexEntry"> <a href="/Articles/953116/">A Rust implementation of Android's Binder</a> (November 30, 2023)</p> <p class="IndexEntry"> <a href="/Articles/958072/">Rust and C filesystem APIs</a> (January 15, 2024)</p> <p class="IndexEntry"> <a href="/Articles/967049/">A memory model for Rust code in the kernel</a> (April 3, 2024)</p> <p class="IndexEntry"> <a href="/Articles/970216/">Rust for embedded Linux kernels</a> (April 23, 2024)</p> <p class="IndexEntry"> <a href="/Articles/970565/">Giving Rust a chance for in-kernel codecs</a> (April 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/978738/">Rust for filesystems</a> (June 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/988438/">Whither the Apple AGX graphics driver?</a> (September 4, 2024)</p> <p class="IndexEntry"> <a href="/Articles/990273/">A discussion of Rust safety documentation</a> (September 17, 2024)</p> <p class="IndexEntry"> <a href="/Articles/990918/">Getting PCI driver abstractions upstream</a> (September 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/991062/">Committing to Rust in the kernel</a> (September 24, 2024)</p> <p class="IndexEntry"> <a href="/Articles/992055/">Smart pointers for the kernel</a> (October 4, 2024)</p> <p class="IndexEntry"> <a href="/Articles/992455/">Efficient Rust tracepoints</a> (October 8, 2024)</p> <p class="IndexEntry"> <a href="/Articles/993163/">FFI type mismatches in Rust for Linux</a> (October 11, 2024)</p> <p class="IndexEntry"> <a href="/Articles/993337/">On Rust in enterprise kernels</a> (October 10, 2024)</p> <p class="IndexEntry"> <a href="/Articles/993785/">Using LKMM atomics in Rust</a> (October 16, 2024)</p> <p class="IndexEntry"> <a href="/Articles/997850/">RVKMS and Rust KMS bindings</a> (November 20, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1006805/">Resistance to Rust abstractions for DMA mapping</a> (January 30, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1015409/">A process for handling Rust code in the core kernel</a> (March 27, 2025)</p> <p class="IndexSecondary"> <a name="Development_tools-SFrame"></a><a href="#Development_tools-SFrame">SFrame</a></p> <p class="IndexEntry"> <a href="/Articles/932209/">Reliable user-space stack traces with SFrame</a> (May 22, 2023)</p> <p class="IndexSecondary"> <a name="Development_tools-Sparse"></a><a href="#Development_tools-Sparse">Sparse</a></p> <p class="IndexEntry"> <a href="/Articles/87538/">Finding kernel problems automatically</a> (June 1, 2004)</p> <p class="IndexEntry"> <a href="/Articles/205624/">Using sparse for endianness verification</a> (October 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/208312/">Sparse gets a maintainer</a> (November 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/689907/">Sparse: a look under the hood</a> (June 8, 2016)</p> <p class="IndexSecondary"> <a name="Development_tools-Static_analysis"></a><a href="#Development_tools-Static_analysis">Static analysis</a></p> <p class="IndexEntry"> <a href="/Articles/608992/">One year of Coverity work</a> (August 20, 2014)</p> <p class="IndexEntry"> <a href="/Articles/683476/">Static code checks for the kernel</a> (April 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/691882/">Smatch: pluggable static analysis for C</a> (June 22, 2016)</p> <p class="IndexEntry"> <a href="/Articles/1012990/">Capability analysis for the kernel</a> (March 10, 2025)</p> <p class="IndexSecondary"> <a name="Development_tools-Testing"></a><a href="#Development_tools-Testing">Testing</a></p> <p class="IndexEntry"> <a href="/Articles/139123/">Automated kernel testing</a> (June 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/625969/">Kernel test automation with LTP</a> (December 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/662882/">Kernel testing</a> (November 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684923/">Memory-management testing</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717221/">Notes from Linaro Connect</a> (March 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/717699/">Stack and driver testing</a> (March 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/757239/">Filesystem test suites</a> (June 13, 2018)</p> <p class="IndexEntry"> <a href="/Articles/780985/">A kernel unit-testing framework</a> (March 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/790235/">How many kernel test frameworks?</a> (June 5, 2019)</p> <p class="IndexEntry"> <a href="/Articles/799134/">Defragmenting the kernel development process</a> (September 14, 2019)</p> <p class="IndexEntry"> <a href="/Articles/804050/">The 2019 Automated Testing Summit</a> (November 13, 2019)</p> <p class="IndexEntry"> <a href="/Articles/830660/">Preparing for the realtime future</a> (September 9, 2020)</p> <p class="IndexEntry"> <a href="/Articles/857862/">The runtime verification subsystem</a> (June 7, 2021)</p> <p class="IndexEntry"> <a href="/Articles/937830/">Testing for storage and filesystems</a> (July 12, 2023)</p> <p class="IndexEntry"> <a href="/Articles/939538/">Challenges for KernelCI</a> (August 1, 2023)</p> <p class="IndexEntry"> <a href="/Articles/951313/">Faster kernel testing with virtme-ng</a> (November 15, 2023)</p> <p class="IndexSecondary"> <a name="Development_tools-Trinity"></a><a href="#Development_tools-Trinity">Trinity</a></p> <p class="IndexEntry"> <a href="/Articles/514054/">KS2012: Regression testing</a> (August 30, 2012)</p> <p class="IndexEntry"> <a href="/Articles/536173/">LCA: The Trinity fuzz tester</a> (February 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571991/">Two sessions on kernel testing</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591959/">Trinity and memory management testing</a> (March 26, 2014)</p> <p class="IndexSecondary"> <a name="Development_tools-Undertaker"></a><a href="#Development_tools-Undertaker">Undertaker</a></p> <p class="IndexEntry"> <a href="/Articles/617383/">Three talks on kernel development tools</a> (October 22, 2014)</p> <p class="IndexSecondary"> <a name="Development_tools-xfstests"></a><a href="#Development_tools-xfstests">xfstests</a></p> <p class="IndexEntry"> <a href="/Articles/591985/">Toward better testing</a> (March 26, 2014)</p> <p class="IndexPrimary"> <a name="devfs"><a href="#devfs">devfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/139595/">The end of the devfs story</a> (June 13, 2005)</p> <p class="IndexEntry"> <a href="/Articles/331818/">The return of devfs</a> (May 6, 2009)</p> <p class="IndexPrimary"> <a name="Device_drivers"><a href="#Device_drivers">Device drivers</a></a></p> <p class="IndexEntry"> <a href="/Articles/69402/">Generic DMA pools</a> (February 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/73897/">The end of init_etherdev() and friends</a> (March 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/119652/">The new way of ioctl()</a> (January 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/121566/">NETIF_F_LLTX and race conditions</a> (February 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/127669/">HALs considered harmful</a> (March 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/139118/">RapidIO support for Linux</a> (June 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/146094/">ACPI, device interrupts, and suspend states</a> (August 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/152462/">ZONE_DMA32</a> (September 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160944/">Dynamic USB device IDs</a> (November 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/162890/">bcm43xx and the 802.11 stack</a> (December 6, 2005)</p> <p class="IndexEntry"> <a href="/Articles/184118/">The Novell Partner Linux Driver Process</a> (May 17, 2006)</p> <p class="IndexEntry"> <a href="/Articles/203562/">Device drivers and non-disclosure agreements</a> (October 9, 2006)</p> <p class="IndexEntry"> <a href="/Articles/248400/">KS2007: Hardware support and the i386/x86_64 merger</a> (September 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/252742/">Linux driver project gets a full-time leader</a> (October 3, 2007)</p> <p class="IndexEntry"> <a href="/Articles/262554/">Short subjects: kerneloops, read-mostly, and port 80</a> (December 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/270960/">Merging drivers early</a> (February 27, 2008)</p> <p class="IndexEntry"> <a href="/Articles/274008/">A new suspend/hibernate infrastructure</a> (March 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/286558/">Why some drivers are not merged early</a> (June 18, 2008)</p> <p class="IndexEntry"> <a href="/Articles/297770/">LIRC delurks</a> (September 10, 2008)</p> <p class="IndexEntry"> <a href="/Articles/307482/">UKUUG: Arnd Bergmann on interconnecting with PCIe</a> (November 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/364515/">Kernel support for infrared receivers</a> (December 2, 2009)</p> <p class="IndexEntry"> <a href="/Articles/371276/">LCA: Graphics driver ponies</a> (January 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/395712/">The USB composite framework</a> (July 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410856/">Shielding driver authors from locking</a> (October 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/450460/">Deferred driver probing</a> (July 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/468759/">The pin control subsystem</a> (November 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/865918/">A firewall for device drivers</a> (August 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/955001/">The intersection of mlx5, netdev, and lockdown</a> (December 18, 2023)</p> <p class="IndexEntry"> <a href="/Articles/969383/">A tale of two troublesome drivers</a> (April 12, 2024)</p> <p class="IndexEntry"> <a href="/Articles/990802/">Considering kernel pass-through interfaces</a> (September 20, 2024)</p> <p class="IndexSecondary"> <a name="Device_drivers-Accelerators"></a><a href="#Device_drivers-Accelerators">Accelerators</a></p> <p class="IndexEntry"> <a href="/Articles/867168/">Not-a-GPU accelerator drivers cross the line</a> (August 26, 2021)</p> <p class="IndexEntry"> <a href="/Articles/870418/">Requirements for accelerator drivers</a> (September 27, 2021)</p> <p class="IndexEntry"> <a href="/Articles/873334/">Synchronized GPU priority scheduling</a> (October 22, 2021)</p> <p class="IndexSecondary"> <a name="Device_drivers-Asynchronous_probing"></a><a href="#Device_drivers-Asynchronous_probing">Asynchronous probing</a></p> <p class="IndexEntry"> <a href="/Articles/611226/">Slow probing + udev + SIGKILL = trouble</a> (September 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/662820/">Device dependencies and deferred probing</a> (November 3, 2015)</p> <p class="IndexSecondary"> <a name="Device_drivers-Block_drivers"></a><a href="#Device_drivers-Block_drivers">Block drivers</a></p> <p class="IndexEntry"> <a href="/Articles/247072/">Cleaning up the block driver API</a> (August 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/266914/">A new block request completion API</a> (January 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/293658/">Block layer discard requests</a> (August 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/303270/">Block layer: solid-state storage, timeouts, affinity, and more</a> (October 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/322777/">Linux and 4K disk sectors</a> (March 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/423619/">Reworking disk events handling</a> (January 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/685499/">Stream IDs and I/O hints</a> (May 4, 2016)</p> <p class="IndexSecondary"> <a name="Device_drivers-Firmware_loading"></a><a href="#Device_drivers-Firmware_loading">Firmware loading</a></p> <p class="IndexEntry"> <a href="/Articles/511105/">Firmware loading and suspend/resume</a> (August 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/518942/">Udev and firmware</a> (October 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/645823/">Firmware signing</a> (May 27, 2015)</p> <p class="IndexSecondary"> <a name="Device_drivers-Graphics"></a><a href="#Device_drivers-Graphics">Graphics</a></p> <p class="IndexEntry"> <a href="/Articles/394702/">A line in the sand for graphics drivers</a> (July 5, 2010)</p> <p class="IndexEntry"> <a href="/Articles/459545/">Toward a unified display driver framework</a> (September 20, 2011)</p> <p class="IndexEntry"> <a href="/Articles/569704/">The Android Graphics microconference</a> (October 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/638908/">An update on the freedreno graphics driver</a> (April 8, 2015)</p> <p class="IndexEntry"> <a href="/Articles/653071/">Atomic mode setting design overview, part 1</a> (August 5, 2015)</p> <p class="IndexEntry"> <a href="/Articles/653466/">Atomic mode setting design overview, part 2</a> (August 12, 2015)</p> <p class="IndexEntry"> <a href="/Articles/703574/">Graphics world domination may be closer than it appears</a> (October 18, 2016)</p> <p class="IndexEntry"> <a href="/Articles/708891/">AMD's Display Core difficulties</a> (December 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/881827/">Resurrecting fbdev</a> (January 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/953144/">A Nouveau graphics driver update</a> (December 1, 2023)</p> <p class="IndexEntry"> <a href="/Articles/955376/">The Linux graphics stack in a nutshell, part 1</a> (December 19, 2023)</p> <p class="IndexEntry"> <a href="/Articles/955708/">The Linux graphics stack in a nutshell, part 2</a> (December 28, 2023)</p> <p class="IndexEntry"> <a href="/Articles/988438/">Whither the Apple AGX graphics driver?</a> (September 4, 2024)</p> <p class="IndexEntry"> <a href="/Articles/997850/">RVKMS and Rust KMS bindings</a> (November 20, 2024)</p> <p class="IndexSecondary"> <a name="Device_drivers-Industrial_IO"></a><a href="#Device_drivers-Industrial_IO">Industrial I/O</a></p> <p class="IndexEntry"> <a href="/Articles/390634/">Ambient light sensors</a> (June 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/465358/">(Partially) graduating IIO</a> (November 2, 2011)</p> <p class="IndexSecondary"> <a name="Device_drivers-Input"></a><a href="#Device_drivers-Input">Input</a></p> <p class="IndexEntry"> <a href="/Articles/425870/">LCA: Rationalizing the wacom driver</a> (February 1, 2011)</p> <p class="IndexSecondary"> <a name="Device_drivers-In_user_space"></a><a href="#Device_drivers-In_user_space">In user space</a></p> <p class="IndexEntry"> <a href="/Articles/66829/">User-space device drivers</a> (January 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/127698/">Handling interrupts in user space</a> (March 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/198202/">Support for drivers in user space</a> (September 4, 2006)</p> <p class="IndexEntry"> <a href="/Articles/232575/">UIO: user-space drivers</a> (May 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/308445/">Character devices in user space</a> (November 25, 2008)</p> <p class="IndexEntry"> <a href="/Articles/474088/">Safe device assignment with VFIO</a> (January 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/703785/">Linux drivers in user space — a survey</a> (October 19, 2016)</p> <p class="IndexSecondary"> <a name="Device_drivers-Network_drivers"></a><a href="#Device_drivers-Network_drivers">Network drivers</a></p> <p class="IndexEntry"> <a href="/Articles/243949/">Large receive offload</a> (August 1, 2007)</p> <p class="IndexEntry"> <a href="/Articles/246337/">Network transmit batching</a> (August 22, 2007)</p> <p class="IndexEntry"> <a href="/Articles/278016/">e1000 v. e1000e</a> (April 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/300202/">e1000e and the joy of development kernels</a> (September 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/356899/">Char devices for network interfaces</a> (October 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/809333/">Accelerating netfilter with hardware offload, part 1</a> (January 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/810663/">Accelerating netfilter with hardware offload, part 2</a> (January 31, 2020)</p> <p class="IndexSecondary"> <a name="Device_drivers-Nouveau"></a><a href="#Device_drivers-Nouveau">Nouveau</a></p> <p class="IndexEntry"> <a href="/Articles/217866/">LCA: The state of the Nouveau project</a> (January 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/357805/">KS2009: Staging, linux-next, and the development process</a> (October 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366648/">The abrupt merging of Nouveau</a> (December 15, 2009)</p> <p class="IndexEntry"> <a href="/Articles/377953/">Nouveau and interface compatibility</a> (March 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/993337/">On Rust in enterprise kernels</a> (October 10, 2024)</p> <p class="IndexSecondary"> <a name="Device_drivers-Platform_drivers"></a><a href="#Device_drivers-Platform_drivers">Platform drivers</a></p> <p class="IndexEntry"> <a href="/Articles/456146/">LinuxCon: x86 platform drivers</a> (August 24, 2011)</p> <p class="IndexSecondary"> <a name="Device_drivers-Support_APIs"></a><a href="#Device_drivers-Support_APIs">Support APIs</a></p> <p class="IndexEntry"> <a href="/Articles/102232/">A new I/O memory access mechanism</a> (September 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/143390/">PCI error recovery</a> (July 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/201111/">Driver core API changes for 2.6.19</a> (September 26, 2006)</p> <p class="IndexEntry"> <a href="/Articles/202449/">API changes: interrupt handlers and vectored I/O</a> (October 2, 2006)</p> <p class="IndexEntry"> <a href="/Articles/308426/">Driver API: sleeping poll(), exclusive I/O memory, and DMA API debugging</a> (November 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/391230/">Writing a WMI driver - an introduction</a> (June 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/396702/">Contiguous memory allocation for drivers</a> (July 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/433601/">APIs for sensors</a> (March 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/448499/">The platform device API</a> (June 21, 2011)</p> <p class="IndexEntry"> <a href="/Articles/450658/">What are they polling for?</a> (July 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/454389/">Sharing buffers between devices</a> (August 15, 2011)</p> <p class="IndexEntry"> <a href="/Articles/474819/">DMA buffer sharing in 3.3</a> (January 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/480055/">The Android ION memory allocator</a> (February 8, 2012)</p> <p class="IndexEntry"> <a href="/Articles/543408/">The trouble with DMA masks</a> (March 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/547559/">vm_iomap_memory()</a> (April 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/687496/">In search of the right RGB LED interface</a> (May 25, 2016)</p> <p class="IndexEntry"> <a href="/Articles/698014/">Semantics of MMIO mapping attributes across architectures</a> (August 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/703749/">Rethinking device memory allocation</a> (October 19, 2016)</p> <p class="IndexEntry"> <a href="/Articles/753481/">Shared memory mappings for devices</a> (May 7, 2018)</p> <p class="IndexEntry"> <a href="/Articles/759188/">IR decoding with BPF</a> (July 9, 2018)</p> <p class="IndexEntry"> <a href="/Articles/767281/">Device-to-device memory-transfer offload with P2PDMA</a> (October 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/782489/">Controlling device peer-to-peer access from user space</a> (March 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/792733/">Destaging ION</a> (July 9, 2019)</p> <p class="IndexEntry"> <a href="/Articles/822052/">DMA-BUF cache handling: Off the DMA API map (part 1)</a> (June 4, 2020)</p> <p class="IndexEntry"> <a href="/Articles/822521/">DMA-BUF cache handling: Off the DMA API map (part 2)</a> (June 11, 2020)</p> <p class="IndexEntry"> <a href="/Articles/840416/">Managing multifunction devices with the auxiliary bus</a> (December 17, 2020)</p> <p class="IndexEntry"> <a href="/Articles/997563/">Dancing the DMA two-step</a> (November 14, 2024)</p> <p class="IndexSecondary"> <a name="Device_drivers-Video"></a><a href="#Device_drivers-Video">Video</a></p> <p class="IndexEntry"> <a href="/Articles/257417/">Memory management for graphics processors</a> (November 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/300066/">LPC: The future of Linux graphics</a> (September 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/305919/">Large I/O memory in small address spaces</a> (November 4, 2008)</p> <p class="IndexSecondary"> <a name="Device_drivers-Video4Linux2"></a><a href="#Device_drivers-Video4Linux2">Video4Linux2</a></p> <p class="IndexEntry"> <a href="/Articles/203924/">The Video4Linux2 API: an introduction</a> (October 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/204545/">Video4Linux2 part 2: registration and open()</a> (October 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/206765/">Video4Linux2 part 3: Basic ioctl() handling</a> (October 30, 2006)</p> <p class="IndexEntry"> <a href="/Articles/213798/">Video4Linux2 part 4: inputs and outputs</a> (December 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/218798/">Video4Linux2 part 5a: colors and formats</a> (January 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/227533/">Video4Linux2 part 5b: format negotiation</a> (March 23, 2007)</p> <p class="IndexEntry"> <a href="/Articles/235023/">Video4Linux2 part 6a: Basic frame I/O</a> (May 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/240667/">Video4Linux2 part 6b: Streaming I/O</a> (July 5, 2007)</p> <p class="IndexEntry"> <a href="/Articles/247126/">Video4Linux2 part 7: Controls</a> (August 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/363349/">Videobuf: buffer management for V4L2 drivers</a> (November 23, 2009)</p> <p class="IndexEntry"> <a href="/Articles/389081/">2.6.35 Video4Linux2 enhancements</a> (May 25, 2010)</p> <p class="IndexEntry"> <a href="/Articles/447435/">The videobuf2 API</a> (June 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/469662/">Hardware face detection</a> (November 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/904776/">The growing image-processor unpleasantness</a> (August 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/992411/">Coping with complex cameras</a> (October 3, 2024)</p> <p class="IndexSecondary"> <a name="Device_drivers-Wireless_networking"></a><a href="#Device_drivers-Wireless_networking">Wireless networking</a></p> <p class="IndexEntry"> <a href="/Articles/173735/">The ipw3945 project</a> (March 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/222877/">A new Intel wireless driver</a> (February 20, 2007)</p> <p class="IndexEntry"> <a href="/Articles/294675/">Regulating wireless devices</a> (August 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/406491/">Broadcom firmware and regulatory compliance</a> (September 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/420623/">Radar detection with Linux</a> (December 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/456762/">Broadcom's wireless drivers, one year later</a> (August 29, 2011)</p> <p class="IndexPrimary"> <a name="Device_mapper"><a href="#Device_mapper">Device mapper</a></a></p> <p class="IndexEntry"> <a href="/Articles/94569/">Kernel Summit: Multipath I/O</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/124703/">Multipath support in the device mapper</a> (February 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/169140/">MD / DM</a> (January 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/246272/">Distributed storage</a> (August 21, 2007)</p> <p class="IndexEntry"> <a href="/Articles/332839/">Which I/O controller is the fairest of them all?</a> (May 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/363575/">Snapshot merge for the device mapper</a> (November 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/459420/">dm-verity</a> (September 19, 2011)</p> <p class="IndexPrimary"> <a name="Device_model"><a href="#Device_model">Device model</a></a></p> <p class="IndexEntry"> <a href="/Articles/104393/">Driver core functions: GPL only</a> (September 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/127858/">Some more 2.6.12 API changes</a> (March 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/128644/">Device model changes in store</a> (March 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/140787/">A big set of driver core changes</a> (June 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/154557/">Nested classes</a> (October 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/172986/">Sysfs and a stable kernel ABI</a> (February 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/201111/">Driver core API changes for 2.6.19</a> (September 26, 2006)</p> <p class="IndexEntry"> <a href="/Articles/229774/">Toward a safer sysfs</a> (April 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/645810/">A fresh look at the kernel's device model</a> (May 27, 2015)</p> <p class="IndexEntry"> <a href="/Articles/646617/">A tour of /sys/devices</a> (June 3, 2015)</p> <p class="IndexPrimary"> <a name="Device_naming"><a href="#Device_naming">Device naming</a></a></p> <p class="IndexEntry"> <a href="/Articles/75928/">Lots of SCSI disks</a> (March 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/79155/">A new device naming scheme</a> (April 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/448505/">User-friendly disk names</a> (June 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/467480/">Reverting disk aliases?</a> (November 16, 2011)</p> <p class="IndexPrimary"> <a name="Device_numbers"><a href="#Device_numbers">Device numbers</a></a></p> <p class="IndexEntry"> <a href="/Articles/65195/">The future of device numbers</a> (January 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/126808/">A unified device number allocator</a> (March 8, 2005)</p> <p class="IndexPrimary"> <a name="Devicescape_stack"><a href="#Devicescape_stack">Devicescape stack</a></a></p> <p class="IndexEntry"> <a href="/Articles/179305/">The 2006 Wireless Networking Summit</a> (April 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191652/">Kernel Summit 2006: Mini-summit summaries</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/209587/">Toward a free Atheros driver</a> (November 15, 2006)</p> <p class="IndexEntry"> <a href="/Articles/222877/">A new Intel wireless driver</a> (February 20, 2007)</p> <p class="IndexPrimary"> <a name="Device_tree"><a href="#Device_tree">Device tree</a></a></p> <p class="IndexEntry"> <a href="/Articles/357487/">KS2009: Generic device trees</a> (October 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/414016/">ELCE: Grant Likely on device trees</a> (November 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/435894/">Dynamic devices and static configuration</a> (March 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/448502/">Platform devices and device trees</a> (June 21, 2011)</p> <p class="IndexEntry"> <a href="/Articles/456217/">The udev tail wags the dog</a> (August 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/496400/">Supporting multi-platform ARM kernels</a> (May 9, 2012)</p> <p class="IndexEntry"> <a href="/Articles/560523/">Device tree troubles</a> (July 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/561462/">Device trees as ABI</a> (July 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572114/">Device tree bindings</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572692/">Device trees I: Are we having fun yet?</a> (November 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/573409/">Device trees II: The harder parts</a> (November 18, 2013)</p> <p class="IndexEntry"> <a href="/Articles/616859/">Device tree overlays</a> (October 22, 2014)</p> <p class="IndexEntry"> <a href="/Articles/730217/">An alternative device-tree source language</a> (August 9, 2017)</p> <p class="IndexEntry"> <a href="/Articles/771621/">Device-tree schemas</a> (November 14, 2018)</p> <p class="IndexPrimary"> <a name="devkmem"><a href="#devkmem">/dev/kmem</a></a></p> <p class="IndexEntry"> <a href="/Articles/147901/">Who needs /dev/kmem?</a> (August 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/153203/">User-space software suspend</a> (September 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160380/">A software suspend decision point</a> (November 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/851531/">Killing off /dev/kmem</a> (April 5, 2021)</p> <p class="IndexPrimary"> <a name="Direct_memory_access"><a href="#Direct_memory_access">Direct memory access</a></a></p> <p class="IndexEntry"> <a href="/Articles/69402/">Generic DMA pools</a> (February 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/75780/">The DMA API changes</a> (March 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/90870/">A handful of DMA topics</a> (June 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/91870/">DMA issues, part 2</a> (June 30, 2004)</p> <p class="IndexEntry"> <a href="/Articles/144100/">Kernel Summit 2005: I/O Busses</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/152462/">ZONE_DMA32</a> (September 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/162966/">Memory copies in hardware</a> (December 7, 2005)</p> <p class="IndexEntry"> <a href="/Articles/191931/">Kernel Summit 2006: DMA and IOMMU issues</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/256368/">The chained scatterlist API</a> (October 29, 2007)</p> <p class="IndexEntry"> <a href="/Articles/263343/">Rationalizing scatter/gather chains</a> (December 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/272693/">A better DMA memory allocator</a> (March 10, 2008)</p> <p class="IndexEntry"> <a href="/Articles/308426/">Driver API: sleeping poll(), exclusive I/O memory, and DMA API debugging</a> (November 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/440221/">ARM, DMA, and memory management</a> (April 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/447405/">A reworked contiguous memory allocator</a> (June 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/450286/">CMA and ARM</a> (July 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/467509/">Reworking the DMA mapping code (especially on ARM)</a> (November 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/474819/">DMA buffer sharing in 3.3</a> (January 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/543408/">The trouble with DMA masks</a> (March 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/732107/">Goodbye to GFP_TEMPORARY and dma_alloc_noncoherent()</a> (August 28, 2017)</p> <p class="IndexEntry"> <a href="/Articles/786558/">Bounce buffers for untrusted devices</a> (April 26, 2019)</p> <p class="IndexEntry"> <a href="/Articles/792733/">Destaging ION</a> (July 9, 2019)</p> <p class="IndexEntry"> <a href="/Articles/822052/">DMA-BUF cache handling: Off the DMA API map (part 1)</a> (June 4, 2020)</p> <p class="IndexEntry"> <a href="/Articles/822521/">DMA-BUF cache handling: Off the DMA API map (part 2)</a> (June 11, 2020)</p> <p class="IndexEntry"> <a href="/Articles/841916/">Restricted DMA</a> (January 7, 2021)</p> <p class="IndexEntry"> <a href="/Articles/855328/">Noncoherent DMA mappings</a> (May 7, 2021)</p> <p class="IndexEntry"> <a href="/Articles/889593/">A security fix briefly breaks DMA</a> (April 1, 2022)</p> <p class="IndexEntry"> <a href="/Articles/904210/">The trouble with 64-bit DMA</a> (August 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931943/">Phyr: a potential scatterlist replacement</a> (May 19, 2023)</p> <p class="IndexEntry"> <a href="/Articles/940973/">A more dynamic software I/O TLB</a> (August 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/997563/">Dancing the DMA two-step</a> (November 14, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1006805/">Resistance to Rust abstractions for DMA mapping</a> (January 30, 2025)</p> <p class="IndexPrimary"> <a name="dirreadahead"><a href="#dirreadahead">dirreadahead()</a></a></p> <p class="IndexEntry"> <a href="/Articles/606995/">Two paths to a better readdir()</a> (July 30, 2014)</p> <p class="IndexPrimary"> <a name="Distributed_lock_management"><a href="#Distributed_lock_management">Distributed lock management</a></a></p> <p class="IndexEntry"> <a href="/Articles/136308/">Clusters and distributed lock management</a> (May 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/150652/">Merging GFS2</a> (September 7, 2005)</p> <p class="IndexPrimary"> <a name="Distributions"><a href="#Distributions">Distributions</a></a></p> <p class="IndexEntry"> <a href="/Articles/376849/">SCALE 8x: Ubuntu kernel development process</a> (March 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/507239/">Kernel configuration for distributions</a> (July 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/682459/">Analyzing the patchiness of vendor kernels</a> (April 6, 2016)</p> <p class="IndexPrimary"> <a name="dma_declare_coherent_memory"><a href="#dma_declare_coherent_memory">dma_declare_coherent_memory()</a></a></p> <p class="IndexEntry"> <a href="/Articles/91870/">DMA issues, part 2</a> (June 30, 2004)</p> <p class="IndexPrimary"> <a name="dma_get_required_mask"><a href="#dma_get_required_mask">dma_get_required_mask()</a></a></p> <p class="IndexEntry"> <a href="/Articles/90870/">A handful of DMA topics</a> (June 23, 2004)</p> <p class="IndexPrimary"> <a name="DMTCP"><a href="#DMTCP">DMTCP</a></a></p> <p class="IndexEntry"> <a href="/Articles/414264/">Checkpoint/restart: it's complicated</a> (November 9, 2010)</p> <p class="IndexEntry"> <a href="/Articles/478111/">Preparing for user-space checkpoint/restore</a> (January 31, 2012)</p> <p class="IndexPrimary"> <a name="Dnotify"><a href="#Dnotify">Dnotify</a></a></p> <p class="IndexEntry"> <a href="/Articles/604686/">Filesystem notification, part 1: An overview of dnotify and inotify</a> (July 9, 2014)</p> <p class="IndexPrimary"> <a name="Documentation"><a href="#Documentation">Documentation</a></a></p> <p class="IndexEntry"> <a href="/Articles/191659/">Kernel Summit 2006: Documentation</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/196721/">Kevents and review of new APIs</a> (August 23, 2006)</p> <p class="IndexEntry"> <a href="/Articles/298832/">KS2008: Documentation</a> (September 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/329428/">In search of the perfect changelog</a> (April 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/504814/">Better documentation: the window of naive interest</a> (July 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/662930/">Kernel documentation</a> (November 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/671496/">The present and future of formatted kernel documentation</a> (January 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/692704/">Kernel documentation with Sphinx, part 1: how we got here</a> (July 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/692705/">Kernel documentation with Sphinx, part 2: how it works</a> (July 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/704613/">A report from the documentation maintainer</a> (October 26, 2016)</p> <p class="IndexEntry"> <a href="/Articles/705224/">Kernel documentation update</a> (November 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/772882/">Toward a kernel maintainer's guide</a> (November 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/810404/">How to contribute to kernel documentation</a> (January 23, 2020)</p> <p class="IndexEntry"> <a href="/Articles/894374/">Improving memory-management documentation</a> (May 10, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932398/">Memory-management documentation and development process</a> (June 2, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974515/">Documenting page flags by committee</a> (May 22, 2024)</p> <p class="IndexSecondary"> <a name="Documentation-man_pages"></a><a href="#Documentation-man_pages">man pages</a></p> <p class="IndexEntry"> <a href="/Articles/906496/">What's in a (type) name?</a> (September 2, 2022)</p> <p class="IndexPrimary"> <a name="Dracut"><a href="#Dracut">Dracut</a></a></p> <p class="IndexEntry"> <a href="/Articles/317793/">Dracut looks to replace the initramfs patchwork</a> (February 4, 2009)</p> <p class="IndexPrimary"> <a name="DRBD"><a href="#DRBD">DRBD</a></a></p> <p class="IndexEntry"> <a href="/Articles/329543/">DRBD: a distributed block device</a> (April 22, 2009)</p> <p class="IndexPrimary"> <a name="drop_caches"><a href="#drop_caches">drop_caches</a></a></p> <p class="IndexEntry"> <a href="/Articles/562211/">A survey of memory management patches</a> (August 6, 2013)</p> <p class="IndexPrimary"> <a name="Dynamic_frequency_selection"><a href="#Dynamic_frequency_selection">Dynamic frequency selection</a></a></p> <p class="IndexEntry"> <a href="/Articles/420623/">Radar detection with Linux</a> (December 21, 2010)</p> <p class="IndexPrimary"> <a name="Dynamic_tick"><a href="#Dynamic_tick">Dynamic tick</a></a></p> <p class="IndexEntry"> <a href="/Articles/223185/">Clockevents and dyntick</a> (February 21, 2007)</p> <p class="IndexEntry"> <a href="/Articles/228143/">Deferrable timers</a> (March 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/420544/">NoHZ tasks</a> (December 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/522262/">Relocating RCU callbacks</a> (October 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/549580/">(Nearly) full tickless operation in 3.10</a> (May 8, 2013)</p> <p class="IndexEntry"> <a href="/Articles/558284/">Is the whole system idle?</a> (July 10, 2013)</p> <p class="IndexEntry"> <a href="/Articles/659490/">Dropping the timer tick — for real this time</a> (October 7, 2015)</p> <p class="IndexPrimary"> <a name="EDAC"><a href="#EDAC">EDAC</a></a></p> <p class="IndexEntry"> <a href="/Articles/168972/">The 2.6.16 straggler list</a> (January 24, 2006)</p> <p class="IndexPrimary"> <a name="EISA"><a href="#EISA">EISA</a></a></p> <p class="IndexEntry"> <a href="/Articles/630115/">Dropping x86 EISA support</a> (January 21, 2015)</p> <p class="IndexPrimary"> <a name="Elevator"><a href="#Elevator">Elevator</a></a></p> <p class="IndexEntry"> <a href="/Articles/102976/">Modular, switchable I/O schedulers</a> (September 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/110277/">Into the ABISS</a> (November 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/114770/">Which is the fairest I/O scheduler of them all?</a> (December 8, 2004)</p> <p class="IndexEntry"> <a href="/Articles/157208/">Some block layer patches</a> (October 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/309400/">Variations on fair I/O schedulers</a> (December 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/474268/">An IOPS-based I/O scheduler</a> (January 4, 2012)</p> <p class="IndexEntry"> <a href="/Articles/601799/">The BFQ I/O scheduler</a> (June 11, 2014)</p> <p class="IndexPrimary"> <a name="Embedded_systems"><a href="#Embedded_systems">Embedded systems</a></a></p> <p class="IndexEntry"> <a href="/Articles/191822/">Kernel Summit 2006: Embedded systems</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/251573/">Reviving linux-tiny</a> (September 26, 2007)</p> <p class="IndexEntry"> <a href="/Articles/278647/">ELC: Morton and Saxena on working with the kernel community</a> (April 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/284767/">An interview with the new embedded maintainers</a> (June 4, 2008)</p> <p class="IndexEntry"> <a href="/Articles/318611/">Wakelocks and the embedded problem</a> (February 10, 2009)</p> <p class="IndexEntry"> <a href="/Articles/361445/">SamyGO: replacing television firmware</a> (November 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/383363/">ELC: Status of embedded Linux</a> (April 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/597529/">Networking on tiny machines</a> (May 7, 2014)</p> <p class="IndexEntry"> <a href="/Articles/608945/">Kernel tinification</a> (August 20, 2014)</p> <p class="IndexEntry"> <a href="/Articles/624258/">Splicing out syscalls for tiny kernels</a> (December 3, 2014)</p> <p class="IndexEntry"> <a href="/Articles/631853/">Linux as a single-user system</a> (February 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/721074/">An alternative TTY layer</a> (April 27, 2017)</p> <p class="IndexEntry"> <a href="/Articles/725376/">Shrinking the scheduler</a> (June 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/741494/">Shrinking the kernel with link-time garbage collection</a> (December 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/746780/">Shrinking the kernel with an axe</a> (February 8, 2018)</p> <p class="IndexEntry"> <a href="/Articles/748198/">Shrinking the kernel with a hammer</a> (March 2, 2018)</p> <p class="IndexPrimary"> <a name="Epoll"><a href="#Epoll">Epoll</a></a></p> <p class="IndexEntry"> <a href="/Articles/520012/">EPOLL_CTL_DISABLE and multithreaded applications</a> (October 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/520198/">EPOLL_CTL_DISABLE, epoll, and API design</a> (October 23, 2012)</p> <p class="IndexEntry"> <a href="/Articles/633422/">Epoll evolving</a> (February 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/637435/">Issues with epoll()</a> (March 23, 2015)</p> <p class="IndexEntry"> <a href="/Articles/789603/">A ring buffer for epoll</a> (May 30, 2019)</p> <p class="IndexEntry"> <a href="/Articles/837816/">epoll_pwait2(), close_range(), and encoded I/O</a> (November 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/864947/">The edge-triggered misunderstanding</a> (August 5, 2021)</p> <p class="IndexEntry"> <a href="/Articles/913291/">Two performance-oriented patches: epoll and NUMA balancing</a> (November 4, 2022)</p> <p class="IndexPrimary"> <a name="Error_codes"><a href="#Error_codes">Error codes</a></a></p> <p class="IndexEntry"> <a href="/Articles/449725/">-EWHICHERROR?</a> (June 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/657341/">Extended system call error reporting</a> (September 16, 2015)</p> <p class="IndexPrimary"> <a name="eventfs"><a href="#eventfs">eventfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/225714/">Kernel events without kevents</a> (March 13, 2007)</p> <p class="IndexPrimary"> <a name="Events_reporting"><a href="#Events_reporting">Events reporting</a></a></p> <p class="IndexEntry"> <a href="/Articles/95347/">A kernel events layer</a> (July 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/101210/">Figuring out kernel event reporting</a> (September 8, 2004)</p> <p class="IndexEntry"> <a href="/Articles/104343/">Watching filesystem events with inotify</a> (September 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107314/">Coming in 2.6.10</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/122764/">More hooks for kernel events</a> (February 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/131802/">Extending netlink</a> (April 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/140815/">Dealing with disk I/O problems</a> (June 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/172844/">The kevent interface</a> (February 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/192410/">OLS: A proposal for a new networking API</a> (July 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/193691/">Toward a kernel events interface</a> (August 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/213672/">Kevent take 26</a> (December 12, 2006)</p> <p class="IndexEntry"> <a href="/Articles/233462/">The return of kevent?</a> (May 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/236206/">The return of syslets</a> (May 30, 2007)</p> <p class="IndexEntry"> <a href="/Articles/276856/">vringfd()</a> (April 7, 2008)</p> <p class="IndexEntry"> <a href="/Articles/760714/">A kernel event notification mechanism</a> (July 25, 2018)</p> <p class="IndexEntry"> <a href="/Articles/790831/">Generalized events notification and security policies</a> (June 11, 2019)</p> <p class="IndexPrimary"> <a name="exec"><a href="#exec">exec()</a></a></p> <p class="IndexEntry"> <a href="/Articles/630727/">How programs get run</a> (January 28, 2015)</p> <p class="IndexEntry"> <a href="/Articles/631631/">How programs get run: ELF binaries</a> (February 4, 2015)</p> <p class="IndexPrimary"> <a name="execns"><a href="#execns">execns()</a></a></p> <p class="IndexEntry"> <a href="/Articles/190966/">execns()</a> (July 11, 2006)</p> <p class="IndexPrimary"> <a name="Execute_in_place"><a href="#Execute_in_place">Execute in place</a></a></p> <p class="IndexEntry"> <a href="/Articles/94560/">Kernel Summit: kexec and fast booting</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/135472/">Execute-in-place</a> (May 11, 2005)</p> <p class="IndexPrimary"> <a name="EXPORT_SYMBOL_GPL"><a href="#EXPORT_SYMBOL_GPL">EXPORT_SYMBOL_GPL</a></a></p> <p class="IndexEntry"> <a href="/Articles/154602/">On the value of EXPORT_SYMBOL_GPL</a> (October 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/171838/">EXPORT_SYMBOL_GPL_FUTURE()</a> (February 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/603131/">Questioning EXPORT_SYMBOL_GPL()</a> (June 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/769471/">The proper use of EXPORT_SYMBOL_GPL()</a> (October 27, 2018)</p> <p class="IndexPrimary"> <a name="Externsible_firmware_interface"><a href="#Externsible_firmware_interface">Externsible firmware interface</a></a></p> <p class="IndexEntry"> <a href="/Articles/454399/">The Extensible Firmware Interface - an introduction</a> (August 9, 2011)</p> <p class="IndexPrimary"> <a name="fallocate"><a href="#fallocate">fallocate()</a></a></p> <p class="IndexEntry"> <a href="/Articles/226710/">fallocate()</a> (March 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/240571/">The ongoing fallocate() story</a> (July 3, 2007)</p> <p class="IndexEntry"> <a href="/Articles/415889/">Punching holes in files</a> (November 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/492959/">Allocating uninitialized file blocks</a> (April 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/500382/">Volatile ranges with fallocate()</a> (June 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/527373/">Uninitialized blocks and unexpected flags</a> (November 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/528107/">A FALLOC_FL_NO_HIDE_STALE followup</a> (December 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/589260/">Finding the proper scope of a file collapse operation</a> (March 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/629965/">Inserting a hole into a file</a> (January 21, 2015)</p> <p class="IndexEntry"> <a href="/Articles/680708/">Blurred boundaries in the storage stack</a> (March 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684830/">fallocate() and the block layer</a> (April 27, 2016)</p> <p class="IndexPrimary"> <a name="fanotify"><a href="#fanotify">fanotify</a></a></p> <p class="IndexEntry"> <a href="/Articles/339399/">The fanotify API</a> (July 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/344038/">In Brief</a> (July 29, 2009)</p> <p class="IndexEntry"> <a href="/Articles/360955/">Another new ABI for fanotify</a> (November 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/409681/">No fanotify for 2.6.36</a> (October 12, 2010)</p> <p class="IndexEntry"> <a href="/Articles/718802/">Superblock watch for fsnotify</a> (April 5, 2017)</p> <p class="IndexEntry"> <a href="/Articles/896055/">Change notifications for network filesystems</a> (May 25, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932415/">Fanotify and hierarchical storage management</a> (May 23, 2023)</p> <p class="IndexEntry"> <a href="/Articles/932648/">Monitoring mount operations</a> (May 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/980330/">Mount notifications</a> (July 3, 2024)</p> <p class="IndexEntry"> <a href="/Articles/981392/">Hierarchical storage management, fanotify, FUSE, and more</a> (July 16, 2024)</p> <p class="IndexPrimary"> <a name="Fast_booting"><a href="#Fast_booting">Fast booting</a></a></p> <p class="IndexEntry"> <a href="/Articles/94560/">Kernel Summit: kexec and fast booting</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/299483/">LPC: Booting Linux in five seconds</a> (September 22, 2008)</p> <p class="IndexEntry"> <a href="/Articles/314808/">An asynchronous function call infrastructure</a> (January 13, 2009)</p> <p class="IndexPrimary"> <a name="fast_gup"><a href="#fast_gup">fast_gup()</a></a></p> <p class="IndexEntry"> <a href="/Articles/275808/">Toward better direct I/O scalability</a> (March 31, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291826/">The lockless page cache</a> (July 29, 2008)</p> <p class="IndexPrimary"> <a name="fault"><a href="#fault">fault()</a></a></p> <p class="IndexEntry"> <a href="/Articles/203725/">Faulting out populate(), nopfn(), and nopage()</a> (October 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/242625/">fault()</a> (July 23, 2007)</p> <p class="IndexPrimary"> <a name="Fault_injection"><a href="#Fault_injection">Fault injection</a></a></p> <p class="IndexEntry"> <a href="/Articles/209257/">Injecting faults into the kernel</a> (November 14, 2006)</p> <p class="IndexEntry"> <a href="/Articles/740146/">BPF-based error injection for the kernel</a> (November 29, 2017)</p> <p class="IndexPrimary"> <a name="Fault_tolerance"><a href="#Fault_tolerance">Fault tolerance</a></a></p> <p class="IndexEntry"> <a href="/Articles/348886/">HWPOISON</a> (August 26, 2009)</p> <p class="IndexEntry"> <a href="/Articles/753261/">Hotplugging and poisoning</a> (May 3, 2018)</p> <p class="IndexEntry"> <a href="/Articles/893565/">How to cope with hardware-poisoned page-cache pages</a> (May 5, 2022)</p> <p class="IndexPrimary"> <a name="fcntl_method"><a href="#fcntl_method">fcntl() method</a></a></p> <p class="IndexEntry"> <a href="/Articles/98463/">The end of the fcntl() method</a> (August 18, 2004)</p> <p class="IndexPrimary"> <a name="Fibrils"><a href="#Fibrils">Fibrils</a></a></p> <p class="IndexEntry"> <a href="/Articles/219954/">Fibrils and asynchronous system calls</a> (January 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/220897/">Kernel fibrillation</a> (February 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/221913/">Alternatives to fibrils</a> (February 13, 2007)</p> <p class="IndexPrimary"> <a name="FIEMAP_ioctl"><a href="#FIEMAP_ioctl">FIEMAP ioctl()</a></a></p> <p class="IndexEntry"> <a href="/Articles/260795/">SEEK_HOLE or FIEMAP?</a> (December 3, 2007)</p> <p class="IndexEntry"> <a href="/Articles/429345/">Making FIEMAP and delayed allocation play well together</a> (February 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/440255/">The return of SEEK_HOLE</a> (April 26, 2011)</p> <p class="IndexPrimary"> <a name="File_descriptors"><a href="#File_descriptors">File descriptors</a></a></p> <p class="IndexEntry"> <a href="/Articles/236843/">Fun with file descriptors</a> (June 4, 2007)</p> <p class="IndexEntry"> <a href="/Articles/237722/">More fun with file descriptors</a> (June 12, 2007)</p> <p class="IndexPrimary"> <a name="File_handle"><a href="#File_handle">File handle</a></a></p> <p class="IndexEntry"> <a href="/Articles/375888/">Open by handle</a> (February 23, 2010)</p> <p class="IndexPrimary"> <a name="Filesystems"><a href="#Filesystems">Filesystems</a></a></p> <p class="IndexEntry"> <a href="/Articles/74138/">pramfs - a new filesystem</a> (March 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/109400/">Trapfs - an automounter on the cheap</a> (November 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/115405/">Debugfs</a> (December 13, 2004)</p> <p class="IndexEntry"> <a href="/Articles/135283/">The mini_fo filesystem</a> (May 10, 2005)</p> <p class="IndexEntry"> <a href="/Articles/137439/">A filesystem from Plan 9 space</a> (May 25, 2005)</p> <p class="IndexEntry"> <a href="/Articles/138063/">Files with negative offsets</a> (May 31, 2005)</p> <p class="IndexEntry"> <a href="/Articles/156921/">Coming soon: eCryptfs</a> (October 25, 2005)</p> <p class="IndexEntry"> <a href="/Articles/159077/">Shared subtrees</a> (November 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/196292/">KHB: A Filesystems reading list</a> (August 21, 2006)</p> <p class="IndexEntry"> <a href="/Articles/260795/">SEEK_HOLE or FIEMAP?</a> (December 3, 2007)</p> <p class="IndexEntry"> <a href="/Articles/287289/">What's AdvFS good for?</a> (June 25, 2008)</p> <p class="IndexEntry"> <a href="/Articles/287435/">Freezing filesystems and containers</a> (June 25, 2008)</p> <p class="IndexEntry"> <a href="/Articles/298589/">KS2008: Filesystem and block layer interaction</a> (September 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/322668/">A superficial introduction to fsblock</a> (March 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/326471/">That massive filesystem thread</a> (March 31, 2009)</p> <p class="IndexEntry"> <a href="/Articles/331808/">The two sides of reflink()</a> (May 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/333783/">This week's reflink() API</a> (May 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/337765/">Avoiding a read-only filesystem on errors</a> (June 17, 2009)</p> <p class="IndexEntry"> <a href="/Articles/338435/">Protected RAMFS</a> (June 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/339337/">Soft updates, hard problems</a> (July 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/350219/">O_*SYNC</a> (September 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/351422/">POSIX v. reality: A position on O_PONIES</a> (September 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/354861/">Featherstitch: Killing fsync() softly</a> (September 30, 2009)</p> <p class="IndexEntry"> <a href="/Articles/357767/">File holes, races, and mmap()</a> (October 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/370419/">LCA: Why filesystems are hard</a> (January 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/400629/">One billion files on Linux</a> (August 18, 2010)</p> <p class="IndexEntry"> <a href="/Articles/440255/">The return of SEEK_HOLE</a> (April 26, 2011)</p> <p class="IndexEntry"> <a href="/Articles/490291/">Runtime filesystem consistency checking</a> (April 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/494028/">O_HOT and O_COLD</a> (April 24, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548939/">LSFMM: Range locking</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/606995/">Two paths to a better readdir()</a> (July 30, 2014)</p> <p class="IndexEntry"> <a href="/Articles/637428/">Filesystem defragmentation</a> (March 23, 2015)</p> <p class="IndexEntry"> <a href="/Articles/637431/">UID/GID identity and filesystems</a> (March 23, 2015)</p> <p class="IndexEntry"> <a href="/Articles/643892/">Trading off safety and performance in the kernel</a> (May 12, 2015)</p> <p class="IndexEntry"> <a href="/Articles/672576/">Heading toward 2038-safe filesystems</a> (January 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/680705/">A case for variant symlinks</a> (March 23, 2016)</p> <p class="IndexEntry"> <a href="/Articles/685978/">Exposing extent information to user space</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718800/">Online filesystem scrubbing and repair</a> (April 5, 2017)</p> <p class="IndexEntry"> <a href="/Articles/718803/">Filesystem management interfaces</a> (April 5, 2017)</p> <p class="IndexEntry"> <a href="/Articles/752552/">Filesystem metadata memory management</a> (April 24, 2018)</p> <p class="IndexEntry"> <a href="/Articles/755277/">A filesystem &quot;change journal&quot; and other topics</a> (June 4, 2018)</p> <p class="IndexEntry"> <a href="/Articles/786258/">Implementing fully immutable files</a> (April 19, 2019)</p> <p class="IndexEntry"> <a href="/Articles/788851/">Filesystems for zoned block devices</a> (May 21, 2019)</p> <p class="IndexEntry"> <a href="/Articles/788938/">Filesystems and crash resistance</a> (May 21, 2019)</p> <p class="IndexEntry"> <a href="/Articles/789038/">Lazy file reflink</a> (May 22, 2019)</p> <p class="IndexEntry"> <a href="/Articles/794364/">Accessing zoned block devices with zonefs</a> (July 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/796687/">On-disk format robustness requirements for new filesystems</a> (August 19, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803890/">Filesystem sandboxing with eBPF</a> (November 6, 2019)</p> <p class="IndexEntry"> <a href="/Articles/897263/">Zoned storage</a> (June 14, 2022)</p> <p class="IndexEntry"> <a href="/Articles/905931/">Toward a better definition for i_version</a> (August 26, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932748/">Zoned storage and filesystems</a> (May 25, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937247/">Improving i_version</a> (July 5, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937326/">BPF iterators for filesystems</a> (July 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/945320/">The PuzzleFS container filesystem</a> (September 25, 2023)</p> <p class="IndexEntry"> <a href="/Articles/946394/">Rethinking multi-grain timestamps</a> (October 9, 2023)</p> <p class="IndexEntry"> <a href="/Articles/963749/">A new filesystem for pidfds</a> (March 13, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974219/">Supporting larger block sizes in filesystems</a> (May 22, 2024)</p> <p class="IndexEntry"> <a href="/Articles/975863/">Handling the NFS change attribute</a> (June 4, 2024)</p> <p class="IndexEntry"> <a href="/Articles/976355/">Removing GFP_NOFS</a> (June 5, 2024)</p> <p class="IndexEntry"> <a href="/Articles/980558/">A new API for tree-in-dcache filesystems</a> (July 9, 2024)</p> <p class="IndexEntry"> <a href="/Articles/983714/">Handling filesystem interruptibility</a> (August 5, 2024)</p> <p class="IndexEntry"> <a href="/Articles/984556/">Tracing the source of filesystem errors</a> (August 7, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-Access-time_tracking"></a><a href="#Filesystems-Access-time_tracking">Access-time tracking</a></p> <p class="IndexEntry"> <a href="/Articles/244829/">Once upon atime</a> (August 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/397442/">File creation times</a> (July 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/564120/">Deferring mtime and ctime updates</a> (August 21, 2013)</p> <p class="IndexEntry"> <a href="/Articles/621046/">Introducing lazytime</a> (November 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/634803/">Lazytime hits a snag</a> (February 25, 2015)</p> <p class="IndexSecondary"> <a name="Filesystems-APIs"></a><a href="#Filesystems-APIs">APIs</a></p> <p class="IndexEntry"> <a href="/Articles/975444/">New APIs for filesystems</a> (May 30, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-autofs"></a><a href="#Filesystems-autofs">autofs</a></p> <p class="IndexEntry"> <a href="/Articles/494993/">Fixing the unfixable autofs ABI</a> (April 30, 2012)</p> <p class="IndexSecondary"> <a name="Filesystems-bcachefs"></a><a href="#Filesystems-bcachefs">bcachefs</a></p> <p class="IndexEntry"> <a href="/Articles/655366/">The bcachefs filesystem</a> (August 25, 2015)</p> <p class="IndexEntry"> <a href="/Articles/755276/">An update on bcachefs</a> (May 23, 2018)</p> <p class="IndexEntry"> <a href="/Articles/793282/">Bcachefs gets closer</a> (July 11, 2019)</p> <p class="IndexEntry"> <a href="/Articles/895266/">Bringing bcachefs to the mainline</a> (May 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/934692/">Merging bcachefs</a> (June 16, 2023)</p> <p class="IndexSecondary"> <a name="Filesystems-Benchmarking"></a><a href="#Filesystems-Benchmarking">Benchmarking</a></p> <p class="IndexEntry"> <a href="/Articles/385081/">Kernel Hacker's Bookshelf: Generating Realistic Impressions for File-System Benchmarking</a> (April 28, 2010)</p> <p class="IndexSecondary"> <a name="Filesystems-Btrfs"></a><a href="#Filesystems-Btrfs">Btrfs</a></p> <p class="IndexEntry"> <a href="/Articles/238923/">btrfs and NILFS</a> (June 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/265257/">A better btrfs</a> (January 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/302251/">Btrfs to the mainline?</a> (October 8, 2008)</p> <p class="IndexEntry"> <a href="/Articles/313682/">Btrfs aims for the mainline</a> (January 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/342892/">A short history of btrfs</a> (July 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/358940/">JLS2009: A Btrfs update</a> (October 27, 2009)</p> <p class="IndexEntry"> <a href="/Articles/361457/">Supporting transactions in btrfs</a> (November 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/387196/">MeeGo and Btrfs</a> (May 11, 2010)</p> <p class="IndexEntry"> <a href="/Articles/393144/">Btrfs: broken by design?</a> (June 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/398503/">Data temperature in Btrfs</a> (August 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/465160/">A btrfs update at LinuxCon Europe</a> (November 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/499293/">Atime and btrfs: a bad combination?</a> (May 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/506244/">Btrfs send/receive</a> (July 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548937/">LSFMM: Btrfs: &quot;are we there yet?&quot;</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/576276/">The Btrfs filesystem: An introduction</a> (December 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/577218/">Btrfs: Getting started</a> (December 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/577961/">Btrfs: Working with multiple devices</a> (December 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/579009/">Btrfs: Subvolumes and snapshots</a> (January 6, 2014)</p> <p class="IndexEntry"> <a href="/Articles/581558/">Btrfs: Send/receive and ioctl()</a> (January 22, 2014)</p> <p class="IndexEntry"> <a href="/Articles/627232/">CoreOS looks to move from Btrfs to overlayfs</a> (December 24, 2014)</p> <p class="IndexEntry"> <a href="/Articles/679031/">In-band deduplication for Btrfs</a> (March 9, 2016)</p> <p class="IndexEntry"> <a href="/Articles/698090/">Btrfs and high-speed devices</a> (August 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/701263/">Adding encryption to Btrfs</a> (September 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/818842/">Authenticated Btrfs</a> (April 30, 2020)</p> <p class="IndexEntry"> <a href="/Articles/824855/">Btrfs at Facebook</a> (July 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/837816/">epoll_pwait2(), close_range(), and encoded I/O</a> (November 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/853308/">Btrfs on zoned block devices</a> (April 19, 2021)</p> <p class="IndexEntry"> <a href="/Articles/866582/">The Btrfs inode-number epic (part 1: the problem)</a> (August 20, 2021)</p> <p class="IndexEntry"> <a href="/Articles/866709/">The Btrfs inode-number epic (part 2: solutions)</a> (August 23, 2021)</p> <p class="IndexEntry"> <a href="/Articles/895444/">Snapshots, inodes, and filesystem identifiers</a> (May 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/918893/">Per-extent encrypted keys for fscrypt</a> (January 5, 2023)</p> <p class="IndexSecondary"> <a name="Filesystems-Case-independent_lookups"></a><a href="#Filesystems-Case-independent_lookups">Case-independent lookups</a></p> <p class="IndexEntry"> <a href="/Articles/71472/">The kernel and character set encodings</a> (February 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/754508/">Case-insensitive filesystem lookups</a> (May 23, 2018)</p> <p class="IndexEntry"> <a href="/Articles/772960/">Filesystems and case-insensitivity</a> (November 28, 2018)</p> <p class="IndexEntry"> <a href="/Articles/784041/">Case-insensitive ext4</a> (March 27, 2019)</p> <p class="IndexSecondary"> <a name="Filesystems-Ceph"></a><a href="#Filesystems-Ceph">Ceph</a></p> <p class="IndexEntry"> <a href="/Articles/258516/">The Ceph filesystem</a> (November 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/367787/">Two that didn't make it</a> (December 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/548102/">LSFMM: FUSE and cloud storage</a> (April 24, 2013)</p> <p class="IndexSecondary"> <a name="Filesystems-Chunkfs"></a><a href="#Filesystems-Chunkfs">Chunkfs</a></p> <p class="IndexEntry"> <a href="/Articles/231585/">Filesystems: chunkfs and reiser4</a> (April 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/337680/">What ever happened to chunkfs?</a> (June 17, 2009)</p> <p class="IndexSecondary"> <a name="Filesystems-Cluster"></a><a href="#Filesystems-Cluster">Cluster</a></p> <p class="IndexEntry"> <a href="/Articles/88680/">Should the Lustre preparation patches go in?</a> (June 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/137278/">The OCFS2 filesystem</a> (May 24, 2005)</p> <p class="IndexEntry"> <a href="/Articles/147043/">Time to merge GFS?</a> (August 10, 2005)</p> <p class="IndexEntry"> <a href="/Articles/150652/">Merging GFS2</a> (September 7, 2005)</p> <p class="IndexEntry"> <a href="/Articles/402287/">A look inside the OCFS2 filesystem</a> (September 1, 2010)</p> <p class="IndexSecondary"> <a name="Filesystems-composefs"></a><a href="#Filesystems-composefs">composefs</a></p> <p class="IndexEntry"> <a href="/Articles/917097/">Composefs for integrity protection and data sharing</a> (December 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/922851/">Debating composefs</a> (February 16, 2023)</p> <p class="IndexEntry"> <a href="/Articles/933616/">A decision on composefs</a> (June 7, 2023)</p> <p class="IndexSecondary"> <a name="Filesystems-Compressed"></a><a href="#Filesystems-Compressed">Compressed</a></p> <p class="IndexEntry"> <a href="/Articles/305083/">Squashfs submitted for the mainline</a> (October 29, 2008)</p> <p class="IndexSecondary"> <a name="Filesystems-Copy_on_write"></a><a href="#Filesystems-Copy_on_write">Copy on write</a></p> <p class="IndexEntry"> <a href="/Articles/895907/">Sharing memory for shared file extents</a> (May 24, 2022)</p> <p class="IndexSecondary"> <a name="Filesystems-COW_links"></a><a href="#Filesystems-COW_links">COW links</a></p> <p class="IndexEntry"> <a href="/Articles/77972/">COW Links</a> (March 29, 2004)</p> <p class="IndexSecondary"> <a name="Filesystems-Deprecation_policy"></a><a href="#Filesystems-Deprecation_policy">Deprecation policy</a></p> <p class="IndexEntry"> <a href="/Articles/886708/">When and why to deprecate filesystems</a> (March 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/951846/">Trust in and maintenance of filesystems</a> (November 21, 2023)</p> <p class="IndexSecondary"> <a name="Filesystems-EROFS"></a><a href="#Filesystems-EROFS">EROFS</a></p> <p class="IndexEntry"> <a href="/Articles/934047/">An introduction to EROFS</a> (June 7, 2023)</p> <p class="IndexEntry"> <a href="/Articles/984839/">Memory-management: tiered memory, huge pages, and EROFS</a> (August 15, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-exFAT"></a><a href="#Filesystems-exFAT">exFAT</a></p> <p class="IndexEntry"> <a href="/Articles/560424/">The exfiltrated exFAT driver</a> (July 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/797963/">Examining exFAT</a> (August 30, 2019)</p> <p class="IndexSecondary"> <a name="Filesystems-ext3"></a><a href="#Filesystems-ext3">ext3</a></p> <p class="IndexEntry"> <a href="/Articles/81357/">ext3 block reservation</a> (April 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/89560/">Online resizing of ext3 filesystems</a> (June 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/112566/">Which filesystem for Samba4?</a> (November 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/187321/">Ext3 for large filesystems</a> (June 12, 2006)</p> <p class="IndexEntry"> <a href="/Articles/187336/">Time for ext4?</a> (June 12, 2006)</p> <p class="IndexEntry"> <a href="/Articles/215868/">A nasty file corruption bug - fixed</a> (December 31, 2006)</p> <p class="IndexEntry"> <a href="/Articles/265285/">ext3 metaclustering</a> (January 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/283161/">Barriers and journaling filesystems</a> (May 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/328363/">Solving the ext3 latency problem</a> (April 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/349970/">Ext3 and RAID: silent data killers?</a> (August 31, 2009)</p> <p class="IndexEntry"> <a href="/Articles/387231/">The Next3 filesystem</a> (May 11, 2010)</p> <p class="IndexEntry"> <a href="/Articles/651645/">rm -r fs/ext3</a> (July 21, 2015)</p> <p class="IndexSecondary"> <a name="Filesystems-ext4"></a><a href="#Filesystems-ext4">ext4</a></p> <p class="IndexEntry"> <a href="/Articles/190169/">Time for ext4</a> (July 5, 2006)</p> <p class="IndexEntry"> <a href="/Articles/212794/">Secure deletion and trash bin support</a> (December 5, 2006)</p> <p class="IndexEntry"> <a href="/Articles/266274/">A better ext4</a> (January 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/284037/">Responding to ext4 journal corruption</a> (May 27, 2008)</p> <p class="IndexEntry"> <a href="/Articles/317787/">Online defragmentation for ext4</a> (February 4, 2009)</p> <p class="IndexEntry"> <a href="/Articles/322823/">ext4 and data loss</a> (March 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/426961/">Removing ext2 and/or ext3</a> (February 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/446618/">Ext4 snapshot concerns</a> (June 8, 2011)</p> <p class="IndexEntry"> <a href="/Articles/462437/">Securely deleting files from ext4 filesystems</a> (October 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/469805/">Improving ext4: bigalloc, inline data, and metadata checksums</a> (November 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/502472/">Supporting block I/O contexts</a> (June 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/527373/">Uninitialized blocks and unexpected flags</a> (November 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/544298/">A kernel change breaks GlusterFS</a> (March 27, 2013)</p> <p class="IndexEntry"> <a href="/Articles/544520/">Widening ext4's readdir() cookie</a> (March 27, 2013)</p> <p class="IndexEntry"> <a href="/Articles/561650/">Transparent decompression for ext4</a> (July 31, 2013)</p> <p class="IndexEntry"> <a href="/Articles/639427/">Ext4 encryption</a> (April 8, 2015)</p> <p class="IndexEntry"> <a href="/Articles/645720/">A tale of two data-corruption bugs</a> (May 24, 2015)</p> <p class="IndexEntry"> <a href="/Articles/668083/">Encrypted file backup for ext4</a> (December 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/718102/">Huge pages in the ext4 filesystem</a> (March 28, 2017)</p> <p class="IndexEntry"> <a href="/Articles/720226/">Evolving ext4 for SMR drives</a> (April 19, 2017)</p> <p class="IndexEntry"> <a href="/Articles/784041/">Case-insensitive ext4</a> (March 27, 2019)</p> <p class="IndexEntry"> <a href="/Articles/833696/">The ABI status of filesystem formats</a> (October 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/842385/">Fast commits for ext4</a> (January 15, 2021)</p> <p class="IndexEntry"> <a href="/Articles/854054/">Preventing information leaks from ext4 filesystems</a> (April 27, 2021)</p> <p class="IndexEntry"> <a href="/Articles/954770/">Ext4 data corruption hits the stable kernels</a> (December 14, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1016879/">Atomic writes for ext4</a> (April 10, 2025)</p> <p class="IndexSecondary"> <a name="Filesystems-Extended_attributes"></a><a href="#Filesystems-Extended_attributes">Extended attributes</a></p> <p class="IndexEntry"> <a href="/Articles/82461/">On reiserfs and external attributes</a> (April 28, 2004)</p> <p class="IndexEntry"> <a href="/Articles/112566/">Which filesystem for Samba4?</a> (November 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/868505/">Extended attributes for special files</a> (September 9, 2021)</p> <p class="IndexEntry"> <a href="/Articles/897420/">Retrieving kernel attributes</a> (June 13, 2022)</p> <p class="IndexSecondary"> <a name="Filesystems-Federated_filesystem"></a><a href="#Filesystems-Federated_filesystem">Federated filesystem</a></p> <p class="IndexEntry"> <a href="/Articles/548940/">LSFMM: FedFS</a> (May 1, 2013)</p> <p class="IndexSecondary"> <a name="Filesystems-File_sealing"></a><a href="#Filesystems-File_sealing">File sealing</a></p> <p class="IndexEntry"> <a href="/Articles/593918/">Sealed files</a> (April 9, 2014)</p> <p class="IndexSecondary"> <a name="Filesystems-Flash"></a><a href="#Filesystems-Flash">Flash</a></p> <p class="IndexEntry"> <a href="/Articles/234441/">LogFS</a> (May 15, 2007)</p> <p class="IndexEntry"> <a href="/Articles/276025/">UBIFS</a> (April 2, 2008)</p> <p class="IndexEntry"> <a href="/Articles/293658/">Block layer discard requests</a> (August 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/295545/">AXFS: a compressed, execute-in-place filesystem</a> (August 26, 2008)</p> <p class="IndexEntry"> <a href="/Articles/512788/">On the need for a new removable device filesystem</a> (August 22, 2012)</p> <p class="IndexEntry"> <a href="/Articles/518988/">An f2fs teardown</a> (October 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/522507/">A NILFS2 score card</a> (November 7, 2012)</p> <p class="IndexEntry"> <a href="/Articles/528617/">JFFS2, UBIFS, and the growth of flash storage</a> (December 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/756627/">Flash storage topics</a> (June 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/788721/">Supporting the UFS turbo-write mode</a> (May 20, 2019)</p> <p class="IndexSecondary"> <a name="Filesystems-fs-verity"></a><a href="#Filesystems-fs-verity">fs-verity</a></p> <p class="IndexEntry"> <a href="/Articles/752614/">File-level integrity</a> (April 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/763729/">Protecting files with fs-verity</a> (August 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/775872/">A setback for fs-verity</a> (January 3, 2019)</p> <p class="IndexEntry"> <a href="/Articles/790185/">Yet another try for fs-verity</a> (June 3, 2019)</p> <p class="IndexSecondary"> <a name="Filesystems-Fuzzing"></a><a href="#Filesystems-Fuzzing">Fuzzing</a></p> <p class="IndexEntry"> <a href="/Articles/637151/">Filesystem fuzzing</a> (March 18, 2015)</p> <p class="IndexEntry"> <a href="/Articles/904293/">A fuzzy issue of responsible disclosure</a> (August 12, 2022)</p> <p class="IndexEntry"> <a href="/Articles/917762/">Troubles with triaging syzbot reports</a> (December 14, 2022)</p> <p class="IndexSecondary"> <a name="Filesystems-GlusterFS"></a><a href="#Filesystems-GlusterFS">GlusterFS</a></p> <p class="IndexEntry"> <a href="/Articles/637437/">An introduction to GlusterFS</a> (March 25, 2015)</p> <p class="IndexSecondary"> <a name="Filesystems-InterMezzo"></a><a href="#Filesystems-InterMezzo">InterMezzo</a></p> <p class="IndexEntry"> <a href="/Articles/85878/">Goodbye to old code</a> (May 19, 2004)</p> <p class="IndexSecondary"> <a name="Filesystems-Internal_API"></a><a href="#Filesystems-Internal_API">Internal API</a></p> <p class="IndexEntry"> <a href="/Articles/958072/">Rust and C filesystem APIs</a> (January 15, 2024)</p> <p class="IndexEntry"> <a href="/Articles/978738/">Rust for filesystems</a> (June 21, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-In_user_space"></a><a href="#Filesystems-In_user_space">In user space</a></p> <p class="IndexEntry"> <a href="/Articles/68104/">FUSE - implementing filesystems in user space</a> (January 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/112396/">Should FUSE be merged?</a> (November 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/131856/">FUSE hits a snag</a> (April 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/133848/">FUSE and private namespaces</a> (April 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/548102/">LSFMM: FUSE and cloud storage</a> (April 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548108/">LSFMM: Coprocessors, exit times, and volatile ranges, and more</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/932060/">FUSE passthrough for file I/O</a> (May 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/932079/">FUSE and io_uring</a> (May 19, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937433/">The FUSE BPF filesystem</a> (July 11, 2023)</p> <p class="IndexEntry"> <a href="/Articles/981392/">Hierarchical storage management, fanotify, FUSE, and more</a> (July 16, 2024)</p> <p class="IndexEntry"> <a href="/Articles/983105/">Famfs: a filesystem interface to shareable memory</a> (July 30, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-JFS"></a><a href="#Filesystems-JFS">JFS</a></p> <p class="IndexEntry"> <a href="/Articles/920259/">Kernel code on the chopping block</a> (January 19, 2023)</p> <p class="IndexSecondary"> <a name="Filesystems-ksmbd"></a><a href="#Filesystems-ksmbd">ksmbd</a></p> <p class="IndexEntry"> <a href="/Articles/871866/">A rough start for ksmbd</a> (October 7, 2021)</p> <p class="IndexSecondary"> <a name="Filesystems-Log-structured"></a><a href="#Filesystems-Log-structured">Log-structured</a></p> <p class="IndexEntry"> <a href="/Articles/353411/">Log-structured file systems: There's one in every SSD</a> (September 18, 2009)</p> <p class="IndexSecondary"> <a name="Filesystems-Lustre"></a><a href="#Filesystems-Lustre">Lustre</a></p> <p class="IndexEntry"> <a href="/Articles/756565/">Will staging lose its Lustre?</a> (June 6, 2018)</p> <p class="IndexSecondary"> <a name="Filesystems-Mounting"></a><a href="#Filesystems-Mounting">Mounting</a></p> <p class="IndexEntry"> <a href="/Articles/265220/">Unprivileged mounts</a> (January 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/281157/">Read-only bind mounts</a> (May 6, 2008)</p> <p class="IndexEntry"> <a href="/Articles/497106/">User and group mount options for ext filesystems</a> (May 16, 2012)</p> <p class="IndexEntry"> <a href="/Articles/570338/">Mount point removal and renaming</a> (October 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/718638/">A new API for mounting filesystems</a> (April 2, 2017)</p> <p class="IndexEntry"> <a href="/Articles/753473/">A new API for mounting filesystems</a> (May 4, 2018)</p> <p class="IndexEntry"> <a href="/Articles/759499/">Six (or seven) new system calls for filesystem mounting</a> (July 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/762355/">The mismatched mount mess</a> (August 10, 2018)</p> <p class="IndexEntry"> <a href="/Articles/809125/">configfd() and shifting bind mounts</a> (January 10, 2020)</p> <p class="IndexEntry"> <a href="/Articles/837566/">ID mapping for mounted filesystems</a> (November 19, 2020)</p> <p class="IndexEntry"> <a href="/Articles/896255/">ID-mapped mounts</a> (May 30, 2022)</p> <p class="IndexEntry"> <a href="/Articles/927491/">An operation for filesystem tucking</a> (March 31, 2023)</p> <p class="IndexEntry"> <a href="/Articles/932648/">Monitoring mount operations</a> (May 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/934176/">Mounting images inside a user namespace</a> (June 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/934469/">Retrieving mount and filesystem information in user space</a> (June 14, 2023)</p> <p class="IndexEntry"> <a href="/Articles/950569/">listmount() and statmount()</a> (November 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/979166/">Finishing the conversion to the &quot;new&quot; mount API</a> (June 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/980330/">Mount notifications</a> (July 3, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-Network"></a><a href="#Filesystems-Network">Network</a></p> <p class="IndexEntry"> <a href="/Articles/267896/">CRFS and POHMELFS</a> (February 6, 2008)</p> <p class="IndexEntry"> <a href="/Articles/375888/">Open by handle</a> (February 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/480095/">POHMELFS returns</a> (February 8, 2012)</p> <p class="IndexEntry"> <a href="/Articles/685431/">Network filesystem topics</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718064/">Network filesystem cache-management interfaces</a> (March 29, 2017)</p> <p class="IndexEntry"> <a href="/Articles/718804/">A network filesystem wish list</a> (April 5, 2017)</p> <p class="IndexEntry"> <a href="/Articles/754506/">Network filesystem topics</a> (May 21, 2018)</p> <p class="IndexEntry"> <a href="/Articles/754507/">SMB/CIFS compounding support</a> (May 22, 2018)</p> <p class="IndexEntry"> <a href="/Articles/894589/">The netfslib helper library</a> (May 16, 2022)</p> <p class="IndexEntry"> <a href="/Articles/895556/">Unique identifiers for NFS</a> (May 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/896055/">Change notifications for network filesystems</a> (May 25, 2022)</p> <p class="IndexSecondary"> <a name="Filesystems-NFS"></a><a href="#Filesystems-NFS">NFS</a></p> <p class="IndexEntry"> <a href="/Articles/548936/">LSFMM: NFS status</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/595652/">Loopback NFS: theory and practice</a> (April 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/637211/">NFS performance</a> (March 23, 2015)</p> <p class="IndexEntry"> <a href="/Articles/788292/">NFS topics</a> (May 14, 2019)</p> <p class="IndexEntry"> <a href="/Articles/788335/">Common needs for Samba and NFS</a> (May 15, 2019)</p> <p class="IndexEntry"> <a href="/Articles/897917/">NFS: the early years</a> (June 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/898262/">NFS: the new millennium</a> (June 24, 2022)</p> <p class="IndexEntry"> <a href="/Articles/936628/">Converting NFSD to use iomap and folios</a> (July 4, 2023)</p> <p class="IndexSecondary"> <a name="Filesystems-Nonvolatile_memory"></a><a href="#Filesystems-Nonvolatile_memory">Nonvolatile memory</a></p> <p class="IndexEntry"> <a href="/Articles/729812/">The NOVA filesystem</a> (August 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/754505/">The NOVA filesystem</a> (May 18, 2018)</p> <p class="IndexEntry"> <a href="/Articles/756625/">The ZUFS zero-copy filesystem</a> (June 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787630/">Taking ZUFS upstream</a> (May 8, 2019)</p> <p class="IndexSecondary"> <a name="Filesystems-ntfs3"></a><a href="#Filesystems-ntfs3">ntfs3</a></p> <p class="IndexEntry"> <a href="/Articles/866112/">Short subjects: Realtime, Futexes, and ntfs3</a> (August 16, 2021)</p> <p class="IndexSecondary"> <a name="Filesystems-OrangeFS"></a><a href="#Filesystems-OrangeFS">OrangeFS</a></p> <p class="IndexEntry"> <a href="/Articles/643165/">The OrangeFS distributed filesystem</a> (May 6, 2015)</p> <p class="IndexSecondary"> <a name="Filesystems-osdfs"></a><a href="#Filesystems-osdfs">osdfs</a></p> <p class="IndexEntry"> <a href="/Articles/305740/">Linux and object storage devices</a> (November 4, 2008)</p> <p class="IndexSecondary"> <a name="Filesystems-Page_cache"></a><a href="#Filesystems-Page_cache">Page cache</a></p> <p class="IndexEntry"> <a href="/Articles/977486/">Dropping the page cache for filesystems</a> (June 11, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-POSIX_locks"></a><a href="#Filesystems-POSIX_locks">POSIX locks</a></p> <p class="IndexEntry"> <a href="/Articles/586904/">File-private POSIX locks</a> (February 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/667210/">Optional mandatory locking</a> (December 9, 2015)</p> <p class="IndexSecondary"> <a name="Filesystems-Pseudo"></a><a href="#Filesystems-Pseudo">Pseudo</a></p> <p class="IndexEntry"> <a href="/Articles/895111/">Dynamically allocated pseudo-filesystems</a> (May 16, 2022)</p> <p class="IndexEntry"> <a href="/Articles/981155/">Improving pseudo filesystems</a> (July 10, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-Reiser4"></a><a href="#Filesystems-Reiser4">Reiser4</a></p> <p class="IndexEntry"> <a href="/Articles/14035/">Reiser4 - the mammoth arrives</a> (October 30, 2002)</p> <p class="IndexEntry"> <a href="/Articles/82461/">On reiserfs and external attributes</a> (April 28, 2004)</p> <p class="IndexEntry"> <a href="/Articles/99232/">Looking at reiser4</a> (August 25, 2004)</p> <p class="IndexEntry"> <a href="/Articles/100148/">More notes on reiser4</a> (September 1, 2004)</p> <p class="IndexEntry"> <a href="/Articles/151204/">Toward merging reiser4</a> (September 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/152548/">Reiser4 and kernel inclusion</a> (September 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/193663/">Debating reiser4 - again</a> (August 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/231585/">Filesystems: chunkfs and reiser4</a> (April 24, 2007)</p> <p class="IndexSecondary"> <a name="Filesystems-Security"></a><a href="#Filesystems-Security">Security</a></p> <p class="IndexEntry"> <a href="/Articles/939097/">Unmaintained filesystems as a threat vector</a> (July 28, 2023)</p> <p class="IndexEntry"> <a href="/Articles/941764/">Defending mounted filesystems from the root user</a> (August 21, 2023)</p> <p class="IndexSecondary"> <a name="Filesystems-shiftfs"></a><a href="#Filesystems-shiftfs">shiftfs</a></p> <p class="IndexEntry"> <a href="/Articles/718639/">Container-aware filesystems</a> (April 3, 2017)</p> <p class="IndexEntry"> <a href="/Articles/812504/">Filesystem UID mapping for user namespaces: yet another shiftfs</a> (February 17, 2020)</p> <p class="IndexSecondary"> <a name="Filesystems-stat"></a><a href="#Filesystems-stat">stat()</a></p> <p class="IndexEntry"> <a href="/Articles/394298/">xstat() and fxstat()</a> (June 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/685791/">task_diag and statx()</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686106/">xstat()</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/707602/">statx() v3</a> (November 30, 2016)</p> <p class="IndexSecondary"> <a name="Filesystems-statx"></a><a href="#Filesystems-statx">statx()</a></p> <p class="IndexEntry"> <a href="/Articles/896153/">Making O_TMPFILE atomic (and statx() additions)</a> (May 25, 2022)</p> <p class="IndexSecondary"> <a name="Filesystems-Support_APIs"></a><a href="#Filesystems-Support_APIs">Support APIs</a></p> <p class="IndexEntry"> <a href="/Articles/935934/">Converting filesystems to iomap</a> (June 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974958/">Filesystems and iomap</a> (May 28, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-Symbolic_link_depth"></a><a href="#Filesystems-Symbolic_link_depth">Symbolic link depth</a></p> <p class="IndexEntry"> <a href="/Articles/91959/">Supporting deeper symbolic links</a> (June 30, 2004)</p> <p class="IndexSecondary"> <a name="Filesystems-Testing"></a><a href="#Filesystems-Testing">Testing</a></p> <p class="IndexEntry"> <a href="/Articles/896523/">Filesystems, testing, and stable trees</a> (May 31, 2022)</p> <p class="IndexEntry"> <a href="/Articles/896670/">Challenges with fstests and blktests</a> (June 1, 2022)</p> <p class="IndexEntry"> <a href="/Articles/897061/">Best practices for fstests</a> (June 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/982099/">Filesystem testing for stable kernels</a> (July 18, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-tmpfs"></a><a href="#Filesystems-tmpfs">tmpfs</a></p> <p class="IndexEntry"> <a href="/Articles/974630/">Large-folio support for shmem and tmpfs</a> (May 24, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-Tux3"></a><a href="#Filesystems-Tux3">Tux3</a></p> <p class="IndexEntry"> <a href="/Articles/309094/">Tux3: the other next-generation filesystem</a> (December 2, 2008)</p> <p class="IndexEntry"> <a href="/Articles/599795/">Tux3 posted for review</a> (May 21, 2014)</p> <p class="IndexSecondary"> <a name="Filesystems-Union"></a><a href="#Filesystems-Union">Union</a></p> <p class="IndexEntry"> <a href="/Articles/217084/">Unionfs</a> (January 10, 2007)</p> <p class="IndexEntry"> <a href="/Articles/265240/">State of the unionfs</a> (January 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/312641/">Unifying filesystems with union mounts</a> (December 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/324291/">Unioning file systems: Architecture, features, and design choices</a> (March 18, 2009)</p> <p class="IndexEntry"> <a href="/Articles/325369/">Union file systems: Implementations, part I</a> (March 25, 2009)</p> <p class="IndexEntry"> <a href="/Articles/327738/">Unioning file systems: Implementations, part 2</a> (April 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/396020/">A brief history of union mounts</a> (July 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/403012/">Another union filesystem approach</a> (September 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/447650/">Debating overlayfs</a> (June 15, 2011)</p> <p class="IndexEntry"> <a href="/Articles/542707/">Overlayfs for 3.10</a> (March 13, 2013)</p> <p class="IndexEntry"> <a href="/Articles/627232/">CoreOS looks to move from Btrfs to overlayfs</a> (December 24, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636943/">Overlayfs issues and experiences</a> (March 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/717950/">Sharing pages between mappings</a> (March 26, 2017)</p> <p class="IndexEntry"> <a href="/Articles/718062/">Overlayfs features</a> (March 29, 2017)</p> <p class="IndexSecondary"> <a name="Filesystems-Virtual_filesystem_layer"></a><a href="#Filesystems-Virtual_filesystem_layer">Virtual filesystem layer</a></p> <p class="IndexEntry"> <a href="/Articles/144110/">Kernel Summit 2005: Virtual filesystem topics</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/191926/">Kernel Summit 2006: The VFS layer</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/254856/">Some VFS address space operations changes</a> (October 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/341352/">A new way to truncate() files</a> (July 15, 2009)</p> <p class="IndexEntry"> <a href="/Articles/360199/">JLS: Increasing VFS scalability</a> (November 3, 2009)</p> <p class="IndexEntry"> <a href="/Articles/378911/">Big reader locks</a> (March 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/401738/">VFS scalability patches in 2.6.36</a> (August 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/411929/">Resolving the inode scalability discussion</a> (October 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/419811/">Dcache scalability and RCU-walk</a> (December 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/494158/">Toward a safer fput()</a> (April 24, 2012)</p> <p class="IndexEntry"> <a href="/Articles/525651/">VFS hot-data tracking</a> (November 20, 2012)</p> <p class="IndexEntry"> <a href="/Articles/636730/">Virtual filesystem layer changes, past and future</a> (March 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/649115/">Pathname lookup in Linux</a> (June 24, 2015)</p> <p class="IndexEntry"> <a href="/Articles/649729/">RCU-walk: faster pathname lookup in Linux</a> (July 1, 2015)</p> <p class="IndexEntry"> <a href="/Articles/650786/">A walk among the symlinks</a> (July 14, 2015)</p> <p class="IndexEntry"> <a href="/Articles/676101/">An in-kernel file loading interface</a> (February 17, 2016)</p> <p class="IndexEntry"> <a href="/Articles/685108/">VFS parallel lookups</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/692546/">Parallel pathname lookups and the importance of testing</a> (June 29, 2016)</p> <p class="IndexEntry"> <a href="/Articles/723057/">Restricting pathname resolution with AT_NO_JUMPS</a> (May 17, 2017)</p> <p class="IndexEntry"> <a href="/Articles/757122/">Messiness in removing directories</a> (June 13, 2018)</p> <p class="IndexEntry"> <a href="/Articles/767547/">New AT_ flags for restricting pathname lookup</a> (October 4, 2018)</p> <p class="IndexEntry"> <a href="/Articles/779472/">io_uring, SCM_RIGHTS, and reference-count cycles</a> (February 13, 2019)</p> <p class="IndexEntry"> <a href="/Articles/796868/">Restricting path name lookup with openat2()</a> (August 22, 2019)</p> <p class="IndexEntry"> <a href="/Articles/820000/">O_MAYEXEC — explicitly opening files for execution</a> (May 11, 2020)</p> <p class="IndexEntry"> <a href="/Articles/832959/">From O_MAYEXEC to trusted_for()</a> (October 1, 2020)</p> <p class="IndexEntry"> <a href="/Articles/843163/">Avoiding blocking file-name lookups</a> (January 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/864363/">Hole-punching races against page-cache filling</a> (July 29, 2021)</p> <p class="IndexEntry"> <a href="/Articles/890957/">trusted_for() bounces off the merge window</a> (April 12, 2022)</p> <p class="IndexEntry"> <a href="/Articles/934094/">Two VFS topics</a> (June 9, 2023)</p> <p class="IndexEntry"> <a href="/Articles/939389/">A virtual filesystem locking surprise</a> (July 31, 2023)</p> <p class="IndexEntry"> <a href="/Articles/940808/">Following up on file-position locking</a> (August 11, 2023)</p> <p class="IndexEntry"> <a href="/Articles/960088/">The hard life of a virtual-filesystem developer</a> (February 1, 2024)</p> <p class="IndexSecondary"> <a name="Filesystems-Virtualization"></a><a href="#Filesystems-Virtualization">Virtualization</a></p> <p class="IndexEntry"> <a href="/Articles/788333/">A filesystem for virtualization</a> (May 14, 2019)</p> <p class="IndexSecondary"> <a name="Filesystems-Workshops"></a><a href="#Filesystems-Workshops">Workshops</a></p> <p class="IndexEntry"> <a href="/Articles/327601/">Linux Storage and Filesystem workshop, day 1</a> (April 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/327740/">Linux Storage and Filesystem Workshop, day 2</a> (April 8, 2009)</p> <p class="IndexEntry"> <a href="/Articles/399148/">The 2010 Linux Storage and Filesystem Summit, day 1</a> (August 9, 2010)</p> <p class="IndexEntry"> <a href="/Articles/399313/">The 2010 Linux Storage and Filesystem Summit, day 2</a> (August 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/436871/">Linux Filesystem, Storage, and Memory Management Summit, Day 1</a> (April 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/437066/">Linux Filesystem, Storage, and Memory Management Summit, Day 2</a> (April 6, 2011)</p> <p class="IndexSecondary"> <a name="Filesystems-XFS"></a><a href="#Filesystems-XFS">XFS</a></p> <p class="IndexEntry"> <a href="/Articles/476263/">XFS: the filesystem of the future?</a> (January 20, 2012)</p> <p class="IndexEntry"> <a href="/Articles/638546/">XFS: There and back ... and there again?</a> (April 1, 2015)</p> <p class="IndexEntry"> <a href="/Articles/747633/">New tricks for XFS</a> (February 21, 2018)</p> <p class="IndexEntry"> <a href="/Articles/753480/">XFS parent pointers</a> (May 7, 2018)</p> <p class="IndexEntry"> <a href="/Articles/754504/">XFS online filesystem scrubbing and repair</a> (May 16, 2018)</p> <p class="IndexEntry"> <a href="/Articles/767398/">XFS, LSM, and low-level management APIs</a> (October 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/818977/">Atomic extent swapping for XFS</a> (May 1, 2020)</p> <p class="IndexEntry"> <a href="/Articles/838819/">XFS, stable kernels, and -rc releases</a> (December 3, 2020)</p> <p class="IndexEntry"> <a href="/Articles/934561/">XFS online filesystem check and repair</a> (June 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/934941/">Backporting XFS fixes to stable</a> (June 20, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1016406/">An update on torn-write protection</a> (April 9, 2025)</p> <p class="IndexPrimary"> <a name="File_Systems_Workshop"><a href="#File_Systems_Workshop">File Systems Workshop</a></a></p> <p class="IndexSecondary"> <a name="File_Systems_Workshop-2006"></a><a href="#File_Systems_Workshop-2006">2006</a></p> <p class="IndexEntry"> <a href="/Articles/190222/">The 2006 Linux File Systems Workshop</a> (July 5, 2006)</p> <p class="IndexPrimary"> <a name="Filtered_wakeups"><a href="#Filtered_wakeups">Filtered wakeups</a></a></p> <p class="IndexEntry"> <a href="/Articles/83633/">Filtered wakeups</a> (May 5, 2004)</p> <p class="IndexPrimary"> <a name="Firmware"><a href="#Firmware">Firmware</a></a></p> <p class="IndexEntry"> <a href="/Articles/130696/">The kernel and binary firmware</a> (April 6, 2005)</p> <p class="IndexEntry"> <a href="/Articles/284104/">Using the firmware loader for static data</a> (May 28, 2008)</p> <p class="IndexEntry"> <a href="/Articles/284932/">Moving the firmware out</a> (June 4, 2008)</p> <p class="IndexEntry"> <a href="/Articles/412750/">KS2010: Lightning talks</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/421680/">The trouble with firmware</a> (January 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/511105/">Firmware loading and suspend/resume</a> (August 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/518942/">Udev and firmware</a> (October 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/645823/">Firmware signing</a> (May 27, 2015)</p> <p class="IndexEntry"> <a href="/Articles/749888/">The Sound Open Firmware project launches</a> (March 21, 2018)</p> <p class="IndexPrimary"> <a name="Fistgen"><a href="#Fistgen">Fistgen</a></a></p> <p class="IndexEntry"> <a href="/Articles/96587/">Recent patches of interest</a> (August 4, 2004)</p> <p class="IndexPrimary"> <a name="Flexible_arrays"><a href="#Flexible_arrays">Flexible arrays</a></a></p> <p class="IndexEntry"> <a href="/Articles/345273/">Flexible arrays</a> (August 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/997094/">The trouble with struct sockaddr's fake flexible array</a> (November 7, 2024)</p> <p class="IndexPrimary"> <a name="flink"><a href="#flink">flink()</a></a></p> <p class="IndexEntry"> <a href="/Articles/562488/">flink() at last?</a> (August 7, 2013)</p> <p class="IndexEntry"> <a href="/Articles/565121/">flink() flunks</a> (August 28, 2013)</p> <p class="IndexPrimary"> <a name="Forced_unmount"><a href="#Forced_unmount">Forced unmount</a></a></p> <p class="IndexEntry"> <a href="/Articles/192632/">revoke() and frevoke()</a> (July 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/328490/">Hotplug file descriptors and revoke()</a> (April 14, 2009)</p> <p class="IndexPrimary"> <a name="Fork_bombs"><a href="#Fork_bombs">Fork bombs</a></a></p> <p class="IndexEntry"> <a href="/Articles/134513/">Defending against fork bombs</a> (May 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/435917/">Fighting fork bombs</a> (March 29, 2011)</p> <p class="IndexPrimary"> <a name="fsblock"><a href="#fsblock">fsblock</a></a></p> <p class="IndexEntry"> <a href="/Articles/250335/">Large pages, large blocks, and large problems</a> (September 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/322668/">A superficial introduction to fsblock</a> (March 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/591690/">Various page cache issues</a> (March 26, 2014)</p> <p class="IndexPrimary"> <a name="FS-Cache"><a href="#FS-Cache">FS-Cache</a></a></p> <p class="IndexEntry"> <a href="/Articles/251469/">Credential records</a> (September 25, 2007)</p> <p class="IndexEntry"> <a href="/Articles/312708/">Justifying FS-Cache</a> (December 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/982887/">Large folios, swap, and FS-Cache</a> (July 24, 2024)</p> <p class="IndexPrimary"> <a name="Ftrace"><a href="#Ftrace">Ftrace</a></a></p> <p class="IndexEntry"> <a href="/Articles/304105/">The source of the e1000e corruption bug</a> (October 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/321660/">Speeding up ftrace printing</a> (March 4, 2009)</p> <p class="IndexEntry"> <a href="/Articles/322666/">A look at ftrace</a> (March 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/330402/">On the value of static tracepoints</a> (April 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/332974/">Seccomp and sandboxing</a> (May 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/343766/">Dynamic probes with ftrace</a> (July 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/365835/">Debugging the kernel using Ftrace - part 1</a> (December 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366796/">Debugging the kernel using Ftrace - part 2</a> (December 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/370423/">Secrets of the Ftrace function tracer</a> (January 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410200/">trace-cmd: A front-end for Ftrace</a> (October 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/425583/">Using KernelShark to analyze the real-time scheduler</a> (February 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/442113/">Ftrace, perf, and the tracing ABI</a> (May 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/556186/">Triggers for tracing</a> (June 26, 2013)</p> <p class="IndexEntry"> <a href="/Articles/608497/">Ftrace: The hidden light switch</a> (August 13, 2014)</p> <p class="IndexEntry"> <a href="/Articles/635522/">Ftrace and histograms: a fork in the road</a> (March 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/794846/">KernelShark releases version 1.0</a> (July 31, 2019)</p> <p class="IndexEntry"> <a href="/Articles/831207/">Accurate timestamps for the ftrace ring buffer</a> (September 22, 2020)</p> <p class="IndexPrimary"> <a name="FUSYN"><a href="#FUSYN">FUSYN</a></a></p> <p class="IndexEntry"> <a href="/Articles/67194/">FUSYNs - robust user-space synchronization primitives</a> (January 21, 2004)</p> <p class="IndexPrimary"> <a name="Futex"><a href="#Futex">Futex</a></a></p> <p class="IndexEntry"> <a href="/Articles/124747/">FUTEX + rwsem = SNAFU</a> (February 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/172149/">Robust futexes - a new approach</a> (February 15, 2006)</p> <p class="IndexEntry"> <a href="/Articles/178253/">Priority inheritance in the kernel</a> (April 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/360699/">A futex overview and update</a> (November 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/387246/">Adaptive spinning futexes</a> (May 11, 2010)</p> <p class="IndexEntry"> <a href="/Articles/685769/">In pursuit of faster futexes</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/704843/">Adaptive mutexes in user space</a> (November 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/823513/">Rethinking the futex API</a> (June 18, 2020)</p> <p class="IndexEntry"> <a href="/Articles/866112/">Short subjects: Realtime, Futexes, and ntfs3</a> (August 16, 2021)</p> <p class="IndexEntry"> <a href="/Articles/940944/">A new futex API</a> (August 14, 2023)</p> <p class="IndexPrimary"> <a name="GCC"><a href="#GCC">GCC</a></a></p> <p class="IndexEntry"> <a href="/Articles/67175/">Shrinking the kernel with gcc</a> (January 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/163881/">The end of gcc 2.95 support</a> (December 13, 2005)</p> <p class="IndexEntry"> <a href="/Articles/272048/">GCC 4.3.0 exposes a kernel bug</a> (March 7, 2008)</p> <p class="IndexEntry"> <a href="/Articles/461696/">Better kernels with GCC plugins</a> (October 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/478657/">Betrayed by a bitfield</a> (February 1, 2012)</p> <p class="IndexEntry"> <a href="/Articles/511259/">Signed overflow optimization hazards in the kernel</a> (August 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/534735/">Rethinking optimization for size</a> (January 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/851090/">The future of GCC plugins in the kernel</a> (April 1, 2021)</p> <p class="IndexEntry"> <a href="/Articles/885941/">Moving the kernel to modern C</a> (February 24, 2022)</p> <p class="IndexPrimary"> <a name="General-purpose_IO"><a href="#General-purpose_IO">General-purpose I/O</a></a></p> <p class="IndexEntry"> <a href="/Articles/532714/">GPIO in the kernel: an introduction</a> (January 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/533632/">GPIO in the kernel: future directions</a> (January 23, 2013)</p> <p class="IndexPrimary"> <a name="get_user_inatomic"><a href="#get_user_inatomic">get_user_inatomic()</a></a></p> <p class="IndexEntry"> <a href="/Articles/124747/">FUTEX + rwsem = SNAFU</a> (February 23, 2005)</p> <p class="IndexPrimary"> <a name="get_vaddr_frames"><a href="#get_vaddr_frames">get_vaddr_frames()</a></a></p> <p class="IndexEntry"> <a href="/Articles/657325/">4.3 Merge window, part 3</a> (September 14, 2015)</p> <p class="IndexPrimary"> <a name="gfp_t"><a href="#gfp_t">gfp_t</a></a></p> <p class="IndexEntry"> <a href="/Articles/155344/">Introducing gfp_t</a> (October 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/594725/">Avoiding memory-allocation deadlocks</a> (April 16, 2014)</p> <p class="IndexEntry"> <a href="/Articles/596618/">Understanding __GFP_FS</a> (April 30, 2014)</p> <p class="IndexPrimary"> <a name="GFS"><a href="#GFS">GFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/94559/">Kernel Summit: Clustered storage</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/147043/">Time to merge GFS?</a> (August 10, 2005)</p> <p class="IndexEntry"> <a href="/Articles/150652/">Merging GFS2</a> (September 7, 2005)</p> <p class="IndexPrimary"> <a name="Git"><a href="#Git">Git</a></a></p> <p class="IndexEntry"> <a href="/Articles/131657/">The guts of git</a> (April 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/132796/">A very quick guide to starting with git</a> (April 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/145194/">Git approaches 1.0</a> (July 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/277872/">Bisection divides users and developers</a> (April 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/318699/">How patches get into the mainline</a> (February 10, 2009)</p> <p class="IndexEntry"> <a href="/Articles/328436/">Rebasing and merging: some git best practices</a> (April 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/374574/">How old is our kernel?</a> (February 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/392293/">Finding a patch's kernel version with git</a> (June 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/466468/">Authenticating Git pull requests</a> (November 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/791284/">Rebasing and merging in kernel repositories</a> (June 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/889760/">Handling messy pull-request diffstats</a> (April 22, 2022)</p> <p class="IndexPrimary"> <a name="GmailFS"><a href="#GmailFS">GmailFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/99933/">GmailFS - using Gmail as a filesystem</a> (August 30, 2004)</p> <p class="IndexPrimary"> <a name="Goldman_Sachs"><a href="#Goldman_Sachs">Goldman Sachs</a></a></p> <p class="IndexEntry"> <a href="/Articles/94384/">Kernel Summit: The customer panel</a> (July 21, 2004)</p> <p class="IndexPrimary"> <a name="Google"><a href="#Google">Google</a></a></p> <p class="IndexEntry"> <a href="/Articles/357658/">KS2009: How Google uses Linux</a> (October 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/871195/">Moving Google toward the mainline</a> (October 5, 2021)</p> <p class="IndexPrimary"> <a name="GPIO"><a href="#GPIO">GPIO</a></a></p> <p class="IndexEntry"> <a href="/Articles/532714/">GPIO in the kernel: an introduction</a> (January 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/533632/">GPIO in the kernel: future directions</a> (January 23, 2013)</p> <p class="IndexPrimary"> <a name="Grand_Unified_Flow_Cache"><a href="#Grand_Unified_Flow_Cache">Grand Unified Flow Cache</a></a></p> <p class="IndexEntry"> <a href="/Articles/194443/">The Grand Unified Flow Cache</a> (August 7, 2006)</p> <p class="IndexPrimary"> <a name="Graphics_Execution_Manager_GEM"><a href="#Graphics_Execution_Manager_GEM">Graphics Execution Manager (GEM)</a></a></p> <p class="IndexEntry"> <a href="/Articles/283793/">GEM v. TTM</a> (May 28, 2008)</p> <p class="IndexPrimary"> <a name="Greybus"><a href="#Greybus">Greybus</a></a></p> <p class="IndexEntry"> <a href="/Articles/648400/">Greybus</a> (June 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/715955/">Greybus</a> (March 1, 2017)</p> <p class="IndexPrimary"> <a name="Group_scheduling"><a href="#Group_scheduling">Group scheduling</a></a></p> <p class="IndexEntry"> <a href="/Articles/240474/">CFS group scheduling</a> (July 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/415740/">TTY-based group scheduling</a> (November 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/418884/">Group scheduling and alternatives</a> (December 6, 2010)</p> <p class="IndexEntry"> <a href="/Articles/428230/">CFS bandwidth control</a> (February 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/433904/">A group scheduling demonstration</a> (March 16, 2011)</p> <p class="IndexPrimary"> <a name="grsecurity"><a href="#grsecurity">grsecurity</a></a></p> <p class="IndexEntry"> <a href="/Articles/313621/">The future for grsecurity</a> (January 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/666550/">Post-init read-only memory</a> (December 2, 2015)</p> <p class="IndexPrimary"> <a name="Hardware_abstraction_layers"><a href="#Hardware_abstraction_layers">Hardware abstraction layers</a></a></p> <p class="IndexEntry"> <a href="/Articles/127669/">HALs considered harmful</a> (March 15, 2005)</p> <p class="IndexPrimary"> <a name="Hashing_functions"><a href="#Hashing_functions">Hashing functions</a></a></p> <p class="IndexEntry"> <a href="/Articles/687494/">Generic hashing functions and the platform problem</a> (May 18, 2016)</p> <p class="IndexEntry"> <a href="/Articles/711167/">SipHash in the kernel</a> (January 10, 2017)</p> <p class="IndexPrimary"> <a name="Hash_table"><a href="#Hash_table">Hash table</a></a></p> <p class="IndexEntry"> <a href="/Articles/510202/">A generic hash table</a> (August 8, 2012)</p> <p class="IndexEntry"> <a href="/Articles/612021/">Relativistic hash tables, part 1: Algorithms</a> (September 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/612100/">Relativistic hash tables, part 2: Implementation</a> (September 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/751374/">The rhashtable documentation I wanted to read</a> (April 13, 2018)</p> <p class="IndexEntry"> <a href="/Articles/751974/">Rhashtables: under the hood</a> (April 21, 2018)</p> <p class="IndexPrimary"> <a name="Head_Bubba"><a href="#Head_Bubba">Head Bubba</a></a></p> <p class="IndexEntry"> <a href="/Articles/248878/">KS2007: The customer panel</a> (September 8, 2007)</p> <p class="IndexPrimary"> <a name="HostAP"><a href="#HostAP">HostAP</a></a></p> <p class="IndexEntry"> <a href="/Articles/88666/">Toward a generic wireless access point stack</a> (June 9, 2004)</p> <p class="IndexPrimary"> <a name="Hotplug"><a href="#Hotplug">Hotplug</a></a></p> <p class="IndexEntry"> <a href="/Articles/88807/">Safe PCI hot removal</a> (June 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/103203/">Configuration of pluggable network adaptors</a> (September 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/537562/">Rationalizing CPU hotplugging</a> (February 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/569686/">Optimizing CPU hotplug locking</a> (October 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/570386/">Revisiting CPU hotplug locking</a> (October 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/598460/">Braking CPU hotplug</a> (May 14, 2014)</p> <p class="IndexEntry"> <a href="/Articles/767885/">The modernization of PCIe hotplug in Linux</a> (October 8, 2018)</p> <p class="IndexSecondary"> <a name="Hotplug-Memory"></a><a href="#Hotplug-Memory">Memory</a></p> <p class="IndexEntry"> <a href="/Articles/158211/">Fragmentation avoidance</a> (November 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/159110/">More on fragmentation avoidance</a> (November 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160201/">VM followup: page migration and fragmentation avoidance</a> (November 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/224829/">Short topics in memory management</a> (March 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/553199/">Plans for hot adding and removing memory</a> (June 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/753261/">Hotplugging and poisoning</a> (May 3, 2018)</p> <p class="IndexPrimary"> <a name="hrtimer"><a href="#hrtimer">hrtimer</a></a></p> <p class="IndexEntry"> <a href="/Articles/167897/">The high-resolution timer API</a> (January 16, 2006)</p> <p class="IndexEntry"> <a href="/Articles/223185/">Clockevents and dyntick</a> (February 21, 2007)</p> <p class="IndexEntry"> <a href="/Articles/296578/">High- (but not too high-) resolution timeouts</a> (September 2, 2008)</p> <p class="IndexEntry"> <a href="/Articles/461592/">Greedy hrtimer expiration</a> (October 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/482168/">Short sleeps suffering from slack</a> (February 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/504744/">Leaping seconds and looping servers</a> (July 2, 2012)</p> <p class="IndexPrimary"> <a name="Huge_pages"><a href="#Huge_pages">Huge pages</a></a></p> <p class="IndexEntry"> <a href="/Articles/158211/">Fragmentation avoidance</a> (November 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/227818/">Application-friendly kernel interfaces</a> (March 26, 2007)</p> <p class="IndexEntry"> <a href="/Articles/250335/">Large pages, large blocks, and large problems</a> (September 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/359158/">Transparent hugepages</a> (October 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/374424/">Huge pages part 1 (Introduction)</a> (February 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/375096/">Huge pages part 2: Interfaces</a> (February 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/376606/">Huge pages part 3: Administration</a> (March 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/378641/">Huge pages part 4: benchmarking with huge pages</a> (March 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/379748/">Huge pages part 5: A deeper look at TLBs and costs</a> (March 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/382299/">Memory management for virtualization</a> (April 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/423584/">Transparent huge pages in 2.6.38</a> (January 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/467328/">Huge pages, slow drives, and long delays</a> (November 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/517465/">Adding a huge zero page</a> (September 26, 2012)</p> <p class="IndexEntry"> <a href="/Articles/533499/">Supporting variable-sized huge pages</a> (January 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/562211/">A survey of memory management patches</a> (August 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/592011/">Huge page issues</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/619738/">Transparent huge page reference counting</a> (November 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636162/">Improving huge page handling</a> (March 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684300/">Two transparent huge page cache implementations</a> (April 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686690/">Transparent huge pages in the page cache</a> (May 11, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718102/">Huge pages in the ext4 filesystem</a> (March 28, 2017)</p> <p class="IndexEntry"> <a href="/Articles/789159/">Transparent huge pages for filesystems</a> (May 22, 2019)</p> <p class="IndexEntry"> <a href="/Articles/887753/">Triggering huge-page collapse from user space</a> (March 14, 2022)</p> <p class="IndexEntry"> <a href="/Articles/895217/">Sharing page tables with mshare()</a> (May 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/906511/">The transparent huge page shrinker</a> (September 8, 2022)</p> <p class="IndexEntry"> <a href="/Articles/974491/">Toward the unification of hugetlbfs</a> (May 22, 2024)</p> <p class="IndexPrimary"> <a name="hugetlbfs"><a href="#hugetlbfs">hugetlbfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/374424/">Huge pages part 1 (Introduction)</a> (February 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/895540/">Fixing a race in hugetlbfs</a> (May 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/974491/">Toward the unification of hugetlbfs</a> (May 22, 2024)</p> <p class="IndexPrimary"> <a name="HWPOISON"><a href="#HWPOISON">HWPOISON</a></a></p> <p class="IndexEntry"> <a href="/Articles/348886/">HWPOISON</a> (August 26, 2009)</p> <p class="IndexEntry"> <a href="/Articles/753261/">Hotplugging and poisoning</a> (May 3, 2018)</p> <p class="IndexEntry"> <a href="/Articles/893565/">How to cope with hardware-poisoned page-cache pages</a> (May 5, 2022)</p> <p class="IndexPrimary"> <a name="Hyperthreading"><a href="#Hyperthreading">Hyperthreading</a></a></p> <p class="IndexEntry"> <a href="/Articles/136273/">Is hyperthreading dangerous?</a> (May 17, 2005)</p> <p class="IndexPrimary"> <a name="HZ"><a href="#HZ">HZ</a></a></p> <p class="IndexEntry"> <a href="/Articles/115554/">Boot-time clock frequency selection</a> (December 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/145973/">How fast should HZ be?</a> (August 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/420544/">NoHZ tasks</a> (December 20, 2010)</p> <p class="IndexPrimary"> <a name="ia32e"><a href="#ia32e">ia32e</a></a></p> <p class="IndexEntry"> <a href="/Articles/72905/">Intel's new 64-bit architecture and Linux</a> (February 25, 2004)</p> <p class="IndexPrimary"> <a name="IDA"><a href="#IDA">IDA</a></a></p> <p class="IndexEntry"> <a href="/Articles/764057/">IDA: simplifying the complex task of allocating integers</a> (September 4, 2018)</p> <p class="IndexPrimary"> <a name="idr"><a href="#idr">idr</a></a></p> <p class="IndexEntry"> <a href="/Articles/103209/">idr - integer ID management</a> (September 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/536293/">A simplified IDR API</a> (February 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/554910/">Tags and IDs</a> (June 19, 2013)</p> <p class="IndexPrimary"> <a name="in_atomic"><a href="#in_atomic">in_atomic()</a></a></p> <p class="IndexEntry"> <a href="/Articles/274695/">Atomic context and kernel API design</a> (March 25, 2008)</p> <p class="IndexPrimary"> <a name="Include_files"><a href="#Include_files">Include files</a></a></p> <p class="IndexEntry"> <a href="/Articles/113349/">Kernel headers and user space</a> (November 30, 2004)</p> <p class="IndexEntry"> <a href="/Articles/507794/">The UAPI header file split</a> (July 25, 2012)</p> <p class="IndexEntry"> <a href="/Articles/713890/">Unscheduled maintenance for sched.h</a> (February 8, 2017)</p> <p class="IndexPrimary"> <a name="indirect"><a href="#indirect">indirect()</a></a></p> <p class="IndexEntry"> <a href="/Articles/259068/">sys_indirect()</a> (November 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/260172/">System call updates: indirect(), timerfd(), and hijack()</a> (November 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/281965/">Extending system calls</a> (May 14, 2008)</p> <p class="IndexPrimary"> <a name="Industrial_IO_devices"><a href="#Industrial_IO_devices">Industrial I/O devices</a></a></p> <p class="IndexEntry"> <a href="/Articles/390634/">Ambient light sensors</a> (June 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/465358/">(Partially) graduating IIO</a> (November 2, 2011)</p> <p class="IndexPrimary"> <a name="InfiniBand"><a href="#InfiniBand">InfiniBand</a></a></p> <p class="IndexEntry"> <a href="/Articles/106419/">InfiniBand: a proprietary standard?</a> (October 13, 2004)</p> <p class="IndexEntry"> <a href="/Articles/112531/">InfiniBand arrives</a> (November 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/421601/">A Linux kernel compatibility layer for FreeBSD?</a> (January 5, 2011)</p> <p class="IndexPrimary"> <a name="initramfs"><a href="#initramfs">initramfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/14776/">Initramfs arrives</a> (November 6, 2002)</p> <p class="IndexEntry"> <a href="/Articles/191004/">initramfs and where user space truly begins</a> (July 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/317793/">Dracut looks to replace the initramfs patchwork</a> (February 4, 2009)</p> <p class="IndexPrimary"> <a name="Inline_functions"><a href="#Inline_functions">Inline functions</a></a></p> <p class="IndexEntry"> <a href="/Articles/82495/">The cost of inline functions</a> (April 28, 2004)</p> <p class="IndexEntry"> <a href="/Articles/166172/">Drawing the line on inline</a> (January 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/314848/">Who is the best inliner of all?</a> (January 14, 2009)</p> <p class="IndexPrimary"> <a name="Inotify"><a href="#Inotify">Inotify</a></a></p> <p class="IndexEntry"> <a href="/Articles/96587/">Recent patches of interest</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/104343/">Watching filesystem events with inotify</a> (September 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/604686/">Filesystem notification, part 1: An overview of dnotify and inotify</a> (July 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/605128/">Filesystem notification, part 2: A deeper investigation of inotify</a> (July 14, 2014)</p> <p class="IndexEntry"> <a href="/Articles/896055/">Change notifications for network filesystems</a> (May 25, 2022)</p> <p class="IndexPrimary"> <a name="Integrity_measurement_architecture"><a href="#Integrity_measurement_architecture">Integrity measurement architecture</a></a></p> <p class="IndexEntry"> <a href="/Articles/137306/">The Integrity Measurement Architecture</a> (May 24, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144681/">OLS: Linux and trusted computing</a> (July 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160157/">Some trusted computing security modules</a> (November 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/227937/">Integrity management in the kernel</a> (March 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/394170/">The return of EVM</a> (June 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410895/">IMA memory hog</a> (October 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/488906/">IMA appraisal extension</a> (March 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/753276/">A kernel integrity subsystem update</a> (May 2, 2018)</p> <p class="IndexPrimary"> <a name="Interactivity"><a href="#Interactivity">Interactivity</a></a></p> <p class="IndexEntry"> <a href="/Articles/87729/">The staircase scheduler</a> (June 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/176635/">Solving starvation problems in the scheduler</a> (March 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/224865/">The Rotating Staircase Deadline Scheduler</a> (March 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/226054/">RSDL hits a snag</a> (March 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/230574/">Schedulers: the plot thickens</a> (April 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/231672/">This week in the scheduling discussion</a> (April 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/415740/">TTY-based group scheduling</a> (November 17, 2010)</p> <p class="IndexPrimary"> <a name="InterMezzo"><a href="#InterMezzo">InterMezzo</a></a></p> <p class="IndexEntry"> <a href="/Articles/85878/">Goodbye to old code</a> (May 19, 2004)</p> <p class="IndexPrimary"> <a name="Internet_protocol"><a href="#Internet_protocol">Internet protocol</a></a></p> <p class="IndexEntry"> <a href="/Articles/89597/">On the alignment of IP packets</a> (June 15, 2004)</p> <p class="IndexPrimary"> <a name="Interrupts"><a href="#Interrupts">Interrupts</a></a></p> <p class="IndexEntry"> <a href="/Articles/95334/">Voluntary preemption and hardware interrupts</a> (July 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/106010/">Approaches to realtime Linux</a> (October 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/127698/">Handling interrupts in user space</a> (March 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/138969/">The dynamic tick patch</a> (June 7, 2005)</p> <p class="IndexEntry"> <a href="/Articles/139784/">Realtime and interrupt latency</a> (June 14, 2005)</p> <p class="IndexEntry"> <a href="/Articles/139884/">NAPI performance - a weighty matter</a> (June 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/184750/">A new generic IRQ layer</a> (May 23, 2006)</p> <p class="IndexEntry"> <a href="/Articles/202449/">API changes: interrupt handlers and vectored I/O</a> (October 2, 2006)</p> <p class="IndexEntry"> <a href="/Articles/255529/">Various topics, all related to interrupts</a> (October 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/298840/">KS2008: All about threads</a> (September 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/302043/">Moving interrupts to threads</a> (October 8, 2008)</p> <p class="IndexEntry"> <a href="/Articles/321663/">Interrupts, threads, and lockdep</a> (March 3, 2009)</p> <p class="IndexEntry"> <a href="/Articles/364583/">Eliminating rwlocks and IRQF_DISABLED</a> (December 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/380931/">Disabling IRQF_DISABLED</a> (March 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/392136/">Improving lost and spurious IRQ handling</a> (June 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/470820/">Irked by NO_IRQ</a> (December 7, 2011)</p> <p class="IndexSecondary"> <a name="Interrupts-Software"></a><a href="#Interrupts-Software">Software</a></p> <p class="IndexEntry"> <a href="/Articles/520076/">Software interrupts and realtime</a> (October 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/520704/">The 2012 realtime minisummit</a> (October 24, 2012)</p> <p class="IndexEntry"> <a href="/Articles/687617/">Threadable NAPI polling, softirqs, and proper fixes</a> (May 18, 2016)</p> <p class="IndexEntry"> <a href="/Articles/779738/">Per-vector software-interrupt masking</a> (February 15, 2019)</p> <p class="IndexEntry"> <a href="/Articles/915320/">Juggling software interrupts and realtime tasks</a> (December 2, 2022)</p> <p class="IndexEntry"> <a href="/Articles/925540/">Heuristics for software-interrupt processing</a> (March 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/939973/">Beginning the software-interrupt lock pushdown</a> (August 4, 2023)</p> <p class="IndexEntry"> <a href="/Articles/978189/">Nested bottom-half locking for realtime kernels</a> (June 17, 2024)</p> <p class="IndexPrimary"> <a name="IO_AT"><a href="#IO_AT">I/O AT</a></a></p> <p class="IndexEntry"> <a href="/Articles/162966/">Memory copies in hardware</a> (December 7, 2005)</p> <p class="IndexPrimary"> <a name="ioctl"><a href="#ioctl">ioctl()</a></a></p> <p class="IndexEntry"> <a href="/Articles/86859/">The Big Kernel Lock lives on</a> (May 26, 2004)</p> <p class="IndexEntry"> <a href="/Articles/115651/">ioctl(), the big kernel lock, and 32-bit compatibility</a> (December 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/119652/">The new way of ioctl()</a> (January 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/191653/">Kernel Summit 2006: The ioctl() interface</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/428140/">Security modules and ioctl()</a> (February 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/575846/">Fixing FS_IOC_GETFLAGS</a> (December 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/767398/">XFS, LSM, and low-level management APIs</a> (October 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/844875/">ioctl() for io_uring</a> (February 4, 2021)</p> <p class="IndexEntry"> <a href="/Articles/897202/">ioctl() forever?</a> (June 8, 2022)</p> <p class="IndexPrimary"> <a name="__iomem"><a href="#__iomem">__iomem</a></a></p> <p class="IndexEntry"> <a href="/Articles/102232/">A new I/O memory access mechanism</a> (September 15, 2004)</p> <p class="IndexPrimary"> <a name="IO_memory"><a href="#IO_memory">I/O memory</a></a></p> <p class="IndexEntry"> <a href="/Articles/102232/">A new I/O memory access mechanism</a> (September 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/103183/">I/O space write barriers</a> (September 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/132804/">Big-endian I/O memory</a> (April 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/187490/">64-bit resources</a> (June 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/215996/">Device resource management</a> (January 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/305919/">Large I/O memory in small address spaces</a> (November 4, 2008)</p> <p class="IndexEntry"> <a href="/Articles/308426/">Driver API: sleeping poll(), exclusive I/O memory, and DMA API debugging</a> (November 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/894626/">CXL 2: Pooling, sharing, and I/O-memory resources</a> (May 19, 2022)</p> <p class="IndexPrimary"> <a name="IOMMU"><a href="#IOMMU">IOMMU</a></a></p> <p class="IndexEntry"> <a href="/Articles/191931/">Kernel Summit 2006: DMA and IOMMU issues</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/608914/">Error handling for I/O memory management units</a> (August 20, 2014)</p> <p class="IndexPrimary"> <a name="ION"><a href="#ION">ION</a></a></p> <p class="IndexEntry"> <a href="/Articles/480055/">The Android ION memory allocator</a> (February 8, 2012)</p> <p class="IndexEntry"> <a href="/Articles/565469/">Integrating the ION memory allocator</a> (September 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/792733/">Destaging ION</a> (July 9, 2019)</p> <p class="IndexEntry"> <a href="/Articles/822052/">DMA-BUF cache handling: Off the DMA API map (part 1)</a> (June 4, 2020)</p> <p class="IndexPrimary"> <a name="ioremap"><a href="#ioremap">ioremap()</a></a></p> <p class="IndexEntry"> <a href="/Articles/409689/">ARM's multiply-mapped memory mess</a> (October 12, 2010)</p> <p class="IndexEntry"> <a href="/Articles/653585/">ioremap() and memremap()</a> (August 5, 2015)</p> <p class="IndexPrimary"> <a name="io_remap_page_range"><a href="#io_remap_page_range">io_remap_page_range()</a></a></p> <p class="IndexEntry"> <a href="/Articles/99120/">API changes under consideration</a> (August 24, 2004)</p> <p class="IndexPrimary"> <a name="io_remap_pfn_range"><a href="#io_remap_pfn_range">io_remap_pfn_range()</a></a></p> <p class="IndexEntry"> <a href="/Articles/129480/">io_remap_pfn_range()</a> (March 29, 2005)</p> <p class="IndexPrimary"> <a name="IO_scheduler"><a href="#IO_scheduler">I/O scheduler</a></a></p> <p class="IndexEntry"> <a href="/Articles/102976/">Modular, switchable I/O schedulers</a> (September 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107314/">Coming in 2.6.10</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/110277/">Into the ABISS</a> (November 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/114770/">Which is the fairest I/O scheduler of them all?</a> (December 8, 2004)</p> <p class="IndexEntry"> <a href="/Articles/309400/">Variations on fair I/O schedulers</a> (December 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/360958/">The block I/O controller</a> (November 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/474268/">An IOPS-based I/O scheduler</a> (January 4, 2012)</p> <p class="IndexEntry"> <a href="/Articles/601799/">The BFQ I/O scheduler</a> (June 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/720675/">Two new block I/O schedulers for 4.12</a> (April 24, 2017)</p> <p class="IndexPrimary"> <a name="io_uring"><a href="#io_uring">io_uring</a></a></p> <p class="IndexEntry"> <a href="/Articles/776703/">Ringing in a new asynchronous I/O API</a> (January 15, 2019)</p> <p class="IndexEntry"> <a href="/Articles/779472/">io_uring, SCM_RIGHTS, and reference-count cycles</a> (February 13, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803070/">Redesigned workqueues for io_uring</a> (October 25, 2019)</p> <p class="IndexEntry"> <a href="/Articles/810414/">The rapid growth of io_uring</a> (January 24, 2020)</p> <p class="IndexEntry"> <a href="/Articles/813827/">Two new ways to read a file quickly</a> (March 6, 2020)</p> <p class="IndexEntry"> <a href="/Articles/815491/">Automatic buffer selection for io_uring</a> (March 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/826053/">Operations restrictions for io_uring</a> (July 15, 2020)</p> <p class="IndexEntry"> <a href="/Articles/843163/">Avoiding blocking file-name lookups</a> (January 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/844875/">ioctl() for io_uring</a> (February 4, 2021)</p> <p class="IndexEntry"> <a href="/Articles/847951/">BPF meets io_uring</a> (March 4, 2021)</p> <p class="IndexEntry"> <a href="/Articles/851076/">GDB and io_uring</a> (March 31, 2021)</p> <p class="IndexEntry"> <a href="/Articles/858023/">Auditing io_uring</a> (June 3, 2021)</p> <p class="IndexEntry"> <a href="/Articles/863071/">Descriptorless files for io_uring</a> (July 19, 2021)</p> <p class="IndexEntry"> <a href="/Articles/876288/">In search of an appropriate RLIMIT_MEMLOCK default</a> (November 19, 2021)</p> <p class="IndexEntry"> <a href="/Articles/879724/">Zero-copy network transmission with io_uring</a> (December 30, 2021)</p> <p class="IndexEntry"> <a href="/Articles/902466/">Security requirements for new kernel features</a> (July 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/903855/">An io_uring-based user-space block driver</a> (August 8, 2022)</p> <p class="IndexEntry"> <a href="/Articles/906097/">Crash recovery for user-space block drivers</a> (August 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/908268/">Introducing io_uring_spawn</a> (September 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/923237/">Rethinking splice()</a> (February 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/932079/">FUSE and io_uring</a> (May 19, 2023)</p> <p class="IndexEntry"> <a href="/Articles/943239/">Security topics: io_uring, VM attestation, and random-reseed notifications</a> (September 4, 2023)</p> <p class="IndexEntry"> <a href="/Articles/989272/">The trouble with iowait</a> (September 10, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1002371/">Process creation in io_uring</a> (December 20, 2024)</p> <p class="IndexPrimary"> <a name="iov_iter"><a href="#iov_iter">iov_iter</a></a></p> <p class="IndexEntry"> <a href="/Articles/625077/">The iov_iter interface</a> (December 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636730/">Virtual filesystem layer changes, past and future</a> (March 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/722267/">A farewell to set_fs()?</a> (May 10, 2017)</p> <p class="IndexPrimary"> <a name="ipchains"><a href="#ipchains">ipchains</a></a></p> <p class="IndexEntry"> <a href="/Articles/103160/">Goodbye, old code</a> (September 22, 2004)</p> <p class="IndexPrimary"> <a name="IPv6"><a href="#IPv6">IPv6</a></a></p> <p class="IndexEntry"> <a href="/Articles/94565/">Kernel Summit: Network summit summary</a> (July 21, 2004)</p> <p class="IndexPrimary"> <a name="irqd"><a href="#irqd">irqd</a></a></p> <p class="IndexEntry"> <a href="/Articles/95334/">Voluntary preemption and hardware interrupts</a> (July 27, 2004)</p> <p class="IndexPrimary"> <a name="iSCSI"><a href="#iSCSI">iSCSI</a></a></p> <p class="IndexEntry"> <a href="/Articles/129703/">Network block devices and OOM safety</a> (March 30, 2005)</p> <p class="IndexPrimary"> <a name="Jailhouse"><a href="#Jailhouse">Jailhouse</a></a></p> <p class="IndexEntry"> <a href="/Articles/578295/">Understanding the Jailhouse hypervisor, part 1</a> (January 1, 2014)</p> <p class="IndexEntry"> <a href="/Articles/578852/">Understanding the Jailhouse hypervisor, part 2</a> (January 7, 2014)</p> <p class="IndexPrimary"> <a name="JFS"><a href="#JFS">JFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/71472/">The kernel and character set encodings</a> (February 18, 2004)</p> <p class="IndexPrimary"> <a name="Jump_label"><a href="#Jump_label">Jump label</a></a></p> <p class="IndexEntry"> <a href="/Articles/365833/">Minimizing instrumentation impacts</a> (December 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/412072/">Jump label</a> (October 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/436041/">Jump label reworked</a> (March 30, 2011)</p> <p class="IndexEntry"> <a href="/Articles/484527/">very_unlikely() very unliked</a> (February 29, 2012)</p> <p class="IndexPrimary"> <a name="KASan"><a href="#KASan">KASan</a></a></p> <p class="IndexEntry"> <a href="/Articles/612153/">The kernel address sanitizer</a> (September 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636549/">Memory-management testing and debugging</a> (March 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/766768/">Software-tag-based KASAN</a> (September 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/909245/">Finding bugs with sanitizers</a> (September 27, 2022)</p> <p class="IndexPrimary"> <a name="kdb"><a href="#kdb">kdb</a></a></p> <p class="IndexEntry"> <a href="/Articles/374633/">Merging kdb and kgdb</a> (February 17, 2010)</p> <p class="IndexPrimary"> <a name="kdbus"><a href="#kdbus">kdbus</a></a></p> <p class="IndexEntry"> <a href="/Articles/551969/">ALS: Linux interprocess communication and kdbus</a> (May 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/570406/">The LPC Android microconference</a> (October 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/580194/">The unveiling of kdbus</a> (January 13, 2014)</p> <p class="IndexEntry"> <a href="/Articles/619068/">Kdbus meets linux-kernel</a> (November 4, 2014)</p> <p class="IndexEntry"> <a href="/Articles/624045/">Version 2 of the kdbus patch set</a> (December 3, 2014)</p> <p class="IndexEntry"> <a href="/Articles/640357/">Obstacles for kdbus</a> (April 15, 2015)</p> <p class="IndexEntry"> <a href="/Articles/641275/">The kdbuswreck</a> (April 22, 2015)</p> <p class="IndexEntry"> <a href="/Articles/649111/">Trying to head off kdbus</a> (June 24, 2015)</p> <p class="IndexEntry"> <a href="/Articles/656324/">The LPC Android microconference, part 1</a> (September 8, 2015)</p> <p class="IndexEntry"> <a href="/Articles/663956/">A mismatch of development styles</a> (November 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/697191/">Bus1: a new Linux interprocess communication proposal</a> (August 17, 2016)</p> <p class="IndexPrimary"> <a name="Kernel"><a href="#Kernel">Kernel</a></a></p> <p class="IndexSecondary"> <a name="Kernel-Scheduler"></a><a href="#Kernel-Scheduler">Scheduler</a></p> <p class="IndexEntry"> <a href="/Articles/953438/">What remains to be done for proxy execution</a> (December 4, 2023)</p> <p class="IndexPrimary"> <a name="Kernel_Hackers_Bookshelf"><a href="#Kernel_Hackers_Bookshelf">Kernel Hacker's Bookshelf</a></a></p> <p class="IndexEntry"> <a href="/Articles/196292/">KHB: A Filesystems reading list</a> (August 21, 2006)</p> <p class="IndexEntry"> <a href="/Articles/270081/">KHB: Synthesis: An Efficient Implementation of Fundamental Operating Systems Services</a> (February 20, 2008)</p> <p class="IndexEntry"> <a href="/Articles/286233/">The Kernel Hacker's Bookshelf: Ultimate Physical Limits of Computation</a> (June 18, 2008)</p> <p class="IndexEntry"> <a href="/Articles/296738/">The Kernel Hacker's Bookshelf: UNIX Internals</a> (September 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/385081/">Kernel Hacker's Bookshelf: Generating Realistic Impressions for File-System Benchmarking</a> (April 28, 2010)</p> <p class="IndexPrimary"> <a name="Kernel_markers"><a href="#Kernel_markers">Kernel markers</a></a></p> <p class="IndexEntry"> <a href="/Articles/245671/">Kernel markers</a> (August 15, 2007)</p> <p class="IndexEntry"> <a href="/Articles/274755/">Kernel markers and binary-only modules</a> (March 24, 2008)</p> <p class="IndexPrimary"> <a name="Kernel_messages"><a href="#Kernel_messages">Kernel messages</a></a></p> <p class="IndexEntry"> <a href="/Articles/449460/">Sanitizing log file output</a> (June 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/451365/">The structured logging challenge</a> (July 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/464276/">KS2011: Structured error logging</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/492125/">Toward more reliable logging</a> (April 13, 2012)</p> <p class="IndexEntry"> <a href="/Articles/497218/">Various tweaks to printk()</a> (May 16, 2012)</p> <p class="IndexEntry"> <a href="/Articles/503430/">printk() problems</a> (June 26, 2012)</p> <p class="IndexEntry"> <a href="/Articles/705938/">The perils of printk()</a> (November 9, 2016)</p> <p class="IndexEntry"> <a href="/Articles/732420/">printk() and KERN_CONT</a> (August 30, 2017)</p> <p class="IndexEntry"> <a href="/Articles/737822/">Improving printk()</a> (November 1, 2017)</p> <p class="IndexEntry"> <a href="/Articles/780556/">Reimplementing printk()</a> (February 26, 2019)</p> <p class="IndexEntry"> <a href="/Articles/800946/">Why printk() is so complicated (and how to fix it)</a> (October 3, 2019)</p> <p class="IndexEntry"> <a href="/Articles/892611/">Printbuf rebuffed for now</a> (April 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/909980/">A discussion on printk()</a> (October 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/951337/">The real realtime preemption end game</a> (November 16, 2023)</p> <p class="IndexPrimary"> <a name="Kernel.org"><a href="#Kernel.org">Kernel.org</a></a></p> <p class="IndexEntry"> <a href="/Articles/341826/">A kernel.org update</a> (July 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/458809/">Kernel development without kernel.org</a> (September 13, 2011)</p> <p class="IndexEntry"> <a href="/Articles/461552/">Kernel.org's road to recovery</a> (October 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/572127/">A kernel.org update</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/609463/">Kernel.org news: two-factor authentication and more</a> (August 25, 2014)</p> <p class="IndexPrimary"> <a name="Kernel_stack"><a href="#Kernel_stack">Kernel stack</a></a></p> <p class="IndexEntry"> <a href="/Articles/84583/">4K Stacks in 2.6</a> (May 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/85631/">4K stacks: some issues remain</a> (May 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/150580/">4K stacks for everyone?</a> (September 7, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160138/">4K stacks - again</a> (November 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/279229/">4K stacks by default?</a> (April 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/600644/">Expanding the kernel stack</a> (May 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/692208/">Virtually mapped kernel stacks</a> (June 22, 2016)</p> <p class="IndexEntry"> <a href="/Articles/692953/">Virtually mapped stacks 2: thread_info strikes back</a> (June 29, 2016)</p> <p class="IndexEntry"> <a href="/Articles/974367/">Dynamically sizing the kernel stack</a> (May 21, 2024)</p> <p class="IndexPrimary"> <a name="Kernel_Summit"><a href="#Kernel_Summit">Kernel Summit</a></a></p> <p class="IndexEntry"> <a href="/Articles/3327/">The Ottawa Kernel Summit, Day One</a> (June 24, 2002)</p> <p class="IndexEntry"> <a href="/Articles/3467/">The Ottawa Kernel Summit, Day Two</a> (June 25, 2002)</p> <p class="IndexEntry"> <a href="/Articles/40611/">The 2003 Kernel Developers Summit</a> (July 22, 2003)</p> <p class="IndexEntry"> <a href="/Articles/94590/">The 2004 Kernel Summit</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/144096/">The 2005 Linux Kernel Developers' Summit</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/191649/">The 2006 Linux Kernel Summit</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/246565/">Kernel Summit 2007 - an advance view</a> (August 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248268/">The 2007 Kernel Summit</a> (September 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/298587/">The 2008 Linux Kernel Summit</a> (September 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/357464/">The 2009 Linux Kernel Summit</a> (October 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/412638/">The 2010 Kernel Summit</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/464235/">The 2011 Kernel Summit</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/502624/">Proposals for Kernel Summit discussions</a> (June 20, 2012)</p> <p class="IndexEntry"> <a href="/Articles/513789/">The 2012 Kernel Summit</a> (August 29, 2012)</p> <p class="IndexPrimary"> <a name="Kernel_threads"><a href="#Kernel_threads">Kernel threads</a></a></p> <p class="IndexEntry"> <a href="/Articles/65178/">Kernel threads made easy</a> (January 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/229873/">Too many threads</a> (April 10, 2007)</p> <p class="IndexEntry"> <a href="/Articles/329464/">The slow work mechanism</a> (April 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/355700/">Concurrency-managed workqueues</a> (October 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/393171/">Concurrency-managed workqueues and thread priorities</a> (June 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/403891/">Working on workqueues</a> (September 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/662703/">Improving (or removing) the kthread freezer</a> (November 2, 2015)</p> <p class="IndexEntry"> <a href="/Articles/705269/">The problematic kthread freezer</a> (November 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/752588/">Removing the kthread freezer?</a> (April 25, 2018)</p> <p class="IndexEntry"> <a href="/Articles/935602/">Removing the kthread freezer</a> (June 23, 2023)</p> <p class="IndexPrimary"> <a name="Ketchup"><a href="#Ketchup">Ketchup</a></a></p> <p class="IndexEntry"> <a href="/Articles/82486/">Ketchup with that?</a> (April 28, 2004)</p> <p class="IndexPrimary"> <a name="Kevent"><a href="#Kevent">Kevent</a></a></p> <p class="IndexEntry"> <a href="/Articles/172844/">The kevent interface</a> (February 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/182060/">Implementing network channels</a> (May 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/192410/">OLS: A proposal for a new networking API</a> (July 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/193691/">Toward a kernel events interface</a> (August 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/196721/">Kevents and review of new APIs</a> (August 23, 2006)</p> <p class="IndexEntry"> <a href="/Articles/208139/">This week's version of the kevent interface</a> (November 7, 2006)</p> <p class="IndexEntry"> <a href="/Articles/213672/">Kevent take 26</a> (December 12, 2006)</p> <p class="IndexEntry"> <a href="/Articles/225714/">Kernel events without kevents</a> (March 13, 2007)</p> <p class="IndexEntry"> <a href="/Articles/233462/">The return of kevent?</a> (May 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/236206/">The return of syslets</a> (May 30, 2007)</p> <p class="IndexPrimary"> <a name="Kexec"><a href="#Kexec">Kexec</a></a></p> <p class="IndexEntry"> <a href="/Articles/94560/">Kernel Summit: kexec and fast booting</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/108595/">Crash dumps with kexec</a> (October 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/144277/">Kernel Summit 2005: RAS tools</a> (July 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/242107/">Yet another approach to software suspend</a> (July 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/603116/">Reworking kexec for signatures</a> (June 25, 2014)</p> <p class="IndexEntry"> <a href="/Articles/895453/">Preserving guest memory across kexec</a> (May 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/1015997/">Memory persistence over kexec</a> (April 1, 2025)</p> <p class="IndexPrimary"> <a name="kfifo"><a href="#kfifo">kfifo</a></a></p> <p class="IndexEntry"> <a href="/Articles/107314/">Coming in 2.6.10</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/347619/">A new API for kfifo?</a> (August 19, 2009)</p> <p class="IndexPrimary"> <a name="kgdb"><a href="#kgdb">kgdb</a></a></p> <p class="IndexEntry"> <a href="/Articles/70465/">Bringing kgdb into 2.6</a> (February 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/270089/">kgdb getting closer to being merged?</a> (February 20, 2008)</p> <p class="IndexEntry"> <a href="/Articles/374633/">Merging kdb and kgdb</a> (February 17, 2010)</p> <p class="IndexPrimary"> <a name="klibc"><a href="#klibc">klibc</a></a></p> <p class="IndexEntry"> <a href="/Articles/191004/">initramfs and where user space truly begins</a> (July 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191654/">Kernel Summit 2006: The user-space API</a> (July 18, 2006)</p> <p class="IndexPrimary"> <a name="klist"><a href="#klist">klist</a></a></p> <p class="IndexEntry"> <a href="/Articles/128644/">Device model changes in store</a> (March 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/150675/">A pair of klist API changes</a> (September 7, 2005)</p> <p class="IndexPrimary"> <a name="kmap_atomic"><a href="#kmap_atomic">kmap_atomic()</a></a></p> <p class="IndexEntry"> <a href="/Articles/111226/">On not getting burned by kmap_atomic()</a> (November 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/356378/">Fixing kmap_atomic()</a> (October 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/831678/">Four short stories about preempt_count()</a> (September 18, 2020)</p> <p class="IndexEntry"> <a href="/Articles/836144/">Atomic kmaps become local</a> (November 6, 2020)</p> <p class="IndexPrimary"> <a name="kmsg_dumper"><a href="#kmsg_dumper">kmsg_dumper</a></a></p> <p class="IndexEntry"> <a href="/Articles/366987/">kmsg_dumper</a> (December 16, 2009)</p> <p class="IndexPrimary"> <a name="kobject_hotplug"><a href="#kobject_hotplug">kobject_hotplug()</a></a></p> <p class="IndexSecondary"> <a name="kobject_hotplug-Use_in_kernel_events_layer"></a><a href="#kobject_hotplug-Use_in_kernel_events_layer">Use in kernel events layer</a></p> <p class="IndexEntry"> <a href="/Articles/101210/">Figuring out kernel event reporting</a> (September 8, 2004)</p> <p class="IndexPrimary"> <a name="KProbes"><a href="#KProbes">KProbes</a></a></p> <p class="IndexEntry"> <a href="/Articles/132196/">An introduction to KProbes</a> (April 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/200059/">Tracing infrastructures</a> (September 19, 2006)</p> <p class="IndexPrimary"> <a name="Kprobes"><a href="#Kprobes">Kprobes</a></a></p> <p class="IndexEntry"> <a href="/Articles/343766/">Dynamic probes with ftrace</a> (July 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/365833/">Minimizing instrumentation impacts</a> (December 9, 2009)</p> <p class="IndexPrimary"> <a name="kref"><a href="#kref">kref</a></a></p> <p class="IndexEntry"> <a href="/Articles/75920/">The debut of kref</a> (March 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/93617/">RCU-safe reference counting</a> (July 14, 2004)</p> <p class="IndexPrimary"> <a name="ksize"><a href="#ksize">ksize()</a></a></p> <p class="IndexEntry"> <a href="/Articles/319686/">Getting the measure of ksize()</a> (February 17, 2009)</p> <p class="IndexPrimary"> <a name="Ksplice"><a href="#Ksplice">Ksplice</a></a></p> <p class="IndexEntry"> <a href="/Articles/280058/">Ksplice: kernel patches without reboots</a> (April 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/308409/">Ksplice and kreplace</a> (November 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/311850/">Followups: performance counters, ksplice, and fsnotify</a> (December 17, 2008)</p> <p class="IndexPrimary"> <a name="Kswapd"><a href="#Kswapd">Kswapd</a></a></p> <p class="IndexEntry"> <a href="/Articles/101230/">Kswapd and high-order allocations</a> (September 8, 2004)</p> <p class="IndexPrimary"> <a name="ktask"><a href="#ktask">ktask</a></a></p> <p class="IndexEntry"> <a href="/Articles/771169/">ktask: optimizing CPU-intensive kernel work</a> (November 9, 2018)</p> <p class="IndexPrimary"> <a name="KVM"><a href="#KVM">KVM</a></a></p> <p class="IndexEntry"> <a href="/Articles/206014/">Patch summary: regulatory domains, network channels, and virtualization</a> (October 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/216794/">Some KVM developments</a> (January 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/223839/">KVM 15</a> (February 26, 2007)</p> <p class="IndexEntry"> <a href="/Articles/266320/">Memory management notifiers</a> (January 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/379869/">KVM, QEMU, and kernel project management</a> (March 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/438182/">The native KVM tool</a> (April 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/456132/">Merging the kvm tool</a> (August 23, 2011)</p> <p class="IndexEntry"> <a href="/Articles/539262/">No kvmtool in the mainline</a> (February 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/557132/">Supporting KVM on the ARM architecture</a> (July 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/656807/">Realtime KVM</a> (September 10, 2015)</p> <p class="IndexEntry"> <a href="/Articles/805097/">A recap of KVM Forum 2019</a> (November 19, 2019)</p> <p class="IndexEntry"> <a href="/Articles/805114/">Enhancing KVM for guest protection and security</a> (November 20, 2019)</p> <p class="IndexEntry"> <a href="/Articles/836693/">KVM for Android</a> (November 11, 2020)</p> <p class="IndexEntry"> <a href="/Articles/856685/">Why RISC-V doesn't (yet) support KVM</a> (May 20, 2021)</p> <p class="IndexPrimary"> <a name="kzalloc"><a href="#kzalloc">kzalloc()</a></a></p> <p class="IndexEntry"> <a href="/Articles/147014/">kzalloc()</a> (August 10, 2005)</p> <p class="IndexPrimary"> <a name="Laptop_mode"><a href="#Laptop_mode">Laptop mode</a></a></p> <p class="IndexEntry"> <a href="/Articles/65437/">Laptop mode for 2.6</a> (January 7, 2004)</p> <p class="IndexPrimary"> <a name="Large-memory_systems"><a href="#Large-memory_systems">Large-memory systems</a></a></p> <p class="IndexEntry"> <a href="/Articles/86715/">The merging of anon_vma and 4G/4G</a> (May 26, 2004)</p> <p class="IndexEntry"> <a href="/Articles/106177/">Four-level page tables</a> (October 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/116810/">Rethinking four-level page tables</a> (December 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/117749/">Four-level page tables merged</a> (January 5, 2005)</p> <p class="IndexPrimary"> <a name="Latency"><a href="#Latency">Latency</a></a></p> <p class="IndexEntry"> <a href="/Articles/93604/">Addressing latency problems in 2.6</a> (July 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/95334/">Voluntary preemption and hardware interrupts</a> (July 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/98445/">Update from the latency front</a> (August 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/102253/">The Big Kernel Semaphore?</a> (September 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/106010/">Approaches to realtime Linux</a> (October 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107269/">Realtime preemption, part 2</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/115554/">Boot-time clock frequency selection</a> (December 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/118785/">Merging the realtime security module</a> (January 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/120797/">Low latency for audio applications</a> (January 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/122477/">Audio latency goes full circle</a> (February 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/129511/">Realtime preemption and read-copy-update</a> (March 30, 2005)</p> <p class="IndexEntry"> <a href="/Articles/134460/">Audio latency - resource limits win</a> (May 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/138174/">The beginning of the realtime preemption debate</a> (June 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/139784/">Realtime and interrupt latency</a> (June 14, 2005)</p> <p class="IndexEntry"> <a href="/Articles/197299/">An API for specifying latency constraints</a> (August 28, 2006)</p> <p class="IndexEntry"> <a href="/Articles/248878/">KS2007: The customer panel</a> (September 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/266153/">Finding system latency with LatencyTOP</a> (January 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/281938/">The big kernel lock strikes again</a> (May 13, 2008)</p> <p class="IndexEntry"> <a href="/Articles/351499/">Some notes from the BFS discussion</a> (September 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/352863/">Various scheduler-related topics</a> (September 15, 2009)</p> <p class="IndexEntry"> <a href="/Articles/354690/">The realtime preemption mini-summit</a> (September 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/404993/">Improving scheduler latency</a> (September 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/420407/">Realtime group scheduling doesn't know JACK</a> (December 19, 2010)</p> <p class="IndexEntry"> <a href="/Articles/820659/">The many faces of &quot;latency nice&quot;</a> (May 18, 2020)</p> <p class="IndexEntry"> <a href="/Articles/887842/">Improved response times with latency nice</a> (March 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/981371/">Reports from OSPM 2024, part 1</a> (July 11, 2024)</p> <p class="IndexPrimary"> <a name="Legal_issues"><a href="#Legal_issues">Legal issues</a></a></p> <p class="IndexEntry"> <a href="/Articles/331615/">Long discussions about long names</a> (May 4, 2009)</p> <p class="IndexPrimary"> <a name="Lguest"><a href="#Lguest">Lguest</a></a></p> <p class="IndexEntry"> <a href="/Articles/218766/">An introduction to lguest</a> (January 23, 2007)</p> <p class="IndexPrimary"> <a name="libata"><a href="#libata">libata</a></a></p> <p class="IndexEntry"> <a href="/Articles/77981/">Big block transfers: good or bad?</a> (March 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/198344/">Parallel IDE drivers</a> (September 5, 2006)</p> <p class="IndexPrimary"> <a name="Library_mode"><a href="#Library_mode">Library mode</a></a></p> <p class="IndexEntry"> <a href="/Articles/639333/">Running the kernel in library mode</a> (April 8, 2015)</p> <p class="IndexPrimary"> <a name="likely"><a href="#likely">likely()</a></a></p> <p class="IndexEntry"> <a href="/Articles/70473/">How likely should likely() be?</a> (February 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/182369/">Briefly: patch quality, CKRM, likely(), and vmsplice()</a> (May 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/420019/">Likely unlikely()s</a> (December 15, 2010)</p> <p class="IndexPrimary"> <a name="linux-next"><a href="#linux-next">linux-next</a></a></p> <p class="IndexEntry"> <a href="/Articles/269120/">linux-next and patch management process</a> (February 13, 2008)</p> <p class="IndexEntry"> <a href="/Articles/287155/">A day in the life of linux-next</a> (June 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/289013/">The current development kernel is...linux-next?</a> (July 8, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291292/">Linux-next meets the merge window</a> (July 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/423777/">Bypassing linux-next</a> (January 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/515529/">KS2012: Improving development processes: linux-next</a> (September 12, 2012)</p> <p class="IndexEntry"> <a href="/Articles/608933/">The state of linux-next</a> (August 20, 2014)</p> <p class="IndexPrimary"> <a name="Linux_Plumbers_Conference"><a href="#Linux_Plumbers_Conference">Linux Plumbers Conference</a></a></p> <p class="IndexSecondary"> <a name="Linux_Plumbers_Conference-2017"></a><a href="#Linux_Plumbers_Conference-2017">2017</a></p> <p class="IndexEntry"> <a href="/Articles/734765/">An update on live kernel patching</a> (September 27, 2017)</p> <p class="IndexPrimary"> <a name="LinuxTag"><a href="#LinuxTag">LinuxTag</a></a></p> <p class="IndexSecondary"> <a name="LinuxTag-2010"></a><a href="#LinuxTag-2010">2010</a></p> <p class="IndexEntry"> <a href="/Articles/392154/">The state of realtime Linux</a> (June 15, 2010)</p> <p class="IndexPrimary"> <a name="Live_patching"><a href="#Live_patching">Live patching</a></a></p> <p class="IndexEntry"> <a href="/Articles/280058/">Ksplice: kernel patches without reboots</a> (April 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/308409/">Ksplice and kreplace</a> (November 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/311850/">Followups: performance counters, ksplice, and fsnotify</a> (December 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/596854/">The initial kGraft submission</a> (April 30, 2014)</p> <p class="IndexEntry"> <a href="/Articles/597407/">The first kpatch submission</a> (May 7, 2014)</p> <p class="IndexEntry"> <a href="/Articles/634649/">A rough patch for live patching</a> (February 25, 2015)</p> <p class="IndexEntry"> <a href="/Articles/658333/">Compile-time stack validation</a> (September 30, 2015)</p> <p class="IndexEntry"> <a href="/Articles/706327/">Topics in live kernel patching</a> (November 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/775264/">Live patching for CPU vulnerabilities</a> (December 20, 2018)</p> <p class="IndexPrimary"> <a name="llseek"><a href="#llseek">llseek()</a></a></p> <p class="IndexEntry"> <a href="/Articles/97154/">Safe seeks</a> (August 10, 2004)</p> <p class="IndexPrimary"> <a name="local_t"><a href="#local_t">local_t</a></a></p> <p class="IndexEntry"> <a href="/Articles/170003/">The search for fast, scalable counters</a> (February 1, 2006)</p> <p class="IndexPrimary"> <a name="Lockdep"><a href="#Lockdep">Lockdep</a></a></p> <p class="IndexEntry"> <a href="/Articles/185666/">The kernel lock validator</a> (May 31, 2006)</p> <p class="IndexEntry"> <a href="/Articles/321663/">Interrupts, threads, and lockdep</a> (March 3, 2009)</p> <p class="IndexEntry"> <a href="/Articles/536363/">User-space lockdep</a> (February 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/709849/">Enhancing lockdep with crossrelease</a> (December 21, 2016)</p> <p class="IndexPrimary"> <a name="Lock_elision"><a href="#Lock_elision">Lock elision</a></a></p> <p class="IndexEntry"> <a href="/Articles/572099/">Scalability techniques</a> (October 29, 2013)</p> <p class="IndexPrimary"> <a name="Locking_mechanisms"><a href="#Locking_mechanisms">Locking mechanisms</a></a></p> <p class="IndexEntry"> <a href="/Articles/961884/">Windows NT synchronization primitives for Linux</a> (February 16, 2024)</p> <p class="IndexSecondary"> <a name="Locking_mechanisms-Local_locks"></a><a href="#Locking_mechanisms-Local_locks">Local locks</a></p> <p class="IndexEntry"> <a href="/Articles/828477/">Local locks in the kernel</a> (August 11, 2020)</p> <p class="IndexSecondary"> <a name="Locking_mechanisms-Mutexes"></a><a href="#Locking_mechanisms-Mutexes">Mutexes</a></p> <p class="IndexEntry"> <a href="/Articles/163842/">Reworking the semaphore interface</a> (December 14, 2005)</p> <p class="IndexEntry"> <a href="/Articles/165039/">Semaphores and mutexes</a> (December 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/166195/">Goodbye semaphores?</a> (January 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/167034/">The mutex API</a> (January 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/178253/">Priority inheritance in the kernel</a> (April 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/313682/">Btrfs aims for the mainline</a> (January 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/401911/">Preventing overly-optimistic spinning</a> (August 25, 2010)</p> <p class="IndexEntry"> <a href="/Articles/548909/">Wait/wound mutexes</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/575460/">A surprise with mutexes and reference counts</a> (December 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/699784/">Reimplementing mutexes with a coupled lock</a> (September 8, 2016)</p> <p class="IndexSecondary"> <a name="Locking_mechanisms-Semaphores"></a><a href="#Locking_mechanisms-Semaphores">Semaphores</a></p> <p class="IndexEntry"> <a href="/Articles/928026/">The shrinking role of semaphores</a> (April 7, 2023)</p> <p class="IndexSecondary"> <a name="Locking_mechanisms-seqlocks"></a><a href="#Locking_mechanisms-seqlocks">seqlocks</a></p> <p class="IndexEntry"> <a href="/Articles/22818/">Driver porting: mutual exclusion with seqlocks</a> (February 14, 2003)</p> <p class="IndexEntry"> <a href="/Articles/831540/">The seqcount latch lock type</a> (September 17, 2020)</p> <p class="IndexPrimary"> <a name="lock_kernel"><a href="#lock_kernel">lock_kernel()</a></a></p> <p class="IndexEntry"> <a href="/Articles/86859/">The Big Kernel Lock lives on</a> (May 26, 2004)</p> <p class="IndexEntry"> <a href="/Articles/281938/">The big kernel lock strikes again</a> (May 13, 2008)</p> <p class="IndexEntry"> <a href="/Articles/283066/">Kill BKL Vol. 2</a> (May 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/381164/">The BKL end game</a> (March 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/384855/">Might 2.6.35 be BKL-free?</a> (April 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/406246/">BKL-free in 2.6.37 (maybe)</a> (September 20, 2010)</p> <p class="IndexPrimary"> <a name="Lockless_algorithms"><a href="#Lockless_algorithms">Lockless algorithms</a></a></p> <p class="IndexEntry"> <a href="/Articles/827180/">Lockless algorithms for mere mortals</a> (July 28, 2020)</p> <p class="IndexEntry"> <a href="/Articles/844224/">An introduction to lockless algorithms</a> (February 19, 2021)</p> <p class="IndexEntry"> <a href="/Articles/846700/">Lockless patterns: relaxed access and partial memory barriers</a> (February 26, 2021)</p> <p class="IndexEntry"> <a href="/Articles/847481/">Lockless patterns: full memory barriers</a> (March 5, 2021)</p> <p class="IndexEntry"> <a href="/Articles/847973/">Lockless patterns: an introduction to compare-and-swap</a> (March 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/849237/">Lockless patterns: more read-modify-write operations</a> (March 19, 2021)</p> <p class="IndexEntry"> <a href="/Articles/850202/">Lockless patterns: some final topics</a> (March 29, 2021)</p> <p class="IndexEntry"> <a href="/Articles/877200/">Detecting missing memory barriers with KCSAN</a> (December 2, 2021)</p> <p class="IndexPrimary"> <a name="Lockless_page_cache"><a href="#Lockless_page_cache">Lockless page cache</a></a></p> <p class="IndexEntry"> <a href="/Articles/291826/">The lockless page cache</a> (July 29, 2008)</p> <p class="IndexPrimary"> <a name="Lockref"><a href="#Lockref">Lockref</a></a></p> <p class="IndexEntry"> <a href="/Articles/565734/">Introducing lockrefs</a> (September 4, 2013)</p> <p class="IndexPrimary"> <a name="LogFS"><a href="#LogFS">LogFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/234441/">LogFS</a> (May 15, 2007)</p> <p class="IndexEntry"> <a href="/Articles/363572/">LogFS returns</a> (November 24, 2009)</p> <p class="IndexPrimary"> <a name="Logical_memory_block_LMB"><a href="#Logical_memory_block_LMB">Logical memory block (LMB)</a></a></p> <p class="IndexEntry"> <a href="/Articles/387083/">Moving x86 to LMB</a> (May 11, 2010)</p> <p class="IndexPrimary"> <a name="Long-term_support_initiative"><a href="#Long-term_support_initiative">Long-term support initiative</a></a></p> <p class="IndexEntry"> <a href="/Articles/464834/">The embedded long-term support initiative</a> (October 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/484337/">A long-term support initiative update</a> (February 29, 2012)</p> <p class="IndexEntry"> <a href="/Articles/694880/">LTSI and Fuego</a> (July 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/700530/">Backports and long-term stable kernels</a> (September 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/749530/">Super long-term kernel support</a> (March 19, 2018)</p> <p class="IndexPrimary"> <a name="Loopback_device"><a href="#Loopback_device">Loopback device</a></a></p> <p class="IndexEntry"> <a href="/Articles/110468/">Partitioned loopback devices</a> (November 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/535034/">Asynchronous block loop I/O</a> (January 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/819625/">Private loop devices with loopfs</a> (May 7, 2020)</p> <p class="IndexPrimary"> <a name="Lumpy_reclaim"><a href="#Lumpy_reclaim">Lumpy reclaim</a></a></p> <p class="IndexEntry"> <a href="/Articles/211505/">Avoiding - and fixing - memory fragmentation</a> (November 28, 2006)</p> <p class="IndexEntry"> <a href="/Articles/384093/">When writeback goes wrong</a> (April 20, 2010)</p> <p class="IndexPrimary"> <a name="Lustre"><a href="#Lustre">Lustre</a></a></p> <p class="IndexEntry"> <a href="/Articles/88680/">Should the Lustre preparation patches go in?</a> (June 9, 2004)</p> <p class="IndexPrimary"> <a name="Magic_groups"><a href="#Magic_groups">Magic groups</a></a></p> <p class="IndexEntry"> <a href="/Articles/84566/">Magic groups in 2.6</a> (May 11, 2004)</p> <p class="IndexPrimary"> <a name="Magic_links"><a href="#Magic_links">Magic links</a></a></p> <p class="IndexEntry"> <a href="/Articles/934460/">Hardening magic links</a> (June 14, 2023)</p> <p class="IndexPrimary"> <a name="Managed_Runtime_Initiative"><a href="#Managed_Runtime_Initiative">Managed Runtime Initiative</a></a></p> <p class="IndexEntry"> <a href="/Articles/392307/">The Managed Runtime Initiative</a> (June 16, 2010)</p> <p class="IndexPrimary"> <a name="Maple_trees"><a href="#Maple_trees">Maple trees</a></a></p> <p class="IndexEntry"> <a href="/Articles/787629/">How to get rid of mmap_sem</a> (May 8, 2019)</p> <p class="IndexEntry"> <a href="/Articles/845507/">Introducing maple trees</a> (February 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/893906/">The ongoing search for mmap_lock scalability</a> (May 6, 2022)</p> <p class="IndexEntry"> <a href="/Articles/974860/">The next steps for the maple tree</a> (May 27, 2024)</p> <p class="IndexPrimary"> <a name="Media_controller"><a href="#Media_controller">Media controller</a></a></p> <p class="IndexEntry"> <a href="/Articles/415714/">The media controller subsystem</a> (November 16, 2010)</p> <p class="IndexPrimary"> <a name="membarrier"><a href="#membarrier">membarrier()</a></a></p> <p class="IndexEntry"> <a href="/Articles/369567/">sys_membarrier()</a> (January 13, 2010)</p> <p class="IndexEntry"> <a href="/Articles/728795/">Expediting membarrier()</a> (July 26, 2017)</p> <p class="IndexPrimary"> <a name="Memfd"><a href="#Memfd">Memfd</a></a></p> <p class="IndexEntry"> <a href="/Articles/593918/">Sealed files</a> (April 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/812325/">Keeping secrets in memfd areas</a> (February 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/890224/">Private memory for KVM guests</a> (April 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/918106/">Enabling non-executable memfds</a> (December 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/1016408/">Per-CPU memory for user space</a> (April 8, 2025)</p> <p class="IndexPrimary"> <a name="Memory_barriers"><a href="#Memory_barriers">Memory barriers</a></a></p> <p class="IndexEntry"> <a href="/Articles/198988/">Memory-mapped I/O barriers</a> (September 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/423994/">Concurrent code and expensive instructions</a> (January 26, 2011)</p> <p class="IndexEntry"> <a href="/Articles/572099/">Scalability techniques</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/576486/">Memory barriers for TSO architectures</a> (December 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/846700/">Lockless patterns: relaxed access and partial memory barriers</a> (February 26, 2021)</p> <p class="IndexEntry"> <a href="/Articles/860037/">Protecting control dependencies with volatile_if()</a> (June 18, 2021)</p> <p class="IndexPrimary"> <a name="Memory_management"><a href="#Memory_management">Memory management</a></a></p> <p class="IndexEntry"> <a href="/Articles/74149/">Time to thrash the 2.6 VM?</a> (March 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/80472/">VM changes in 2.6.6</a> (April 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/117881/">Faster page faulting through prezeroing</a> (January 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/121656/">Useful gadget: /proc/page_owner</a> (February 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/124560/">Flushing the page cache from user space</a> (February 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/133649/">Supporting RDMA on Linux</a> (April 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/149888/">Improving shared memory performance</a> (August 31, 2005)</p> <p class="IndexEntry"> <a href="/Articles/171941/">Tweaks to madvise() and posix_fadvise()</a> (February 14, 2006)</p> <p class="IndexEntry"> <a href="/Articles/182847/">Multi-protection VMAs</a> (May 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/215113/">A gnarly 2.6.19 file corruption bug</a> (December 20, 2006)</p> <p class="IndexEntry"> <a href="/Articles/224829/">Short topics in memory management</a> (March 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/230975/">ELC: How much memory are applications really using?</a> (April 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/304188/">Reworking vmap()</a> (October 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/340370/">Some ado about zero</a> (July 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/362179/">High-order GFP_ATOMIC allocation trouble</a> (November 17, 2009)</p> <p class="IndexEntry"> <a href="/Articles/428100/">Go's memory management, ulimit -v, and RSS control</a> (February 15, 2011)</p> <p class="IndexEntry"> <a href="/Articles/440221/">ARM, DMA, and memory management</a> (April 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/468896/">POSIX_FADV_VOLATILE</a> (November 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/474819/">DMA buffer sharing in 3.3</a> (January 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/500382/">Volatile ranges with fallocate()</a> (June 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/522135/">Many more words on volatile ranges</a> (November 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/524742/">vmpressure_fd()</a> (November 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/545244/">In-kernel memory compression</a> (April 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/545668/">Avoiding game-score loss with per-process reclaim</a> (April 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/562211/">A survey of memory management patches</a> (August 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/582862/">Preparing for large-sector drives</a> (January 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/589475/">Optimizing VMA caching</a> (March 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/592045/">Memory accounting and limits</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/594725/">Avoiding memory-allocation deadlocks</a> (April 16, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636226/">User-space page fault handling</a> (March 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/642069/">Pagemap: security fixes vs. ABI compatibility</a> (April 29, 2015)</p> <p class="IndexEntry"> <a href="/Articles/642202/">Tracking actual memory utilization</a> (April 29, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684866/">Partial address-space mirroring</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/685107/">Performance-differentiated memory</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/711653/">kvmalloc()</a> (January 17, 2017)</p> <p class="IndexEntry"> <a href="/Articles/729653/">The kernel's genpool subsystem</a> (August 3, 2017)</p> <p class="IndexEntry"> <a href="/Articles/741369/">MAP_FIXED_SAFE</a> (December 13, 2017)</p> <p class="IndexEntry"> <a href="/Articles/750215/">Read-only dynamic data</a> (March 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/753273/">Is it time to remove ZONE_DMA?</a> (May 4, 2018)</p> <p class="IndexEntry"> <a href="/Articles/789153/">New system calls for memory management</a> (May 24, 2019)</p> <p class="IndexEntry"> <a href="/Articles/810076/">process_madvise(), pidfd capabilities, and the revenge of the PIDs</a> (January 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/867818/">Not-so-anonymous virtual memory areas</a> (September 3, 2021)</p> <p class="IndexEntry"> <a href="/Articles/873672/">Replacing congestion_wait()</a> (October 25, 2021)</p> <p class="IndexEntry"> <a href="/Articles/893726/">Ways to reclaim unused page-table pages</a> (May 9, 2022)</p> <p class="IndexEntry"> <a href="/Articles/928328/">Seeking an acceptable unaccepted memory policy</a> (April 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931416/">Memory-management changes for CXL</a> (May 12, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931662/">User-space control of memory management</a> (May 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/933867/">Yet another memory allocator for executable code</a> (June 8, 2023)</p> <p class="IndexEntry"> <a href="/Articles/940704/">An ioctl() call to detect memory writes</a> (August 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1015551/">A herd of migration discussions</a> (March 31, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Address-space_isolation"></a><a href="#Memory_management-Address-space_isolation">Address-space isolation</a></p> <p class="IndexEntry"> <a href="/Articles/700647/">Exclusive page-frame ownership</a> (September 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/787166/">Containers and address space separation</a> (May 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803823/">Generalizing address-space isolation</a> (November 5, 2019)</p> <p class="IndexEntry"> <a href="/Articles/804658/">Keeping memory contents secret</a> (November 15, 2019)</p> <p class="IndexEntry"> <a href="/Articles/812325/">Keeping secrets in memfd areas</a> (February 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/835342/">Two address-space-isolation patches get closer</a> (October 27, 2020)</p> <p class="IndexEntry"> <a href="/Articles/865256/">memfd_secret() in 5.14</a> (August 6, 2021)</p> <p class="IndexEntry"> <a href="/Articles/886494/">Generalized address-space isolation</a> (March 3, 2022)</p> <p class="IndexEntry"> <a href="/Articles/890224/">Private memory for KVM guests</a> (April 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/909469/">A call to reconsider address-space isolation</a> (September 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/949277/">Guest-first memory for KVM</a> (November 2, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974390/">Another try for address-space isolation</a> (May 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1014440/">Multiple memory classes for address-space isolation</a> (March 21, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016013/">Page allocation for address-space isolation</a> (April 3, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016133/">The state of guest_memfd</a> (April 4, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-BPF"></a><a href="#Memory_management-BPF">BPF</a></p> <p class="IndexEntry"> <a href="/Articles/883454/">A memory allocator for BPF code</a> (February 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/892743/">The BPF allocator runs into trouble</a> (April 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/899274/">A BPF-specific memory allocator</a> (June 30, 2022)</p> <p class="IndexSecondary"> <a name="Memory_management-Compound_pages"></a><a href="#Memory_management-Compound_pages">Compound pages</a></p> <p class="IndexEntry"> <a href="/Articles/619514/">An introduction to compound pages</a> (November 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/787388/">Minimizing the use of tail pages</a> (May 4, 2019)</p> <p class="IndexEntry"> <a href="/Articles/839737/">Reducing page structures for huge pages</a> (December 11, 2020)</p> <p class="IndexSecondary"> <a name="Memory_management-Conference_sessions"></a><a href="#Memory_management-Conference_sessions">Conference sessions</a></p> <p class="IndexEntry"> <a href="/Articles/144102/">Kernel Summit 2005: Virtual memory topics</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144273/">Kernel Summit 2005: Convergence of network and storage paths</a> (July 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/249054/">KS2007: Memory management</a> (September 10, 2007)</p> <p class="IndexEntry"> <a href="/Articles/436871/">Linux Filesystem, Storage, and Memory Management Summit, Day 1</a> (April 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/437066/">Linux Filesystem, Storage, and Memory Management Summit, Day 2</a> (April 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/464292/">KS2011: Memory management issues</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/516439/">KS2012: The memcg/mm minisummit</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/705758/">A discussion on virtual-memory topics</a> (November 9, 2016)</p> <p class="IndexSecondary"> <a name="Memory_management-Control_groups"></a><a href="#Memory_management-Control_groups">Control groups</a></p> <p class="IndexEntry"> <a href="/Articles/243795/">Controlling memory use in containers</a> (July 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/443241/">Integrating memory control groups</a> (May 17, 2011)</p> <p class="IndexEntry"> <a href="/Articles/461461/">Idle and stale page tracking</a> (October 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/470656/">Per-cgroup TCP buffer limits</a> (December 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/485593/">Two approaches to kernel memory usage accounting</a> (March 7, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516529/">KS2012: memcg/mm: Improving kernel-memory accounting for memory cgroups</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516533/">KS2012: memcg/mm: Improving memory cgroups performance for non-users</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516535/">KS2012: memcg/mm: Hierarchical reclaim for memory cgroups</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516541/">KS2012: memcg/mm: Shared-memory accounting in memory cgroups</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/531077/">The mempressure control group proposal</a> (January 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/636331/">Current issues with memory control groups</a> (March 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684926/">Memory control group fairness</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/787614/">Cleaning up after dying control groups</a> (May 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787626/">Remote memory control-group charging</a> (May 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/789640/">Shrinking filesystem caches for dying control groups</a> (May 29, 2019)</p> <p class="IndexEntry"> <a href="/Articles/895431/">Cleaning up dying control groups, 2022 edition</a> (May 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932070/">Fighting the zombie-memcg invasion</a> (May 19, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974575/">The twilight of the version-1 memory controller</a> (May 23, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-DAMON"></a><a href="#Memory_management-DAMON">DAMON</a></p> <p class="IndexEntry"> <a href="/Articles/812707/">Memory-management optimization with DAMON</a> (February 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/863753/">Using DAMON for proactive reclaim</a> (July 23, 2021)</p> <p class="IndexEntry"> <a href="/Articles/905370/">LRU-list manipulation with DAMON</a> (August 22, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931769/">A 2023 DAMON update</a> (May 16, 2023)</p> <p class="IndexEntry"> <a href="/Articles/973702/">An update and future plans for DAMON</a> (May 17, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1016525/">Preparing DAMON for future memory-management problems</a> (April 10, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Development_process"></a><a href="#Memory_management-Development_process">Development process</a></p> <p class="IndexEntry"> <a href="/Articles/894378/">The state of memory-management development</a> (May 10, 2022)</p> <p class="IndexEntry"> <a href="/Articles/974939/">The state of the memory-management community in 2024</a> (May 28, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Direct_map"></a><a href="#Memory_management-Direct_map">Direct map</a></p> <p class="IndexEntry"> <a href="/Articles/892743/">The BPF allocator runs into trouble</a> (April 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/894557/">Solutions for direct-map fragmentation</a> (May 12, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931406/">Reconsidering the direct-map fragmentation problem</a> (May 11, 2023)</p> <p class="IndexSecondary"> <a name="Memory_management-Documentation"></a><a href="#Memory_management-Documentation">Documentation</a></p> <p class="IndexEntry"> <a href="/Articles/888715/">Readahead: the documentation I wanted to read</a> (April 8, 2022)</p> <p class="IndexEntry"> <a href="/Articles/894374/">Improving memory-management documentation</a> (May 10, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932398/">Memory-management documentation and development process</a> (June 2, 2023)</p> <p class="IndexSecondary"> <a name="Memory_management-During_early_boot"></a><a href="#Memory_management-During_early_boot">During early boot</a></p> <p class="IndexEntry"> <a href="/Articles/382559/">The NO_BOOTMEM patches</a> (April 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/387083/">Moving x86 to LMB</a> (May 11, 2010)</p> <p class="IndexEntry"> <a href="/Articles/761215/">A quick history of early-boot memory allocators</a> (July 30, 2018)</p> <p class="IndexSecondary"> <a name="Memory_management-Five-level_page_tables"></a><a href="#Memory_management-Five-level_page_tables">Five-level page tables</a></p> <p class="IndexEntry"> <a href="/Articles/717293/">Five-level page tables</a> (March 15, 2017)</p> <p class="IndexSecondary"> <a name="Memory_management-Folios"></a><a href="#Memory_management-Folios">Folios</a></p> <p class="IndexEntry"> <a href="/Articles/849538/">Clarifying memory management with page folios</a> (March 18, 2021)</p> <p class="IndexEntry"> <a href="/Articles/864603/">Kernel topics on the radar</a> (August 2, 2021)</p> <p class="IndexEntry"> <a href="/Articles/868598/">The folio pull-request pushback</a> (September 10, 2021)</p> <p class="IndexEntry"> <a href="/Articles/869942/">A discussion on folios</a> (September 22, 2021)</p> <p class="IndexEntry"> <a href="/Articles/881675/">The kernel radar: folios, multi-generational LRU, and Rust</a> (January 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/893512/">A memory-folio update</a> (May 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931794/">The state of the page in 2023</a> (May 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/932386/">Flexible-order anonymous folios</a> (May 25, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937239/">Large folios for anonymous memory</a> (July 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/943758/">Prerequisites for large anonymous folios</a> (September 8, 2023)</p> <p class="IndexEntry"> <a href="/Articles/973565/">The state of the page in 2024</a> (May 15, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1013649/">Looking forward to mapcount madness 2025</a> (March 17, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1015320/">The state of the page in 2025</a> (March 26, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Four-level_page_tables"></a><a href="#Memory_management-Four-level_page_tables">Four-level page tables</a></p> <p class="IndexEntry"> <a href="/Articles/106177/">Four-level page tables</a> (October 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/116810/">Rethinking four-level page tables</a> (December 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/117749/">Four-level page tables merged</a> (January 5, 2005)</p> <p class="IndexSecondary"> <a name="Memory_management-get_user_pages"></a><a href="#Memory_management-get_user_pages">get_user_pages()</a></p> <p class="IndexEntry"> <a href="/Articles/753027/">The trouble with get_user_pages()</a> (April 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/753272/">get_user_pages() continued</a> (May 4, 2018)</p> <p class="IndexEntry"> <a href="/Articles/774411/">DMA and get_user_pages()</a> (December 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/784574/">Some slow progress on get_user_pages()</a> (April 2, 2019)</p> <p class="IndexEntry"> <a href="/Articles/786172/">Tracking pages from get_user_pages()</a> (April 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787636/">get_user_pages(), pinned pages, and DAX</a> (May 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/796000/">Long-term get_user_pages() and truncate(): solved at last?</a> (August 13, 2019)</p> <p class="IndexEntry"> <a href="/Articles/807108/">Explicit pinning of user-space pages</a> (December 13, 2019)</p> <p class="IndexEntry"> <a href="/Articles/843326/">Preserving the mobility of ZONE_MOVABLE</a> (January 22, 2021)</p> <p class="IndexEntry"> <a href="/Articles/849638/">Patching until the COWs come home (part 1)</a> (March 22, 2021)</p> <p class="IndexEntry"> <a href="/Articles/849876/">Patching until the COWs come home (part 2)</a> (March 25, 2021)</p> <p class="IndexEntry"> <a href="/Articles/894390/">Page pinning and filesystems</a> (May 10, 2022)</p> <p class="IndexEntry"> <a href="/Articles/895439/">get_user_pages() and COW, 2022 edition</a> (May 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/930667/">The ongoing trouble with get_user_pages()</a> (May 4, 2023)</p> <p class="IndexSecondary"> <a name="Memory_management-GFP_flags"></a><a href="#Memory_management-GFP_flags">GFP flags</a></p> <p class="IndexEntry"> <a href="/Articles/596618/">Understanding __GFP_FS</a> (April 30, 2014)</p> <p class="IndexEntry"> <a href="/Articles/658081/">Some kernel memory-allocation improvements</a> (September 23, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684437/">Ideas for rationalizing GFP flags</a> (April 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/710545/">Context information in memory-allocation requests</a> (January 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/713076/">Making sense of GFP_TEMPORARY</a> (February 1, 2017)</p> <p class="IndexEntry"> <a href="/Articles/732107/">Goodbye to GFP_TEMPORARY and dma_alloc_noncoherent()</a> (August 28, 2017)</p> <p class="IndexEntry"> <a href="/Articles/875587/">Some upcoming memory-management patches</a> (November 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/920891/">GFP flags and the end of __GFP_ATOMIC</a> (January 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/926020/">Reducing direct-map fragmentation with __GFP_UNMAPPED</a> (March 20, 2023)</p> <p class="IndexEntry"> <a href="/Articles/976355/">Removing GFP_NOFS</a> (June 5, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Heterogeneous_memory_management"></a><a href="#Memory_management-Heterogeneous_memory_management">Heterogeneous memory management</a></p> <p class="IndexEntry"> <a href="/Articles/636301/">Heterogeneous memory management</a> (March 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684916/">Heterogeneous memory management</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717601/">HMM and CDM</a> (March 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/717614/">Unaddressable device memory</a> (March 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/752964/">Heterogeneous memory management and MMU notifiers</a> (April 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/757124/">Heterogeneous memory management meets EXPORT_SYMBOL_GPL()</a> (June 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/769471/">The proper use of EXPORT_SYMBOL_GPL()</a> (October 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787326/">Presenting heterogeneous memory to user space</a> (May 8, 2019)</p> <p class="IndexSecondary"> <a name="Memory_management-High_memory"></a><a href="#Memory_management-High_memory">High memory</a></p> <p class="IndexEntry"> <a href="/Articles/813201/">An end to high memory?</a> (February 27, 2020)</p> <p class="IndexEntry"> <a href="/Articles/831678/">Four short stories about preempt_count()</a> (September 18, 2020)</p> <p class="IndexEntry"> <a href="/Articles/836144/">Atomic kmaps become local</a> (November 6, 2020)</p> <p class="IndexSecondary"> <a name="Memory_management-Huge_pages"></a><a href="#Memory_management-Huge_pages">Huge pages</a></p> <p class="IndexEntry"> <a href="/Articles/359158/">Transparent hugepages</a> (October 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/374424/">Huge pages part 1 (Introduction)</a> (February 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/375096/">Huge pages part 2: Interfaces</a> (February 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/376606/">Huge pages part 3: Administration</a> (March 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/378641/">Huge pages part 4: benchmarking with huge pages</a> (March 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/379748/">Huge pages part 5: A deeper look at TLBs and costs</a> (March 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/423584/">Transparent huge pages in 2.6.38</a> (January 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/467328/">Huge pages, slow drives, and long delays</a> (November 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/517465/">Adding a huge zero page</a> (September 26, 2012)</p> <p class="IndexEntry"> <a href="/Articles/533499/">Supporting variable-sized huge pages</a> (January 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/592011/">Huge page issues</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/619738/">Transparent huge page reference counting</a> (November 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636162/">Improving huge page handling</a> (March 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684300/">Two transparent huge page cache implementations</a> (April 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686690/">Transparent huge pages in the page cache</a> (May 11, 2016)</p> <p class="IndexEntry"> <a href="/Articles/787434/">Transparent huge pages, NUMA locality, and performance regressions</a> (May 6, 2019)</p> <p class="IndexEntry"> <a href="/Articles/790985/">Dueling memory-management performance regressions</a> (June 14, 2019)</p> <p class="IndexEntry"> <a href="/Articles/887753/">Triggering huge-page collapse from user space</a> (March 14, 2022)</p> <p class="IndexEntry"> <a href="/Articles/895540/">Fixing a race in hugetlbfs</a> (May 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/906511/">The transparent huge page shrinker</a> (September 8, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931773/">High-granularity mappings for huge pages</a> (May 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/964239/">Formalizing policy zones for memory</a> (March 5, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974491/">Toward the unification of hugetlbfs</a> (May 22, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974636/">Allocator optimizations for transparent huge pages</a> (May 24, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974826/">Two talks on multi-size transparent huge page performance</a> (May 25, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974943/">Measuring memory fragmentation</a> (May 28, 2024)</p> <p class="IndexEntry"> <a href="/Articles/984839/">Memory-management: tiered memory, huge pages, and EROFS</a> (August 15, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1009039/">Multi-size THP creation, two different ways</a> (February 13, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1014220/">MM medley: huge page allocation, page promotion, KSM, and BPF</a> (March 20, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016416/">Using large folios for text areas</a> (April 8, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Internal_API"></a><a href="#Memory_management-Internal_API">Internal API</a></p> <p class="IndexEntry"> <a href="/Articles/104333/">remap_pfn_range()</a> (September 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/125488/">A proposal for a major memory management rework</a> (March 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/147983/">Cleaning up some page flags</a> (August 17, 2005)</p> <p class="IndexEntry"> <a href="/Articles/161204/">PG_reserved, VM_RESERVED, and VM_UNPAGED</a> (November 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/162860/">The evolution of driver page remapping</a> (December 6, 2005)</p> <p class="IndexEntry"> <a href="/Articles/200213/">nopage() and nopfn()</a> (September 20, 2006)</p> <p class="IndexEntry"> <a href="/Articles/203725/">Faulting out populate(), nopfn(), and nopage()</a> (October 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/236920/">The thorny case of kmalloc(0)</a> (June 5, 2007)</p> <p class="IndexEntry"> <a href="/Articles/258238/">Better per-CPU variables</a> (November 12, 2007)</p> <p class="IndexEntry"> <a href="/Articles/319686/">Getting the measure of ksize()</a> (February 17, 2009)</p> <p class="IndexEntry"> <a href="/Articles/356378/">Fixing kmap_atomic()</a> (October 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/401915/">When memory allocation failure is not an option</a> (August 25, 2010)</p> <p class="IndexEntry"> <a href="/Articles/477067/">The zsmalloc allocator</a> (January 25, 2012)</p> <p class="IndexEntry"> <a href="/Articles/669015/">An (unsigned) long story about page allocation</a> (December 23, 2015)</p> <p class="IndexEntry"> <a href="/Articles/753267/">Reworking page-table traversal</a> (May 4, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787740/">Alignment guarantees for kmalloc()</a> (May 8, 2019)</p> <p class="IndexEntry"> <a href="/Articles/802469/">Implementing alignment guarantees for kmalloc()</a> (October 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/1016011/">Better hugetlb page-table walking</a> (April 3, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Kernel_samepage_merging"></a><a href="#Memory_management-Kernel_samepage_merging">Kernel samepage merging</a></p> <p class="IndexEntry"> <a href="/Articles/306704/">/dev/ksm: dynamic memory sharing</a> (November 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/330589/">KSM tries again</a> (April 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/928510/">Process-level kernel samepage merging control</a> (April 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/953141/">An overview of kernel samepage merging (KSM)</a> (November 29, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1014220/">MM medley: huge page allocation, page promotion, KSM, and BPF</a> (March 20, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016426/">Two approaches to better kernel samepage merging</a> (April 9, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Large_allocations"></a><a href="#Memory_management-Large_allocations">Large allocations</a></p> <p class="IndexEntry"> <a href="/Articles/101230/">Kswapd and high-order allocations</a> (September 8, 2004)</p> <p class="IndexEntry"> <a href="/Articles/105021/">Active memory defragmentation</a> (October 5, 2004)</p> <p class="IndexEntry"> <a href="/Articles/121618/">Yet another approach to memory fragmentation</a> (February 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/158211/">Fragmentation avoidance</a> (November 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/159110/">More on fragmentation avoidance</a> (November 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160201/">VM followup: page migration and fragmentation avoidance</a> (November 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/211505/">Avoiding - and fixing - memory fragmentation</a> (November 28, 2006)</p> <p class="IndexEntry"> <a href="/Articles/250335/">Large pages, large blocks, and large problems</a> (September 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/368869/">Memory compaction</a> (January 6, 2010)</p> <p class="IndexEntry"> <a href="/Articles/396702/">Contiguous memory allocation for drivers</a> (July 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/417037/">The big chunk memory allocator</a> (November 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/447405/">A reworked contiguous memory allocator</a> (June 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/450286/">CMA and ARM</a> (July 5, 2011)</p> <p class="IndexEntry"> <a href="/Articles/480055/">The Android ION memory allocator</a> (February 8, 2012)</p> <p class="IndexEntry"> <a href="/Articles/486301/">A deep dive into CMA</a> (March 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/565469/">Integrating the ION memory allocator</a> (September 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591998/">Memory compaction issues</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636234/">Fixing the contiguous memory allocator</a> (March 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/650917/">Making kernel pages movable</a> (July 14, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684611/">CMA and compaction</a> (April 23, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717656/">Proactive compaction</a> (March 21, 2017)</p> <p class="IndexEntry"> <a href="/Articles/753167/">Improving support for large, contiguous allocations</a> (May 1, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787748/">Improving access to physically contiguous memory</a> (May 8, 2019)</p> <p class="IndexEntry"> <a href="/Articles/817905/">Proactive compaction for the kernel</a> (April 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/928795/">Designated movable (memory) blocks</a> (April 21, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1015000/">The guaranteed contiguous memory allocator</a> (March 21, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Memory_descriptors"></a><a href="#Memory_management-Memory_descriptors">Memory descriptors</a></p> <p class="IndexEntry"> <a href="/Articles/871982/">Pulling slabs out of struct page</a> (October 8, 2021)</p> <p class="IndexEntry"> <a href="/Articles/937839/">The proper time to split struct page</a> (July 14, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974937/">Fleshing out memory descriptors</a> (May 27, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Memory_encryption"></a><a href="#Memory_management-Memory_encryption">Memory encryption</a></p> <p class="IndexEntry"> <a href="/Articles/699820/">AMD memory encryption technologies</a> (September 8, 2016)</p> <p class="IndexEntry"> <a href="/Articles/752683/">Supporting Intel/AMD memory encryption</a> (April 25, 2018)</p> <p class="IndexEntry"> <a href="/Articles/776688/">A proposed API for full-memory encryption</a> (January 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787210/">Memory encryption issues</a> (May 1, 2019)</p> <p class="IndexSecondary"> <a name="Memory_management-mmap_sem"></a><a href="#Memory_management-mmap_sem">mmap_sem</a></p> <p class="IndexEntry"> <a href="/Articles/548098/">LSFMM: Problems with mmap_sem</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591978/">Memory management locking</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636334/">Memory-management scalability</a> (March 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/724502/">Range reader/writer locks for the kernel</a> (June 5, 2017)</p> <p class="IndexEntry"> <a href="/Articles/753058/">The LRU lock and mmap_sem</a> (April 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/753269/">Zone-lock and mmap_sem scalability</a> (May 3, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787629/">How to get rid of mmap_sem</a> (May 8, 2019)</p> <p class="IndexEntry"> <a href="/Articles/893906/">The ongoing search for mmap_lock scalability</a> (May 6, 2022)</p> <p class="IndexEntry"> <a href="/Articles/906852/">Concurrent page-fault handling with per-VMA locks</a> (September 5, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932298/">Improving page-fault scalability</a> (May 29, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937943/">Stabilizing per-VMA locking</a> (July 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974392/">Faster page faults with RCU-protected VMA walks</a> (May 22, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-MMU_notifiers"></a><a href="#Memory_management-MMU_notifiers">MMU notifiers</a></p> <p class="IndexEntry"> <a href="/Articles/732952/">A last-minute MMU notifier change</a> (September 5, 2017)</p> <p class="IndexEntry"> <a href="/Articles/752964/">Heterogeneous memory management and MMU notifiers</a> (April 27, 2018)</p> <p class="IndexSecondary"> <a name="Memory_management-Nonvolatile_memory"></a><a href="#Memory_management-Nonvolatile_memory">Nonvolatile memory</a></p> <p class="IndexEntry"> <a href="/Articles/498283/">Preparing for nonvolatile RAM</a> (May 23, 2012)</p> <p class="IndexEntry"> <a href="/Articles/547903/">LFCS: Preparing Linux for nonvolatile memory devices</a> (April 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591779/">Persistent memory</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/610174/">Supporting filesystems in persistent memory</a> (September 2, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636096/">Progress on persistent memory</a> (March 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/636972/">Improving page reclaim</a> (March 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/636973/">Huge pages and persistent memory</a> (March 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/640113/">Persistent memory support progress</a> (April 15, 2015)</p> <p class="IndexEntry"> <a href="/Articles/644079/">Persistent memory and page structures</a> (May 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/656197/">Persistent memory, with and without page structures</a> (September 2, 2015)</p> <p class="IndexEntry"> <a href="/Articles/672457/">Direct I/O and DMA for persistent memory</a> (January 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/674752/">Making use of persistent memory</a> (February 10, 2016)</p> <p class="IndexEntry"> <a href="/Articles/676737/">DAX and fsync: the cost of forgoing page structures</a> (February 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/678011/">The persistent memory &quot;I know what I'm doing&quot; flag</a> (March 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684288/">Persistent-memory error handling</a> (April 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684366/">Persistent memory as remote storage</a> (April 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684828/">DAX, mmap(), and a &quot;go faster&quot; flag</a> (April 26, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686150/">DAX on BTT</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717953/">The future of DAX</a> (March 27, 2017)</p> <p class="IndexEntry"> <a href="/Articles/726481/">daxctl() — getting the other half of persistent-memory performance</a> (June 26, 2017)</p> <p class="IndexEntry"> <a href="/Articles/731706/">Two more approaches to persistent-memory writes</a> (August 23, 2017)</p> <p class="IndexEntry"> <a href="/Articles/777212/">Persistent memory for transient data</a> (January 21, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787233/">The end of the DAX experiment</a> (May 2, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787418/">NUMA nodes for persistent-memory management</a> (May 6, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787973/">DAX semantics</a> (May 13, 2019)</p> <p class="IndexSecondary"> <a name="Memory_management-NUMA_systems"></a><a href="#Memory_management-NUMA_systems">NUMA systems</a></p> <p class="IndexEntry"> <a href="/Articles/157066/">Page migration</a> (October 25, 2005)</p> <p class="IndexEntry"> <a href="/Articles/168972/">The 2.6.16 straggler list</a> (January 24, 2006)</p> <p class="IndexEntry"> <a href="/Articles/486858/">Toward better NUMA scheduling</a> (March 16, 2012)</p> <p class="IndexEntry"> <a href="/Articles/488709/">AutoNUMA: the other approach to NUMA scheduling</a> (March 27, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516542/">KS2012: memcg/mm: NUMA scheduling</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/522093/">A potential NUMA scheduling solution</a> (October 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/524977/">NUMA in a hurry</a> (November 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/568870/">NUMA scheduling progress</a> (October 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591995/">NUMA placement problems</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/752977/">Rethinking NUMA</a> (April 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/862707/">NUMA policy and memory types</a> (July 16, 2021)</p> <p class="IndexEntry"> <a href="/Articles/875587/">Some upcoming memory-management patches</a> (November 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/893024/">NUMA rebalancing on tiered-memory systems</a> (May 2, 2022)</p> <p class="IndexEntry"> <a href="/Articles/913291/">Two performance-oriented patches: epoll and NUMA balancing</a> (November 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/956900/">Kernel-text replication on NUMA systems</a> (January 5, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Object-based_reverse_mapping"></a><a href="#Memory_management-Object-based_reverse_mapping">Object-based reverse mapping</a></p> <p class="IndexEntry"> <a href="/Articles/75174/">Virtual Memory I: the problem</a> (March 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/75198/">Virtual Memory II: the return of objrmap</a> (March 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/77106/">Reverse mapping anonymous pages - again</a> (March 24, 2004)</p> <p class="IndexEntry"> <a href="/Articles/85908/">The status of object-based reverse mapping</a> (May 19, 2004)</p> <p class="IndexEntry"> <a href="/Articles/86715/">The merging of anon_vma and 4G/4G</a> (May 26, 2004)</p> <p class="IndexEntry"> <a href="/Articles/383162/">The case of the overly anonymous anon_vma</a> (April 13, 2010)</p> <p class="IndexEntry"> <a href="/Articles/1015762/">Improving the merging of anonymous VMAs</a> (March 31, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Out-of-memory_handling"></a><a href="#Memory_management-Out-of-memory_handling">Out-of-memory handling</a></p> <p class="IndexEntry"> <a href="/Articles/104179/">Respite from the OOM killer</a> (September 28, 2004)</p> <p class="IndexEntry"> <a href="/Articles/129703/">Network block devices and OOM safety</a> (March 30, 2005)</p> <p class="IndexEntry"> <a href="/Articles/134513/">Defending against fork bombs</a> (May 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/146689/">Toward more robust network-based block I/O</a> (August 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/195416/">The return of network block device deadlock prevention</a> (August 14, 2006)</p> <p class="IndexEntry"> <a href="/Articles/267013/">Avoiding the OOM killer with mem_notify</a> (January 30, 2008)</p> <p class="IndexEntry"> <a href="/Articles/317814/">Taming the OOM killer</a> (February 4, 2009)</p> <p class="IndexEntry"> <a href="/Articles/391222/">Another OOM killer rewrite</a> (June 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/432223/">Delaying the OOM killer</a> (March 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/548180/">LSFMM: Improving the out-of-memory killer</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/552789/">Toward reliable user-space OOM handling</a> (June 5, 2013)</p> <p class="IndexEntry"> <a href="/Articles/590960/">User-space out-of-memory handling</a> (March 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/591990/">User-space out-of-memory handling</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/668126/">Toward more predictable and reliable out-of-memory handling</a> (December 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684945/">Improving the OOM killer</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/753162/">Three sessions on memory control groups</a> (May 1, 2018)</p> <p class="IndexEntry"> <a href="/Articles/761118/">Teaching the OOM killer about control groups</a> (July 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/785709/">Expedited memory reclaim from killed processes</a> (April 12, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787217/">Android memory management</a> (May 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/864184/">Hastening process cleanup with process_mrelease()</a> (July 26, 2021)</p> <p class="IndexEntry"> <a href="/Articles/894546/">Better tools for out-of-memory debugging</a> (May 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/896738/">Per-file OOM badness</a> (June 2, 2022)</p> <p class="IndexEntry"> <a href="/Articles/941614/">Out-of-memory victim selection with BPF</a> (August 17, 2023)</p> <p class="IndexSecondary"> <a name="Memory_management-Page_allocator"></a><a href="#Memory_management-Page_allocator">Page allocator</a></p> <p class="IndexEntry"> <a href="/Articles/320556/">Speeding up the page allocator</a> (February 25, 2009)</p> <p class="IndexEntry"> <a href="/Articles/627419/">The &quot;too small to fail&quot; memory-allocation rule</a> (December 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/635354/">Memory management when failure is not an option</a> (March 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/636017/">Allowing small allocations to fail</a> (March 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/636797/">Reservations for must-succeed memory allocations</a> (March 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/723317/">Revisiting &quot;too small to fail&quot;</a> (May 20, 2017)</p> <p class="IndexEntry"> <a href="/Articles/884448/">Remote per-CPU page list draining</a> (February 15, 2022)</p> <p class="IndexEntry"> <a href="/Articles/964793/">Toward a real &quot;too small to fail&quot; rule</a> (March 18, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Page_cache"></a><a href="#Memory_management-Page_cache">Page cache</a></p> <p class="IndexEntry"> <a href="/Articles/232757/">Large block size support</a> (May 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/591690/">Various page cache issues</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/712467/">The future of the page cache</a> (January 25, 2017)</p> <p class="IndexEntry"> <a href="/Articles/776801/">Defending against page-cache attacks</a> (January 17, 2019)</p> <p class="IndexEntry"> <a href="/Articles/778437/">Fixing page-cache side channels, second attempt</a> (February 5, 2019)</p> <p class="IndexEntry"> <a href="/Articles/806980/">Buffered I/O without page-cache thrashing</a> (December 12, 2019)</p> <p class="IndexEntry"> <a href="/Articles/895907/">Sharing memory for shared file extents</a> (May 24, 2022)</p> <p class="IndexEntry"> <a href="/Articles/998783/">The return of RWF_UNCACHED</a> (December 4, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Page_locking"></a><a href="#Memory_management-Page_locking">Page locking</a></p> <p class="IndexEntry"> <a href="/Articles/600502/">Locking and pinning</a> (June 4, 2014)</p> <p class="IndexEntry"> <a href="/Articles/650538/">Deferred memory locking</a> (July 8, 2015)</p> <p class="IndexSecondary"> <a name="Memory_management-Page_replacement_algorithms"></a><a href="#Memory_management-Page_replacement_algorithms">Page replacement algorithms</a></p> <p class="IndexEntry"> <a href="/Articles/97346/">Simple resident set size limits</a> (August 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/147879/">A CLOCK-Pro page replacement implementation</a> (August 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/177118/">A framework for page replacement policies</a> (March 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/226756/">Toward improved page replacement</a> (March 20, 2007)</p> <p class="IndexEntry"> <a href="/Articles/257541/">Page replacement for huge memory systems</a> (November 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/286472/">The state of the pageout scalability patches</a> (June 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/333742/">Being nicer to executable pages</a> (May 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/495543/">Better active/inactive list balancing</a> (May 2, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548108/">LSFMM: Coprocessors, exit times, and volatile ranges, and more</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548189/">LSFMM: Soft reclaim</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/787611/">Proactively reclaiming idle memory</a> (May 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/815342/">Working-set protection for anonymous pages</a> (March 19, 2020)</p> <p class="IndexEntry"> <a href="/Articles/851184/">The multi-generational LRU</a> (April 2, 2021)</p> <p class="IndexEntry"> <a href="/Articles/856931/">Multi-generational LRU: the next generation</a> (May 24, 2021)</p> <p class="IndexEntry"> <a href="/Articles/881675/">The kernel radar: folios, multi-generational LRU, and Rust</a> (January 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/894859/">Merging the multi-generational LRU</a> (May 12, 2022)</p> <p class="IndexEntry"> <a href="/Articles/919143/">Memory-management short topics: page-table sharing and working sets</a> (January 9, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931812/">Page aging with hardware counters</a> (May 18, 2023)</p> <p class="IndexSecondary"> <a name="Memory_management-Page-table_sharing"></a><a href="#Memory_management-Page-table_sharing">Page-table sharing</a></p> <p class="IndexEntry"> <a href="/Articles/895217/">Sharing page tables with mshare()</a> (May 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/901059/">Sharing page tables with msharefs</a> (July 15, 2022)</p> <p class="IndexEntry"> <a href="/Articles/919143/">Memory-management short topics: page-table sharing and working sets</a> (January 9, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974512/">Merging msharefs</a> (May 22, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Physical_memory_model"></a><a href="#Memory_management-Physical_memory_model">Physical memory model</a></p> <p class="IndexEntry"> <a href="/Articles/789304/">Memory: the flat, the discontiguous, and the sparse</a> (May 27, 2019)</p> <p class="IndexEntry"> <a href="/Articles/974517/">The path to deprecating SPARSEMEM</a> (May 22, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Power_management"></a><a href="#Memory_management-Power_management">Power management</a></p> <p class="IndexEntry"> <a href="/Articles/446493/">Memory power management</a> (June 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/479886/">Memory power management, take 2</a> (February 8, 2012)</p> <p class="IndexEntry"> <a href="/Articles/547439/">Memory power management, 2013 edition</a> (April 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/568891/">How much memory power management is useful?</a> (October 2, 2013)</p> <p class="IndexSecondary"> <a name="Memory_management-Readahead"></a><a href="#Memory_management-Readahead">Readahead</a></p> <p class="IndexEntry"> <a href="/Articles/155510/">Adaptive file readahead</a> (October 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/235164/">On-demand readahead</a> (May 21, 2007)</p> <p class="IndexEntry"> <a href="/Articles/372384/">Improving readahead</a> (February 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/888715/">Readahead: the documentation I wanted to read</a> (April 8, 2022)</p> <p class="IndexSecondary"> <a name="Memory_management-Scalability"></a><a href="#Memory_management-Scalability">Scalability</a></p> <p class="IndexEntry"> <a href="/Articles/114596/">Improving page fault scalability</a> (December 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/157151/">Another approach to page table scalability</a> (October 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/275808/">Toward better direct I/O scalability</a> (March 31, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291826/">The lockless page cache</a> (July 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/369511/">Speculating on page faults</a> (January 12, 2010)</p> <p class="IndexEntry"> <a href="/Articles/568076/">Split PMD locks</a> (September 25, 2013)</p> <p class="IndexEntry"> <a href="/Articles/636334/">Memory-management scalability</a> (March 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/711075/">Bulk memory allocation without a new allocator</a> (January 10, 2017)</p> <p class="IndexEntry"> <a href="/Articles/717767/">Fast memory allocation for networking</a> (March 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/730531/">Another attempt at speculative page-fault handling</a> (August 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/753171/">Toward better performance on large-memory systems</a> (May 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787473/">Improving fget() performance</a> (May 6, 2019)</p> <p class="IndexEntry"> <a href="/Articles/855226/">A pair of memory-allocation improvements in 5.13</a> (May 6, 2021)</p> <p class="IndexEntry"> <a href="/Articles/875587/">Some upcoming memory-management patches</a> (November 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/932298/">Improving page-fault scalability</a> (May 29, 2023)</p> <p class="IndexEntry"> <a href="/Articles/932396/">Mitigating vmap lock contention</a> (May 26, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974487/">The interaction between memory reclaim and RCU</a> (May 22, 2024)</p> <p class="IndexSecondary"> <a name="Memory_management-Shrinkers"></a><a href="#Memory_management-Shrinkers">Shrinkers</a></p> <p class="IndexEntry"> <a href="/Articles/516531/">KS2012: memcg/mm: Kernel-memory shrinking</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548092/">LSFMM: Shrinkers</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/550463/">Smarter shrinkers</a> (May 14, 2013)</p> <p class="IndexEntry"> <a href="/Articles/944199/">Shrinking shrinker locking overhead</a> (September 15, 2023)</p> <p class="IndexSecondary"> <a name="Memory_management-Slab_allocators"></a><a href="#Memory_management-Slab_allocators">Slab allocators</a></p> <p class="IndexEntry"> <a href="/Articles/229984/">The SLUB allocator</a> (April 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/263329/">Some snags for SLUB</a> (December 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/311502/">SLQB - and then there were four</a> (December 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/388296/">The SLEB allocator</a> (May 19, 2010)</p> <p class="IndexEntry"> <a href="/Articles/389400/">Slab reduction</a> (May 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/394211/">Slab allocator of the week: SLUB+Queuing</a> (June 29, 2010)</p> <p class="IndexEntry"> <a href="/Articles/439472/">DISCONTIGMEM, !NUMA, and SLUB</a> (April 20, 2011)</p> <p class="IndexEntry"> <a href="/Articles/629152/">Toward a more efficient slab allocator</a> (January 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/717650/">Slab reclaim</a> (March 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/753154/">The slab and protected-memory allocators</a> (May 1, 2018)</p> <p class="IndexEntry"> <a href="/Articles/784964/">Making slab-allocated objects movable</a> (April 8, 2019)</p> <p class="IndexEntry"> <a href="/Articles/918344/">SLOB nears the end of the road</a> (December 23, 2022)</p> <p class="IndexEntry"> <a href="/Articles/932201/">A slab allocator (removal) update</a> (May 22, 2023)</p> <p class="IndexEntry"> <a href="/Articles/938637/">Randomness for kmalloc()</a> (July 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/965837/">Hardening the kernel against heap-spraying attacks</a> (March 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974138/">What's next for the SLUB allocator</a> (May 20, 2024)</p> <p class="IndexEntry"> <a href="/Articles/986174/">Per-call-site slab caches for heap-spraying protection</a> (August 20, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1010667/">Slabs, sheaves, and barns</a> (February 24, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016001/">Slab allocator: sheaves and any-context allocations</a> (April 1, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-struct_page"></a><a href="#Memory_management-struct_page">struct page</a></p> <p class="IndexEntry"> <a href="/Articles/335768/">How many page flags do we really have?</a> (June 3, 2009)</p> <p class="IndexEntry"> <a href="/Articles/565097/">Cramming more into struct page</a> (August 28, 2013)</p> <p class="IndexEntry"> <a href="/Articles/752564/">Repurposing page-&gt;mapping</a> (April 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/753078/">Willy's memory-management to-do list</a> (April 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/786044/">Avoiding page reference-count overflows</a> (April 16, 2019)</p> <p class="IndexEntry"> <a href="/Articles/787338/">The search for available page flags</a> (May 4, 2019)</p> <p class="IndexEntry"> <a href="/Articles/839216/">Sidestepping kernel memory management with DMEMFS</a> (December 7, 2020)</p> <p class="IndexEntry"> <a href="/Articles/839737/">Reducing page structures for huge pages</a> (December 11, 2020)</p> <p class="IndexEntry"> <a href="/Articles/881039/">Struct slab comes to 5.17</a> (January 14, 2022)</p> <p class="IndexEntry"> <a href="/Articles/974223/">Facing down mapcount madness</a> (May 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974515/">Documenting page flags by committee</a> (May 22, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1000654/">Freezing out the page reference count</a> (December 6, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1013408/">Warming up to frozen pages for networking</a> (March 13, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Swapping"></a><a href="#Memory_management-Swapping">Swapping</a></p> <p class="IndexEntry"> <a href="/Articles/83588/">2.6 swapping behavior</a> (May 5, 2004)</p> <p class="IndexEntry"> <a href="/Articles/153353/">Swap prefetching</a> (September 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/242765/">Still waiting for swap prefetch</a> (July 25, 2007)</p> <p class="IndexEntry"> <a href="/Articles/334649/">Compcache: in-memory compressed swapping</a> (May 26, 2009)</p> <p class="IndexEntry"> <a href="/Articles/397574/">zcache: a compressed page cache</a> (July 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/439298/">Safely swapping over the net</a> (April 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/516538/">KS2012: memcg/mm: Moving zcache towards the mainline</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/537422/">The zswap compressed swap cache</a> (February 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548112/">LSFMM: Writeback latency issues</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548118/">LSFMM: Improving the swap subsystem</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591961/">Compressed swap</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/690079/">Reconsidering swapping</a> (June 7, 2016)</p> <p class="IndexEntry"> <a href="/Articles/704478/">Making swapping scalable</a> (October 26, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717707/">The next steps for swap</a> (March 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/758677/">The final step for huge-page swapping</a> (July 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/932077/">Toward a swap abstraction layer</a> (May 22, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974587/">A new swap abstraction layer for the kernel</a> (May 23, 2024)</p> <p class="IndexEntry"> <a href="/Articles/982887/">Large folios, swap, and FS-Cache</a> (July 24, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1016136/">Three ways to rework the swap subsystem</a> (April 7, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Tiered-memory_systems"></a><a href="#Memory_management-Tiered-memory_systems">Tiered-memory systems</a></p> <p class="IndexEntry"> <a href="/Articles/857133/">Top-tier memory management</a> (May 28, 2021)</p> <p class="IndexEntry"> <a href="/Articles/893024/">NUMA rebalancing on tiered-memory systems</a> (May 2, 2022)</p> <p class="IndexEntry"> <a href="/Articles/894598/">CXL 1: Management and tiering</a> (May 13, 2022)</p> <p class="IndexEntry"> <a href="/Articles/894849/">Proactive reclaim for tiered memory and more</a> (May 13, 2022)</p> <p class="IndexEntry"> <a href="/Articles/898766/">Two memory-tiering patch sets</a> (June 27, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931421/">The future of memory tiering</a> (May 12, 2023)</p> <p class="IndexEntry"> <a href="/Articles/944115/">Moving physical pages from user space</a> (September 18, 2023)</p> <p class="IndexEntry"> <a href="/Articles/948037/">Weighted interleaving for memory tiering</a> (October 25, 2023)</p> <p class="IndexEntry"> <a href="/Articles/969379/">Weighted memory interleaving and new system calls</a> (April 19, 2024)</p> <p class="IndexEntry"> <a href="/Articles/973964/">Extending the mempolicy interface for heterogeneous systems</a> (May 18, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974126/">Better support for locally-attached-memory tiering</a> (May 20, 2024)</p> <p class="IndexEntry"> <a href="/Articles/984839/">Memory-management: tiered memory, huge pages, and EROFS</a> (August 15, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1014220/">MM medley: huge page allocation, page promotion, KSM, and BPF</a> (March 20, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016519/">Improving hot-page detection and promotion</a> (April 9, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-Token-based_thrashing_control"></a><a href="#Memory_management-Token-based_thrashing_control">Token-based thrashing control</a></p> <p class="IndexEntry"> <a href="/Articles/96621/">Token-based thrashing control</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/111408/">Stopping unwanted OOM killer experiences</a> (November 17, 2004)</p> <p class="IndexSecondary"> <a name="Memory_management-Translation_lookaside_buffer"></a><a href="#Memory_management-Translation_lookaside_buffer">Translation lookaside buffer</a></p> <p class="IndexEntry"> <a href="/Articles/379748/">Huge pages part 5: A deeper look at TLBs and costs</a> (March 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/684934/">TLB flush optimization</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718204/">Supporting shared TLB contexts</a> (March 28, 2017)</p> <p class="IndexEntry"> <a href="/Articles/1016009/">Approaches to reducing TLB pressure</a> (April 2, 2025)</p> <p class="IndexSecondary"> <a name="Memory_management-User-space_layout"></a><a href="#Memory_management-User-space_layout">User-space layout</a></p> <p class="IndexEntry"> <a href="/Articles/91829/">Reorganizing the address space</a> (June 30, 2004)</p> <p class="IndexEntry"> <a href="/Articles/121845/">Address space randomization in 2.6</a> (February 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/294642/">Tangled up in threads</a> (August 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/738975/">KAISER: hiding the kernel from user space</a> (November 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/741878/">The current state of kernel page-table isolation</a> (December 20, 2017)</p> <p class="IndexSecondary"> <a name="Memory_management-User-space_memory_locking"></a><a href="#Memory_management-User-space_memory_locking">User-space memory locking</a></p> <p class="IndexEntry"> <a href="/Articles/79185/">Capabilities in 2.6</a> (April 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/84566/">Magic groups in 2.6</a> (May 11, 2004)</p> <p class="IndexEntry"> <a href="/Articles/96587/">Recent patches of interest</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/876288/">In search of an appropriate RLIMIT_MEMLOCK default</a> (November 19, 2021)</p> <p class="IndexSecondary"> <a name="Memory_management-Video_memory"></a><a href="#Memory_management-Video_memory">Video memory</a></p> <p class="IndexEntry"> <a href="/Articles/257417/">Memory management for graphics processors</a> (November 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/305919/">Large I/O memory in small address spaces</a> (November 4, 2008)</p> <p class="IndexSecondary"> <a name="Memory_management-Virtualization"></a><a href="#Memory_management-Virtualization">Virtualization</a></p> <p class="IndexEntry"> <a href="/Articles/198380/">Guest page hinting</a> (September 6, 2006)</p> <p class="IndexEntry"> <a href="/Articles/266320/">Memory management notifiers</a> (January 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/340080/">Transcendent memory</a> (July 8, 2009)</p> <p class="IndexEntry"> <a href="/Articles/382299/">Memory management for virtualization</a> (April 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/386090/">Cleancache and Frontswap</a> (May 4, 2010)</p> <p class="IndexEntry"> <a href="/Articles/419713/">Unmapped page cache control</a> (December 13, 2010)</p> <p class="IndexEntry"> <a href="/Articles/454795/">Transcendent memory in a nutshell</a> (August 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/550555/">User-space page fault handling</a> (May 14, 2013)</p> <p class="IndexEntry"> <a href="/Articles/615086/">Page faults in user space: MADV_USERFAULT, remap_anon_range(), and userfaultfd()</a> (October 7, 2014)</p> <p class="IndexEntry"> <a href="/Articles/835342/">Two address-space-isolation patches get closer</a> (October 27, 2020)</p> <p class="IndexEntry"> <a href="/Articles/931658/">Memory overcommit in containerized environments</a> (May 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931933/">Memory passthrough for virtual machines</a> (May 19, 2023)</p> <p class="IndexSecondary"> <a name="Memory_management-Writeback"></a><a href="#Memory_management-Writeback">Writeback</a></p> <p class="IndexEntry"> <a href="/Articles/326552/">Flushing out pdflush</a> (April 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/354851/">In defense of per-BDI writeback</a> (September 30, 2009)</p> <p class="IndexEntry"> <a href="/Articles/384093/">When writeback goes wrong</a> (April 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/396561/">Fixing writeback from direct reclaim</a> (July 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/405076/">Dynamic writeback throttling</a> (September 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/456904/">No-I/O dirty throttling</a> (August 31, 2011)</p> <p class="IndexEntry"> <a href="/Articles/516539/">KS2012: memcg/mm: Dirty/writeback LRU</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/572911/">The pernicious USB-stick stall problem</a> (November 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/648292/">Writeback and control groups</a> (June 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/682582/">Toward less-annoying background writeback</a> (April 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/685894/">Background writeback</a> (May 4, 2016)</p> <p class="IndexSecondary"> <a name="Memory_management-Writeout_throttling"></a><a href="#Memory_management-Writeout_throttling">Writeout throttling</a></p> <p class="IndexEntry"> <a href="/Articles/152635/">Predictive per-task write throttling</a> (September 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/245600/">Smarter write throttling</a> (August 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/261626/">Writeout throttling</a> (December 11, 2007)</p> <p class="IndexSecondary"> <a name="Memory_management-ZONE_DEVICE"></a><a href="#Memory_management-ZONE_DEVICE">ZONE_DEVICE</a></p> <p class="IndexEntry"> <a href="/Articles/717555/">ZONE_DEVICE and the future of struct page</a> (March 21, 2017)</p> <p class="IndexEntry"> <a href="/Articles/1016124/">The future of ZONE_DEVICE</a> (April 4, 2025)</p> <p class="IndexPrimary"> <a name="Memory_model"><a href="#Memory_model">Memory model</a></a></p> <p class="IndexEntry"> <a href="/Articles/718628/">A formal kernel memory-ordering model (part 1)</a> (April 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/720550/">A formal kernel memory-ordering model (part 2)</a> (April 20, 2017)</p> <p class="IndexEntry"> <a href="/Articles/967049/">A memory model for Rust code in the kernel</a> (April 3, 2024)</p> <p class="IndexEntry"> <a href="/Articles/970907/">Support for the TSO memory model on Arm CPUs</a> (April 26, 2024)</p> <p class="IndexPrimary"> <a name="Memory_protection_keys"><a href="#Memory_protection_keys">Memory protection keys</a></a></p> <p class="IndexEntry"> <a href="/Articles/643797/">Memory protection keys</a> (May 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/667156/">Memory protection keys v5</a> (December 9, 2015)</p> <p class="IndexEntry"> <a href="/Articles/689395/">System calls for memory protection keys</a> (June 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/695355/">Memory protection keys pushback</a> (July 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/826554/">Memory protection keys for the kernel</a> (July 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/883352/">Stray-write protection for persistent memory</a> (February 3, 2022)</p> <p class="IndexEntry"> <a href="/Articles/894531/">Seeking an API for protection keys supervisor</a> (May 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/1004029/">Page-table hardening with memory protection keys</a> (January 9, 2025)</p> <p class="IndexPrimary"> <a name="memremap"><a href="#memremap">memremap()</a></a></p> <p class="IndexEntry"> <a href="/Articles/653585/">ioremap() and memremap()</a> (August 5, 2015)</p> <p class="IndexPrimary"> <a name="Message_passing"><a href="#Message_passing">Message passing</a></a></p> <p class="IndexEntry"> <a href="/Articles/405346/">Fast interprocess messaging</a> (September 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/466304/">Fast interprocess communication revisited</a> (November 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/484203/">Speeding up D-Bus</a> (February 29, 2012)</p> <p class="IndexEntry"> <a href="/Articles/504970/">Missing the AF_BUS</a> (July 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/551969/">ALS: Linux interprocess communication and kdbus</a> (May 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/580194/">The unveiling of kdbus</a> (January 13, 2014)</p> <p class="IndexEntry"> <a href="/Articles/619068/">Kdbus meets linux-kernel</a> (November 4, 2014)</p> <p class="IndexEntry"> <a href="/Articles/624045/">Version 2 of the kdbus patch set</a> (December 3, 2014)</p> <p class="IndexEntry"> <a href="/Articles/697191/">Bus1: a new Linux interprocess communication proposal</a> (August 17, 2016)</p> <p class="IndexPrimary"> <a name="Messages"><a href="#Messages">Messages</a></a></p> <p class="IndexEntry"> <a href="/Articles/238948/">Getting the message from the kernel</a> (June 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/292650/">A kernel message catalog</a> (August 4, 2008)</p> <p class="IndexEntry"> <a href="/Articles/407379/">Organizing kernel messages</a> (September 29, 2010)</p> <p class="IndexEntry"> <a href="/Articles/464276/">KS2011: Structured error logging</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/492125/">Toward more reliable logging</a> (April 13, 2012)</p> <p class="IndexEntry"> <a href="/Articles/497218/">Various tweaks to printk()</a> (May 16, 2012)</p> <p class="IndexEntry"> <a href="/Articles/503430/">printk() problems</a> (June 26, 2012)</p> <p class="IndexEntry"> <a href="/Articles/657341/">Extended system call error reporting</a> (September 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/857148/">printk() indexing</a> (May 27, 2021)</p> <p class="IndexPrimary"> <a name="mmiotrace"><a href="#mmiotrace">mmiotrace</a></a></p> <p class="IndexEntry"> <a href="/Articles/270939/">Tracing memory-mapped I/O operations</a> (February 26, 2008)</p> <p class="IndexPrimary"> <a name="mmiowb"><a href="#mmiowb">mmiowb()</a></a></p> <p class="IndexEntry"> <a href="/Articles/103183/">I/O space write barriers</a> (September 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/198988/">Memory-mapped I/O barriers</a> (September 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/780710/">Memory-mapped I/O without mysterious macros</a> (February 26, 2019)</p> <p class="IndexPrimary"> <a name="MOD_INC_USE_COUNT"><a href="#MOD_INC_USE_COUNT">MOD_INC_USE_COUNT</a></a></p> <p class="IndexEntry"> <a href="/Articles/103160/">Goodbye, old code</a> (September 22, 2004)</p> <p class="IndexPrimary"> <a name="module_param"><a href="#module_param">module_param()</a></a></p> <p class="IndexEntry"> <a href="/Articles/85443/">Module parameters in sysfs</a> (May 18, 2004)</p> <p class="IndexPrimary"> <a name="Modules"><a href="#Modules">Modules</a></a></p> <p class="IndexEntry"> <a href="/Articles/68149/">Module unloading in a reference counted world</a> (January 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/80250/">Building external modules</a> (April 13, 2004)</p> <p class="IndexEntry"> <a href="/Articles/103160/">Goodbye, old code</a> (September 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107303/">MODULE_PARM deprecated</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/173882/">Some patches of interest</a> (February 28, 2006)</p> <p class="IndexEntry"> <a href="/Articles/310434/">Tracking down a &quot;runaway loop&quot;</a> (December 10, 2008)</p> <p class="IndexEntry"> <a href="/Articles/519010/">Loading modules from file descriptors</a> (October 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/630762/">A crypto module loading vulnerability</a> (January 28, 2015)</p> <p class="IndexEntry"> <a href="/Articles/707520/">The end of modversions?</a> (November 30, 2016)</p> <p class="IndexEntry"> <a href="/Articles/740455/">Restricting automatic kernel-module loading</a> (December 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/783578/">Building header files into the kernel</a> (March 21, 2019)</p> <p class="IndexEntry"> <a href="/Articles/872209/">The intersection of modules, GKI, and rocket science</a> (October 11, 2021)</p> <p class="IndexSecondary"> <a name="Modules-Debugging"></a><a href="#Modules-Debugging">Debugging</a></p> <p class="IndexEntry"> <a href="/Articles/90913/">Debugging kernel modules</a> (June 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/274755/">Kernel markers and binary-only modules</a> (March 24, 2008)</p> <p class="IndexSecondary"> <a name="Modules-ELF_modules"></a><a href="#Modules-ELF_modules">ELF modules</a></p> <p class="IndexEntry"> <a href="/Articles/747551/">BPF comes to firewalls</a> (February 19, 2018)</p> <p class="IndexEntry"> <a href="/Articles/749108/">Designing ELF modules</a> (March 13, 2018)</p> <p class="IndexEntry"> <a href="/Articles/755919/">Bpfilter (and user-mode blobs) for 4.18</a> (May 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/822744/">Rethinking bpfilter and user-mode helpers</a> (June 12, 2020)</p> <p class="IndexSecondary"> <a name="Modules-Exported_symbols"></a><a href="#Modules-Exported_symbols">Exported symbols</a></p> <p class="IndexEntry"> <a href="/Articles/118835/">The abrupt un-exporting of symbols</a> (January 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/125621/">Removing exported symbols in a stable kernel</a> (March 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/171838/">EXPORT_SYMBOL_GPL_FUTURE()</a> (February 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/249246/">Exported symbols and the internal API</a> (September 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/260041/">Tightening symbol exports</a> (November 27, 2007)</p> <p class="IndexEntry"> <a href="/Articles/603131/">Questioning EXPORT_SYMBOL_GPL()</a> (June 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/674303/">Improving EXPORT_SYMBOL()</a> (February 3, 2016)</p> <p class="IndexEntry"> <a href="/Articles/760045/">Kernel symbol namespacing</a> (July 18, 2018)</p> <p class="IndexEntry"> <a href="/Articles/813350/">Unexporting kallsyms_lookup_name()</a> (February 28, 2020)</p> <p class="IndexEntry"> <a href="/Articles/817988/">How to unbreak LTTng</a> (April 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/818388/">Controlling realtime priorities in kernel threads</a> (April 23, 2020)</p> <p class="IndexEntry"> <a href="/Articles/827596/">Netgpu and the hazards of proprietary kernel modules</a> (July 31, 2020)</p> <p class="IndexEntry"> <a href="/Articles/856312/">Exported-symbol changes in 5.13</a> (May 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/860262/">A stable bug fix bites proprietary modules</a> (June 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/873066/">A disagreement over get_mm_exe_file()</a> (October 18, 2021)</p> <p class="IndexEntry"> <a href="/Articles/939842/">Making life (even) harder for proprietary modules</a> (August 3, 2023)</p> <p class="IndexEntry"> <a href="/Articles/986892/">A new version of modversions</a> (August 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/998221/">Two approaches to tightening restrictions on loadable modules</a> (November 15, 2024)</p> <p class="IndexSecondary"> <a name="Modules-Licensing"></a><a href="#Modules-Licensing">Licensing</a></p> <p class="IndexEntry"> <a href="/Articles/71710/">invalidate_page_range() for non-GPL modules</a> (February 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/72894/">invalidate_mmap_range() again</a> (February 25, 2004)</p> <p class="IndexEntry"> <a href="/Articles/82305/">Being honest with MODULE_LICENSE</a> (April 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/104393/">Driver core functions: GPL only</a> (September 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/154602/">On the value of EXPORT_SYMBOL_GPL</a> (October 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/927569/">The trouble with MODULE_LICENSE() in non-modules</a> (March 30, 2023)</p> <p class="IndexSecondary"> <a name="Modules-Parameters_in_sysfs"></a><a href="#Modules-Parameters_in_sysfs">Parameters in sysfs</a></p> <p class="IndexEntry"> <a href="/Articles/85443/">Module parameters in sysfs</a> (May 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/96587/">Recent patches of interest</a> (August 4, 2004)</p> <p class="IndexSecondary"> <a name="Modules-Security_modules"></a><a href="#Modules-Security_modules">Security modules</a></p> <p class="IndexEntry"> <a href="/Articles/110432/">Stackable security modules</a> (November 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/118785/">Merging the realtime security module</a> (January 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/154277/">Complete coverage in Linux security modules</a> (October 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/191737/">Kernel Summit 2006: Security</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/244531/">Smack for simplified access control</a> (August 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/273822/">The return of authoritative hooks</a> (March 18, 2008)</p> <p class="IndexEntry"> <a href="/Articles/277833/">TOMOYO Linux and pathname-based security</a> (April 14, 2008)</p> <p class="IndexEntry"> <a href="/Articles/315974/">LCA: The security panel</a> (January 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/526983/">The return of loadable security modules?</a> (November 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/674949/">Writing your own security module</a> (February 10, 2016)</p> <p class="IndexEntry"> <a href="/Articles/682302/">The LoadPin security module</a> (April 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686789/">Safename: restricting &quot;dangerous&quot; file names</a> (May 11, 2016)</p> <p class="IndexEntry"> <a href="/Articles/929746/">Unprivileged BPF and authoritative security hooks</a> (April 27, 2023)</p> <p class="IndexSecondary"> <a name="Modules-Signed"></a><a href="#Modules-Signed">Signed</a></p> <p class="IndexEntry"> <a href="/Articles/92617/">Cryptographic signatures on kernel modules</a> (July 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/94572/">Kernel Summit: Security</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/470906/">Loading signed kernel modules</a> (December 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/515007/">KS2012: Module signing</a> (September 6, 2012)</p> <p class="IndexEntry"> <a href="/Articles/525592/">The module signing endgame</a> (November 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/588799/">Tracing unsigned modules</a> (March 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/853489/">Toward signed BPF programs</a> (April 22, 2021)</p> <p class="IndexPrimary"> <a name="Multipath_IO"><a href="#Multipath_IO">Multipath I/O</a></a></p> <p class="IndexEntry"> <a href="/Articles/94569/">Kernel Summit: Multipath I/O</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/124703/">Multipath support in the device mapper</a> (February 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/157208/">Some block layer patches</a> (October 26, 2005)</p> <p class="IndexPrimary"> <a name="__must_check"><a href="#__must_check">__must_check</a></a></p> <p class="IndexEntry"> <a href="/Articles/204682/">Return values, warnings, and error situations</a> (October 17, 2006)</p> <p class="IndexPrimary"> <a name="Named_streams"><a href="#Named_streams">Named streams</a></a></p> <p class="IndexEntry"> <a href="/Articles/100148/">More notes on reiser4</a> (September 1, 2004)</p> <p class="IndexPrimary"> <a name="Namespaces"><a href="#Namespaces">Namespaces</a></a></p> <p class="IndexEntry"> <a href="/Articles/135321/">A system call for unsharing</a> (May 10, 2005)</p> <p class="IndexEntry"> <a href="/Articles/295587/">Sysfs and namespaces</a> (August 26, 2008)</p> <p class="IndexEntry"> <a href="/Articles/377109/">Divorcing namespaces from processes</a> (March 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/407495/">Namespace file descriptors</a> (September 29, 2010)</p> <p class="IndexEntry"> <a href="/Articles/531114/">Namespaces in operation, part 1: namespaces overview</a> (January 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/531381/">Namespaces in operation, part 2: the namespaces API</a> (January 8, 2013)</p> <p class="IndexEntry"> <a href="/Articles/580893/">Namespaces in operation, part 7: Network namespaces</a> (January 22, 2014)</p> <p class="IndexEntry"> <a href="/Articles/621006/">Control group namespaces</a> (November 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/699819/">Audit, namespaces, and containers</a> (September 8, 2016)</p> <p class="IndexEntry"> <a href="/Articles/766089/">Time namespaces</a> (September 21, 2018)</p> <p class="IndexEntry"> <a href="/Articles/877308/">A filesystem for namespaces</a> (December 3, 2021)</p> <p class="IndexSecondary"> <a name="Namespaces-Device_namespaces"></a><a href="#Namespaces-Device_namespaces">Device namespaces</a></p> <p class="IndexEntry"> <a href="/Articles/564854/">Device namespaces</a> (August 28, 2013)</p> <p class="IndexSecondary"> <a name="Namespaces-Mount_namespaces"></a><a href="#Namespaces-Mount_namespaces">Mount namespaces</a></p> <p class="IndexEntry"> <a href="/Articles/133848/">FUSE and private namespaces</a> (April 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/159077/">Shared subtrees</a> (November 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/689856/">Mount namespaces and shared subtrees</a> (June 8, 2016)</p> <p class="IndexEntry"> <a href="/Articles/690679/">Mount namespaces, mount propagation, and unbindable mounts</a> (June 15, 2016)</p> <p class="IndexSecondary"> <a name="Namespaces-PID_namespaces"></a><a href="#Namespaces-PID_namespaces">PID namespaces</a></p> <p class="IndexEntry"> <a href="/Articles/531419/">Namespaces in operation, part 3: PID namespaces</a> (January 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/532748/">Namespaces in operation, part 4: more on PID namespaces</a> (January 23, 2013)</p> <p class="IndexSecondary"> <a name="Namespaces-Syslog_namespaces"></a><a href="#Namespaces-Syslog_namespaces">Syslog namespaces</a></p> <p class="IndexEntry"> <a href="/Articles/527342/">Stepping closer to practical containers: &quot;syslog&quot; namespaces</a> (December 5, 2012)</p> <p class="IndexSecondary"> <a name="Namespaces-User_namespaces"></a><a href="#Namespaces-User_namespaces">User namespaces</a></p> <p class="IndexEntry"> <a href="/Articles/491310/">A new approach to user namespaces</a> (April 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/528078/">User namespaces progress</a> (December 13, 2012)</p> <p class="IndexEntry"> <a href="/Articles/532593/">Namespaces in operation, part 5: User namespaces</a> (February 27, 2013)</p> <p class="IndexEntry"> <a href="/Articles/540087/">Namespaces in operation, part 6: more on user namespaces</a> (March 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/543273/">Anatomy of a user namespaces vulnerability</a> (March 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/570338/">Mount point removal and renaming</a> (October 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/621612/">The trouble with dropping groups</a> (November 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/626665/">User namespaces and setgroups()</a> (December 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/652468/">Filesystem mounts in user namespaces</a> (July 29, 2015)</p> <p class="IndexEntry"> <a href="/Articles/673597/">Controlling access to user namespaces</a> (January 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/697278/">Filesystem mounts in user namespaces — one year later</a> (August 17, 2016)</p> <p class="IndexEntry"> <a href="/Articles/726816/">Namespaced file capabilities</a> (June 30, 2017)</p> <p class="IndexEntry"> <a href="/Articles/755593/">Unprivileged filesystem mounts, 2018 edition</a> (May 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/812504/">Filesystem UID mapping for user namespaces: yet another shiftfs</a> (February 17, 2020)</p> <p class="IndexEntry"> <a href="/Articles/837566/">ID mapping for mounted filesystems</a> (November 19, 2020)</p> <p class="IndexEntry"> <a href="/Articles/842842/">Resource limits in user namespaces</a> (January 18, 2021)</p> <p class="IndexEntry"> <a href="/Articles/855943/">Sticky groups in the shadows</a> (May 14, 2021)</p> <p class="IndexEntry"> <a href="/Articles/896255/">ID-mapped mounts</a> (May 30, 2022)</p> <p class="IndexEntry"> <a href="/Articles/903580/">A security-module hook for user-namespace creation</a> (August 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/978846/">A capability set for user namespaces</a> (June 20, 2024)</p> <p class="IndexSecondary"> <a name="Namespaces-UTS_namespaces"></a><a href="#Namespaces-UTS_namespaces">UTS namespaces</a></p> <p class="IndexEntry"> <a href="/Articles/531381/">Namespaces in operation, part 2: the namespaces API</a> (January 8, 2013)</p> <p class="IndexPrimary"> <a name="NAPI"><a href="#NAPI">NAPI</a></a></p> <p class="IndexEntry"> <a href="/Articles/30107/">Driver porting: Network drivers</a> (April 28, 2003)</p> <p class="IndexEntry"> <a href="/Articles/139884/">NAPI performance - a weighty matter</a> (June 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/214457/">Reworking NAPI</a> (December 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/244640/">Newer, newer NAPI</a> (August 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/687617/">Threadable NAPI polling, softirqs, and proper fixes</a> (May 18, 2016)</p> <p class="IndexEntry"> <a href="/Articles/833840/">NAPI polling in kernel threads</a> (October 9, 2020)</p> <p class="IndexPrimary"> <a name="NDISwrapper"><a href="#NDISwrapper">NDISwrapper</a></a></p> <p class="IndexEntry"> <a href="/Articles/150580/">4K stacks for everyone?</a> (September 7, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160138/">4K stacks - again</a> (November 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/205644/">GPL-only symbols and ndiswrapper</a> (October 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/271762/">NDISwrapper dodges another bullet</a> (March 5, 2008)</p> <p class="IndexPrimary"> <a name="Negative_groups"><a href="#Negative_groups">Negative groups</a></a></p> <p class="IndexEntry"> <a href="/Articles/621612/">The trouble with dropping groups</a> (November 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/626665/">User namespaces and setgroups()</a> (December 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/855943/">Sticky groups in the shadows</a> (May 14, 2021)</p> <p class="IndexPrimary"> <a name="Netfilter"><a href="#Netfilter">Netfilter</a></a></p> <p class="IndexEntry"> <a href="/Articles/103160/">Goodbye, old code</a> (September 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/103858/">Proceedings of Netfilter Developer Workshop 2004</a> (September 26, 2004)</p> <p class="IndexPrimary"> <a name="NETIF_F_LLTX"><a href="#NETIF_F_LLTX">NETIF_F_LLTX</a></a></p> <p class="IndexEntry"> <a href="/Articles/101215/">NETIF_F_LLTX</a> (September 8, 2004)</p> <p class="IndexEntry"> <a href="/Articles/121566/">NETIF_F_LLTX and race conditions</a> (February 1, 2005)</p> <p class="IndexPrimary"> <a name="Network"><a href="#Network">Network</a></a></p> <p class="IndexSecondary"> <a name="Network-Virtual_private_networks"></a><a href="#Network-Virtual_private_networks">Virtual private networks</a></p> <p class="IndexEntry"> <a href="/Articles/765965/">Progress on Zinc (thus WireGuard)</a> (September 26, 2018)</p> <p class="IndexPrimary"> <a name="Network_filesystems"><a href="#Network_filesystems">Network filesystems</a></a></p> <p class="IndexEntry"> <a href="/Articles/267896/">CRFS and POHMELFS</a> (February 6, 2008)</p> <p class="IndexEntry"> <a href="/Articles/313437/">New NFS to bring parallel storage to the masses</a> (January 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/548936/">LSFMM: NFS status</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/894589/">The netfslib helper library</a> (May 16, 2022)</p> <p class="IndexEntry"> <a href="/Articles/895444/">Snapshots, inodes, and filesystem identifiers</a> (May 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/895556/">Unique identifiers for NFS</a> (May 18, 2022)</p> <p class="IndexSecondary"> <a name="Network_filesystems-Caching_layer"></a><a href="#Network_filesystems-Caching_layer">Caching layer</a></p> <p class="IndexEntry"> <a href="/Articles/100321/">A general caching filesystem</a> (September 1, 2004)</p> <p class="IndexEntry"> <a href="/Articles/312708/">Justifying FS-Cache</a> (December 24, 2008)</p> <p class="IndexPrimary"> <a name="Networking"><a href="#Networking">Networking</a></a></p> <p class="IndexEntry"> <a href="/Articles/73897/">The end of init_etherdev() and friends</a> (March 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/75944/">Netpoll is merged</a> (March 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/81560/">TCP vulnerability: cancel red alert</a> (April 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/89597/">On the alignment of IP packets</a> (June 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/103203/">Configuration of pluggable network adaptors</a> (September 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/117736/">alloc_skb_from_cache()</a> (January 4, 2005)</p> <p class="IndexEntry"> <a href="/Articles/129703/">Network block devices and OOM safety</a> (March 30, 2005)</p> <p class="IndexEntry"> <a href="/Articles/146689/">Toward more robust network-based block I/O</a> (August 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/148697/">Linux and TCP offload engines</a> (August 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/182874/">On the safety of Linux random numbers</a> (May 9, 2006)</p> <p class="IndexEntry"> <a href="/Articles/192410/">OLS: A proposal for a new networking API</a> (July 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/195416/">The return of network block device deadlock prevention</a> (August 14, 2006)</p> <p class="IndexEntry"> <a href="/Articles/219794/">Network namespaces</a> (January 30, 2007)</p> <p class="IndexEntry"> <a href="/Articles/243949/">Large receive offload</a> (August 1, 2007)</p> <p class="IndexEntry"> <a href="/Articles/246337/">Network transmit batching</a> (August 22, 2007)</p> <p class="IndexEntry"> <a href="/Articles/289137/">Multiqueue networking</a> (July 8, 2008)</p> <p class="IndexEntry"> <a href="/Articles/356899/">Char devices for network interfaces</a> (October 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/358910/">JLS2009: Generic receive offload</a> (October 27, 2009)</p> <p class="IndexEntry"> <a href="/Articles/362339/">Receive packet steering</a> (November 17, 2009)</p> <p class="IndexEntry"> <a href="/Articles/382428/">Receive flow steering</a> (April 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/420799/">ICMP sockets</a> (December 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/452866/">SKB fragment lifetime tracking</a> (July 25, 2011)</p> <p class="IndexEntry"> <a href="/Articles/454390/">Network transmit queue limits</a> (August 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/454427/">TCP connection hijacking and parasites - as a good thing</a> (August 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/469775/">Routing Open vSwitch into the mainline</a> (November 30, 2011)</p> <p class="IndexEntry"> <a href="/Articles/495304/">TCP connection repair</a> (May 1, 2012)</p> <p class="IndexEntry"> <a href="/Articles/508865/">TCP Fast Open: expediting web services</a> (August 1, 2012)</p> <p class="IndexEntry"> <a href="/Articles/511254/">TCP friends</a> (August 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/551284/">Low-latency Ethernet device polling</a> (May 21, 2013)</p> <p class="IndexEntry"> <a href="/Articles/558305/">Ethernet polling and patch-pulling latency</a> (July 10, 2013)</p> <p class="IndexEntry"> <a href="/Articles/564978/">TSO sizing and the FQ scheduler</a> (August 28, 2013)</p> <p class="IndexEntry"> <a href="/Articles/597529/">Networking on tiny machines</a> (May 7, 2014)</p> <p class="IndexEntry"> <a href="/Articles/614348/">Foo over UDP</a> (October 1, 2014)</p> <p class="IndexEntry"> <a href="/Articles/644906/">Kernel support for SYN packet fingerprinting</a> (May 20, 2015)</p> <p class="IndexEntry"> <a href="/Articles/657999/">The kernel connection multiplexer</a> (September 21, 2015)</p> <p class="IndexEntry"> <a href="/Articles/666220/">SOCK_DESTROY: an old Android patch aims upstream</a> (December 2, 2015)</p> <p class="IndexEntry"> <a href="/Articles/676806/">A BoF on kernel network performance</a> (February 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/691887/">Transport-level protocols in user space</a> (June 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/696856/">The NET policy mechanism</a> (August 10, 2016)</p> <p class="IndexEntry"> <a href="/Articles/720313/">The rise of Linux-based networking hardware</a> (April 19, 2017)</p> <p class="IndexEntry"> <a href="/Articles/748879/">Time-based packet transmission</a> (March 8, 2018)</p> <p class="IndexEntry"> <a href="/Articles/758353/">Let them run CAKE</a> (June 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/764200/">Writing network flow dissectors in BPF</a> (September 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/828056/">End-to-end network programmability</a> (August 10, 2020)</p> <p class="IndexEntry"> <a href="/Articles/885729/">Better visibility into packet-dropping decisions</a> (February 25, 2022)</p> <p class="IndexEntry"> <a href="/Articles/977310/">P4TC hits a brick wall</a> (June 10, 2024)</p> <p class="IndexEntry"> <a href="/Articles/979549/">Direct-to-device networking</a> (June 27, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1013408/">Warming up to frozen pages for networking</a> (March 13, 2025)</p> <p class="IndexSecondary"> <a name="Networking-Bufferbloat"></a><a href="#Networking-Bufferbloat">Bufferbloat</a></p> <p class="IndexEntry"> <a href="/Articles/458625/">LPC: An update on bufferbloat</a> (September 13, 2011)</p> <p class="IndexEntry"> <a href="/Articles/496509/">The CoDel queue management algorithm</a> (May 9, 2012)</p> <p class="IndexEntry"> <a href="/Articles/507065/">TCP small queues</a> (July 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/616241/">A damp discussion of network queuing</a> (October 15, 2014)</p> <p class="IndexSecondary"> <a name="Networking-Channels"></a><a href="#Networking-Channels">Channels</a></p> <p class="IndexEntry"> <a href="/Articles/169961/">Van Jacobson's network channels</a> (January 31, 2006)</p> <p class="IndexEntry"> <a href="/Articles/182060/">Implementing network channels</a> (May 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/192767/">Reconsidering network channels</a> (July 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/194443/">The Grand Unified Flow Cache</a> (August 7, 2006)</p> <p class="IndexEntry"> <a href="/Articles/206014/">Patch summary: regulatory domains, network channels, and virtualization</a> (October 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/260880/">The return of network channels</a> (December 4, 2007)</p> <p class="IndexSecondary"> <a name="Networking-Congestion_control"></a><a href="#Networking-Congestion_control">Congestion control</a></p> <p class="IndexEntry"> <a href="/Articles/128681/">Pluggable congestion avoidance modules</a> (March 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/422477/">The CHOKe packet scheduler</a> (January 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/427104/">Increasing the TCP initial congestion window</a> (February 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/458610/">LPC: Making the net go faster</a> (September 13, 2011)</p> <p class="IndexEntry"> <a href="/Articles/645115/">Delay-gradient congestion control</a> (May 20, 2015)</p> <p class="IndexEntry"> <a href="/Articles/701165/">BBR congestion control</a> (September 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/783673/">The congestion-notification conflict</a> (March 22, 2019)</p> <p class="IndexSecondary"> <a name="Networking-D-Bus"></a><a href="#Networking-D-Bus">D-Bus</a></p> <p class="IndexEntry"> <a href="/Articles/405346/">Fast interprocess messaging</a> (September 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/484203/">Speeding up D-Bus</a> (February 29, 2012)</p> <p class="IndexEntry"> <a href="/Articles/504970/">Missing the AF_BUS</a> (July 3, 2012)</p> <p class="IndexSecondary"> <a name="Networking-eXpress_Data_Path_XDP"></a><a href="#Networking-eXpress_Data_Path_XDP">eXpress Data Path (XDP)</a></p> <p class="IndexEntry"> <a href="/Articles/682538/">Early packet drop — and more — with BPF</a> (April 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/708087/">Debating the value of XDP</a> (December 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/750845/">Accelerating networking with AF_XDP</a> (April 9, 2018)</p> <p class="IndexEntry"> <a href="/Articles/830154/">Lua in the kernel?</a> (September 9, 2020)</p> <p class="IndexSecondary"> <a name="Networking-hard_start_xmit_locking"></a><a href="#Networking-hard_start_xmit_locking">hard_start_xmit() locking</a></p> <p class="IndexEntry"> <a href="/Articles/101215/">NETIF_F_LLTX</a> (September 8, 2004)</p> <p class="IndexEntry"> <a href="/Articles/121566/">NETIF_F_LLTX and race conditions</a> (February 1, 2005)</p> <p class="IndexSecondary"> <a name="Networking-IPv6"></a><a href="#Networking-IPv6">IPv6</a></p> <p class="IndexEntry"> <a href="/Articles/424696/">LCA: IP address exhaustion and the end of the open net</a> (January 26, 2011)</p> <p class="IndexEntry"> <a href="/Articles/452293/">IPv6 NAT</a> (July 20, 2011)</p> <p class="IndexEntry"> <a href="/Articles/657012/">Identifier locator addressing</a> (September 10, 2015)</p> <p class="IndexEntry"> <a href="/Articles/722804/">IPv6 segment routing</a> (May 17, 2017)</p> <p class="IndexEntry"> <a href="/Articles/808896/">The trouble with IPv6 extension headers</a> (January 7, 2020)</p> <p class="IndexEntry"> <a href="/Articles/884104/">Going big with TCP packets</a> (February 14, 2022)</p> <p class="IndexSecondary"> <a name="Networking-NAPI"></a><a href="#Networking-NAPI">NAPI</a></p> <p class="IndexEntry"> <a href="/Articles/139884/">NAPI performance - a weighty matter</a> (June 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/214457/">Reworking NAPI</a> (December 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/244640/">Newer, newer NAPI</a> (August 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/833840/">NAPI polling in kernel threads</a> (October 9, 2020)</p> <p class="IndexEntry"> <a href="/Articles/1008399/">Smarter IRQ suspension in the networking stack</a> (February 11, 2025)</p> <p class="IndexSecondary"> <a name="Networking-Netlink"></a><a href="#Networking-Netlink">Netlink</a></p> <p class="IndexEntry"> <a href="/Articles/131802/">Extending netlink</a> (April 12, 2005)</p> <p class="IndexSecondary"> <a name="Networking-Networking_summits"></a><a href="#Networking-Networking_summits">Networking summits</a></p> <p class="IndexEntry"> <a href="/Articles/94565/">Kernel Summit: Network summit summary</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/144272/">Kernel Summit 2005: Report from the networking summit</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/413036/">KS2010: Minisummit reports</a> (November 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/609571/">A report from the networking miniconference</a> (August 27, 2014)</p> <p class="IndexEntry"> <a href="/Articles/674943/">Netconf discussions, part 1</a> (February 10, 2016)</p> <p class="IndexSecondary"> <a name="Networking-Nonlinear_packets_v._large_allocations"></a><a href="#Networking-Nonlinear_packets_v._large_allocations">Nonlinear packets v. large allocations</a></p> <p class="IndexEntry"> <a href="/Articles/101230/">Kswapd and high-order allocations</a> (September 8, 2004)</p> <p class="IndexSecondary"> <a name="Networking-Packet_filtering"></a><a href="#Networking-Packet_filtering">Packet filtering</a></p> <p class="IndexEntry"> <a href="/Articles/324989/">Nftables: a new packet filtering engine</a> (March 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/437981/">A JIT for packet filters</a> (April 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/531752/">Xtables2 vs. nftables</a> (January 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/564095/">The return of nftables</a> (August 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/698073/">Network filtering for control groups</a> (August 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/747551/">BPF comes to firewalls</a> (February 19, 2018)</p> <p class="IndexEntry"> <a href="/Articles/755919/">Bpfilter (and user-mode blobs) for 4.18</a> (May 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/809333/">Accelerating netfilter with hardware offload, part 1</a> (January 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/810663/">Accelerating netfilter with hardware offload, part 2</a> (January 31, 2020)</p> <p class="IndexEntry"> <a href="/Articles/822744/">Rethinking bpfilter and user-mode helpers</a> (June 12, 2020)</p> <p class="IndexEntry"> <a href="/Articles/867185/">Nftables reaches 1.0</a> (August 27, 2021)</p> <p class="IndexSecondary"> <a name="Networking-Performance"></a><a href="#Networking-Performance">Performance</a></p> <p class="IndexEntry"> <a href="/Articles/615238/">Bulk network packet transmission</a> (October 8, 2014)</p> <p class="IndexEntry"> <a href="/Articles/629155/">Improving Linux networking performance</a> (January 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/675056/">Measuring packet classifier performance</a> (February 10, 2016)</p> <p class="IndexEntry"> <a href="/Articles/684616/">Bulk memory-allocation APIs</a> (April 23, 2016)</p> <p class="IndexEntry"> <a href="/Articles/726917/">Zero-copy networking</a> (July 3, 2017)</p> <p class="IndexEntry"> <a href="/Articles/752188/">Zero-copy TCP receive</a> (April 19, 2018)</p> <p class="IndexEntry"> <a href="/Articles/754681/">A reworked TCP zero-copy receive API</a> (May 18, 2018)</p> <p class="IndexEntry"> <a href="/Articles/763056/">Batch processing of network packets</a> (August 21, 2018)</p> <p class="IndexEntry"> <a href="/Articles/787754/">Memory management for 400Gb/s interfaces</a> (May 8, 2019)</p> <p class="IndexEntry"> <a href="/Articles/879724/">Zero-copy network transmission with io_uring</a> (December 30, 2021)</p> <p class="IndexEntry"> <a href="/Articles/949960/">The BPF-programmable network device</a> (November 6, 2023)</p> <p class="IndexSecondary"> <a name="Networking-Protocols"></a><a href="#Networking-Protocols">Protocols</a></p> <p class="IndexEntry"> <a href="/Articles/149756/">Linux gets DCCP</a> (August 30, 2005)</p> <p class="IndexEntry"> <a href="/Articles/253425/">PF_CAN</a> (October 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/422649/">How not to get a protocol implementation merged</a> (January 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/426947/">Mesh networking with batman-adv</a> (February 8, 2011)</p> <p class="IndexEntry"> <a href="/Articles/544399/">Multipath TCP: an overview</a> (March 26, 2013)</p> <p class="IndexEntry"> <a href="/Articles/666509/">TLS in the kernel</a> (December 2, 2015)</p> <p class="IndexEntry"> <a href="/Articles/667059/">Checksum offloads and protocol ossification</a> (December 8, 2015)</p> <p class="IndexEntry"> <a href="/Articles/723070/">The trouble with SMC-R</a> (May 18, 2017)</p> <p class="IndexEntry"> <a href="/Articles/745590/">QUIC as a solution to protocol ossification</a> (January 29, 2018)</p> <p class="IndexEntry"> <a href="/Articles/800501/">Upstreaming multipath TCP</a> (September 26, 2019)</p> <p class="IndexEntry"> <a href="/Articles/892216/">Extending in-kernel TLS support</a> (April 25, 2022)</p> <p class="IndexEntry"> <a href="/Articles/896746/">Adding an in-kernel TLS handshake</a> (June 1, 2022)</p> <p class="IndexEntry"> <a href="/Articles/914030/">Moving past TCP in the data center, part 2</a> (November 9, 2022)</p> <p class="IndexEntry"> <a href="/Articles/1003059/">The Homa network protocol</a> (December 30, 2024)</p> <p class="IndexSecondary"> <a name="Networking-Security"></a><a href="#Networking-Security">Security</a></p> <p class="IndexEntry"> <a href="/Articles/577164/">A proposal for &quot;silent&quot; port knocking</a> (December 18, 2013)</p> <p class="IndexEntry"> <a href="/Articles/791409/">The TCP SACK panic</a> (June 19, 2019)</p> <p class="IndexEntry"> <a href="/Articles/910435/">Fingerprinting systems with TCP source-port selection</a> (October 6, 2022)</p> <p class="IndexSecondary"> <a name="Networking-SO_REUSEPORT"></a><a href="#Networking-SO_REUSEPORT">SO_REUSEPORT</a></p> <p class="IndexEntry"> <a href="/Articles/542629/">The SO_REUSEPORT socket option</a> (March 13, 2013)</p> <p class="IndexEntry"> <a href="/Articles/853637/">Avoiding unintended connection failures with SO_REUSEPORT</a> (April 23, 2021)</p> <p class="IndexSecondary"> <a name="Networking-Virtual_private_networks"></a><a href="#Networking-Virtual_private_networks">Virtual private networks</a></p> <p class="IndexEntry"> <a href="/Articles/748582/">Virtual private networks with WireGuard</a> (March 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/761939/">WireGuarding the mainline</a> (August 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/783973/">Whither WireGuard?</a> (March 25, 2019)</p> <p class="IndexEntry"> <a href="/Articles/802376/">WireGuard and the crypto API</a> (October 16, 2019)</p> <p class="IndexSecondary"> <a name="Networking-Window_scaling"></a><a href="#Networking-Window_scaling">Window scaling</a></p> <p class="IndexEntry"> <a href="/Articles/92727/">TCP window scaling and broken routers</a> (July 7, 2004)</p> <p class="IndexSecondary"> <a name="Networking-Wireless"></a><a href="#Networking-Wireless">Wireless</a></p> <p class="IndexEntry"> <a href="/Articles/88666/">Toward a generic wireless access point stack</a> (June 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/90894/">Reworking the wireless extensions</a> (June 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/162890/">bcm43xx and the 802.11 stack</a> (December 6, 2005)</p> <p class="IndexEntry"> <a href="/Articles/167270/">Linux and wireless networking</a> (January 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/179305/">The 2006 Wireless Networking Summit</a> (April 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191652/">Kernel Summit 2006: Mini-summit summaries</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/202838/">The final wireless extension?</a> (October 4, 2006)</p> <p class="IndexEntry"> <a href="/Articles/206014/">Patch summary: regulatory domains, network channels, and virtualization</a> (October 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/209587/">Toward a free Atheros driver</a> (November 15, 2006)</p> <p class="IndexEntry"> <a href="/Articles/237104/">Wireless regulatory compliance</a> (June 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/294675/">Regulating wireless devices</a> (August 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/406491/">Broadcom firmware and regulatory compliance</a> (September 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/420623/">Radar detection with Linux</a> (December 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/677839/">Airplane mode and rfkill</a> (March 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/705884/">Making WiFi fast</a> (November 8, 2016)</p> <p class="IndexEntry"> <a href="/Articles/757643/">TCP small queues and WiFi aggregation — a war story</a> (June 18, 2018)</p> <p class="IndexPrimary"> <a name="Nftables"><a href="#Nftables">Nftables</a></a></p> <p class="IndexEntry"> <a href="/Articles/324989/">Nftables: a new packet filtering engine</a> (March 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/413036/">KS2010: Minisummit reports</a> (November 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/437981/">A JIT for packet filters</a> (April 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/531752/">Xtables2 vs. nftables</a> (January 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/564095/">The return of nftables</a> (August 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/867185/">Nftables reaches 1.0</a> (August 27, 2021)</p> <p class="IndexPrimary"> <a name="NILFS"><a href="#NILFS">NILFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/238923/">btrfs and NILFS</a> (June 19, 2007)</p> <p class="IndexPrimary"> <a name="__nocast"><a href="#__nocast">__nocast</a></a></p> <p class="IndexEntry"> <a href="/Articles/129476/">The __nocast attribute</a> (March 29, 2005)</p> <p class="IndexPrimary"> <a name="Nolibc"><a href="#Nolibc">Nolibc</a></a></p> <p class="IndexEntry"> <a href="/Articles/920158/">Nolibc: a minimal C-library replacement shipped with the kernel</a> (January 20, 2023)</p> <p class="IndexPrimary"> <a name="Non-seekable_objects"><a href="#Non-seekable_objects">Non-seekable objects</a></a></p> <p class="IndexEntry"> <a href="/Articles/97154/">Safe seeks</a> (August 10, 2004)</p> <p class="IndexPrimary"> <a name="nopage"><a href="#nopage">nopage()</a></a></p> <p class="IndexEntry"> <a href="/Articles/65163/">Two API changes in 2.6</a> (January 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/203725/">Faulting out populate(), nopfn(), and nopage()</a> (October 10, 2006)</p> <p class="IndexPrimary"> <a name="nopfn"><a href="#nopfn">nopfn()</a></a></p> <p class="IndexEntry"> <a href="/Articles/200213/">nopage() and nopfn()</a> (September 20, 2006)</p> <p class="IndexEntry"> <a href="/Articles/203725/">Faulting out populate(), nopfn(), and nopage()</a> (October 10, 2006)</p> <p class="IndexPrimary"> <a name="Notifiers"><a href="#Notifiers">Notifiers</a></a></p> <p class="IndexEntry"> <a href="/Articles/160953/">Making notifiers safe</a> (November 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/185500/">Notifiers, 2.6.17 style</a> (May 29, 2006)</p> <p class="IndexEntry"> <a href="/Articles/208117/">Task watchers</a> (November 7, 2006)</p> <p class="IndexEntry"> <a href="/Articles/537562/">Rationalizing CPU hotplugging</a> (February 12, 2013)</p> <p class="IndexPrimary"> <a name="Nouveau"><a href="#Nouveau">Nouveau</a></a></p> <p class="IndexEntry"> <a href="/Articles/217866/">LCA: The state of the Nouveau project</a> (January 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248400/">KS2007: Hardware support and the i386/x86_64 merger</a> (September 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/357805/">KS2009: Staging, linux-next, and the development process</a> (October 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366648/">The abrupt merging of Nouveau</a> (December 15, 2009)</p> <p class="IndexEntry"> <a href="/Articles/371276/">LCA: Graphics driver ponies</a> (January 26, 2010)</p> <p class="IndexPrimary"> <a name="NULL_and_zero"><a href="#NULL_and_zero">NULL and zero</a></a></p> <p class="IndexEntry"> <a href="/Articles/93574/">NULL v. zero</a> (July 14, 2004)</p> <p class="IndexPrimary"> <a name="NUMA"><a href="#NUMA">NUMA</a></a></p> <p class="IndexEntry"> <a href="/Articles/80911/">Scheduling domains</a> (April 19, 2004)</p> <p class="IndexEntry"> <a href="/Articles/157066/">Page migration</a> (October 25, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160201/">VM followup: page migration and fragmentation avoidance</a> (November 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/168972/">The 2.6.16 straggler list</a> (January 24, 2006)</p> <p class="IndexEntry"> <a href="/Articles/486858/">Toward better NUMA scheduling</a> (March 16, 2012)</p> <p class="IndexEntry"> <a href="/Articles/488709/">AutoNUMA: the other approach to NUMA scheduling</a> (March 27, 2012)</p> <p class="IndexEntry"> <a href="/Articles/522093/">A potential NUMA scheduling solution</a> (October 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/524977/">NUMA in a hurry</a> (November 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/568870/">NUMA scheduling progress</a> (October 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591995/">NUMA placement problems</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/752977/">Rethinking NUMA</a> (April 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/852138/">NUMA-aware qspinlocks</a> (April 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/862707/">NUMA policy and memory types</a> (July 16, 2021)</p> <p class="IndexEntry"> <a href="/Articles/913291/">Two performance-oriented patches: epoll and NUMA balancing</a> (November 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/956900/">Kernel-text replication on NUMA systems</a> (January 5, 2024)</p> <p class="IndexPrimary"> <a name="NVMe"><a href="#NVMe">NVMe</a></a></p> <p class="IndexEntry"> <a href="/Articles/931668/">Peer-to-peer DMA</a> (May 16, 2023)</p> <p class="IndexEntry"> <a href="/Articles/931949/">Computational storage</a> (May 17, 2023)</p> <p class="IndexPrimary"> <a name="NX_support"><a href="#NX_support">NX support</a></a></p> <p class="IndexEntry"> <a href="/Articles/87814/">x86 NX support</a> (June 2, 2004)</p> <p class="IndexPrimary"> <a name="O_BENEATH"><a href="#O_BENEATH">O_BENEATH</a></a></p> <p class="IndexEntry"> <a href="/Articles/619146/">open() flags: O_TMPFILE and O_BENEATH</a> (November 5, 2014)</p> <p class="IndexPrimary"> <a name="Object-based_reverse_mapping"><a href="#Object-based_reverse_mapping">Object-based reverse mapping</a></a></p> <p class="IndexEntry"> <a href="/Articles/75198/">Virtual Memory II: the return of objrmap</a> (March 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/77106/">Reverse mapping anonymous pages - again</a> (March 24, 2004)</p> <p class="IndexEntry"> <a href="/Articles/80472/">VM changes in 2.6.6</a> (April 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/85908/">The status of object-based reverse mapping</a> (May 19, 2004)</p> <p class="IndexEntry"> <a href="/Articles/86715/">The merging of anon_vma and 4G/4G</a> (May 26, 2004)</p> <p class="IndexPrimary"> <a name="Object_storage_devices"><a href="#Object_storage_devices">Object storage devices</a></a></p> <p class="IndexEntry"> <a href="/Articles/305740/">Linux and object storage devices</a> (November 4, 2008)</p> <p class="IndexPrimary"> <a name="OCFS2"><a href="#OCFS2">OCFS2</a></a></p> <p class="IndexEntry"> <a href="/Articles/137278/">The OCFS2 filesystem</a> (May 24, 2005)</p> <p class="IndexPrimary"> <a name="O_NOMTIME"><a href="#O_NOMTIME">O_NOMTIME</a></a></p> <p class="IndexEntry"> <a href="/Articles/643892/">Trading off safety and performance in the kernel</a> (May 12, 2015)</p> <p class="IndexPrimary"> <a name="OOM_killer"><a href="#OOM_killer">OOM killer</a></a></p> <p class="IndexEntry"> <a href="/Articles/104179/">Respite from the OOM killer</a> (September 28, 2004)</p> <p class="IndexEntry"> <a href="/Articles/111408/">Stopping unwanted OOM killer experiences</a> (November 17, 2004)</p> <p class="IndexEntry"> <a href="/Articles/134513/">Defending against fork bombs</a> (May 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144102/">Kernel Summit 2005: Virtual memory topics</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/267013/">Avoiding the OOM killer with mem_notify</a> (January 30, 2008)</p> <p class="IndexEntry"> <a href="/Articles/317814/">Taming the OOM killer</a> (February 4, 2009)</p> <p class="IndexEntry"> <a href="/Articles/391222/">Another OOM killer rewrite</a> (June 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/432223/">Delaying the OOM killer</a> (March 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/435917/">Fighting fork bombs</a> (March 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/548180/">LSFMM: Improving the out-of-memory killer</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/552789/">Toward reliable user-space OOM handling</a> (June 5, 2013)</p> <p class="IndexEntry"> <a href="/Articles/562211/">A survey of memory management patches</a> (August 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/590960/">User-space out-of-memory handling</a> (March 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/591990/">User-space out-of-memory handling</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/668126/">Toward more predictable and reliable out-of-memory handling</a> (December 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684945/">Improving the OOM killer</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/785709/">Expedited memory reclaim from killed processes</a> (April 12, 2019)</p> <p class="IndexPrimary"> <a name="Open_vSwitch"><a href="#Open_vSwitch">Open vSwitch</a></a></p> <p class="IndexEntry"> <a href="/Articles/469775/">Routing Open vSwitch into the mainline</a> (November 30, 2011)</p> <p class="IndexPrimary"> <a name="Optimization_tools"><a href="#Optimization_tools">Optimization tools</a></a></p> <p class="IndexEntry"> <a href="/Articles/67175/">Shrinking the kernel with gcc</a> (January 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/512548/">Link-time optimization for the kernel</a> (August 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/741494/">Shrinking the kernel with link-time garbage collection</a> (December 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/744507/">Shrinking the kernel with link-time optimization</a> (January 18, 2018)</p> <p class="IndexEntry"> <a href="/Articles/830300/">Profile-guided optimization for the kernel</a> (September 3, 2020)</p> <p class="IndexEntry"> <a href="/Articles/993828/">Kernel optimization with BOLT</a> (October 25, 2024)</p> <p class="IndexEntry"> <a href="/Articles/995397/">AutoFDO and Propeller</a> (October 28, 2024)</p> <p class="IndexPrimary"> <a name="OSDL"><a href="#OSDL">OSDL</a></a></p> <p class="IndexEntry"> <a href="/Articles/94574/">Kernel Summit: OSDL relations</a> (July 21, 2004)</p> <p class="IndexPrimary"> <a name="O_SYNC"><a href="#O_SYNC">O_SYNC</a></a></p> <p class="IndexEntry"> <a href="/Articles/350219/">O_*SYNC</a> (September 1, 2009)</p> <p class="IndexPrimary"> <a name="O_TMPFILE"><a href="#O_TMPFILE">O_TMPFILE</a></a></p> <p class="IndexEntry"> <a href="/Articles/562294/">Unreviewed code in 3.11</a> (August 7, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571995/">On saying &quot;no&quot;</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/619146/">open() flags: O_TMPFILE and O_BENEATH</a> (November 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/896153/">Making O_TMPFILE atomic (and statx() additions)</a> (May 25, 2022)</p> <p class="IndexPrimary"> <a name="Overlayfs"><a href="#Overlayfs">Overlayfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/403012/">Another union filesystem approach</a> (September 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/447650/">Debating overlayfs</a> (June 15, 2011)</p> <p class="IndexEntry"> <a href="/Articles/542707/">Overlayfs for 3.10</a> (March 13, 2013)</p> <p class="IndexEntry"> <a href="/Articles/636943/">Overlayfs issues and experiences</a> (March 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/718062/">Overlayfs features</a> (March 29, 2017)</p> <p class="IndexEntry"> <a href="/Articles/719772/">Overlayfs snapshots</a> (April 12, 2017)</p> <p class="IndexPrimary"> <a name="Packet_filtering"><a href="#Packet_filtering">Packet filtering</a></a></p> <p class="IndexEntry"> <a href="/Articles/625224/">Attaching eBPF programs to sockets</a> (December 10, 2014)</p> <p class="IndexEntry"> <a href="/Articles/809333/">Accelerating netfilter with hardware offload, part 1</a> (January 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/810663/">Accelerating netfilter with hardware offload, part 2</a> (January 31, 2020)</p> <p class="IndexEntry"> <a href="/Articles/830154/">Lua in the kernel?</a> (September 9, 2020)</p> <p class="IndexPrimary"> <a name="padata"><a href="#padata">padata</a></a></p> <p class="IndexEntry"> <a href="/Articles/382257/">The padata parallel execution mechanism</a> (April 6, 2010)</p> <p class="IndexPrimary"> <a name="PandaBoard"><a href="#PandaBoard">PandaBoard</a></a></p> <p class="IndexEntry"> <a href="/Articles/435894/">Dynamic devices and static configuration</a> (March 29, 2011)</p> <p class="IndexPrimary"> <a name="Parallel_ATA"><a href="#Parallel_ATA">Parallel ATA</a></a></p> <p class="IndexEntry"> <a href="/Articles/198344/">Parallel IDE drivers</a> (September 5, 2006)</p> <p class="IndexPrimary"> <a name="Parallel_execution"><a href="#Parallel_execution">Parallel execution</a></a></p> <p class="IndexEntry"> <a href="/Articles/382257/">The padata parallel execution mechanism</a> (April 6, 2010)</p> <p class="IndexEntry"> <a href="/Articles/771169/">ktask: optimizing CPU-intensive kernel work</a> (November 9, 2018)</p> <p class="IndexPrimary"> <a name="paravirt_ops"><a href="#paravirt_ops">paravirt_ops</a></a></p> <p class="IndexEntry"> <a href="/Articles/191923/">Kernel Summit 2006: Paravirtualization and containers</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/194543/">Connecting Linux to hypervisors</a> (August 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/216794/">Some KVM developments</a> (January 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/225881/">paravirt_ops considered harmful?</a> (March 14, 2007)</p> <p class="IndexPrimary"> <a name="Partial_array_self_refresh_PASR"><a href="#Partial_array_self_refresh_PASR">Partial array self refresh (PASR)</a></a></p> <p class="IndexEntry"> <a href="/Articles/446493/">Memory power management</a> (June 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/479886/">Memory power management, take 2</a> (February 8, 2012)</p> <p class="IndexPrimary"> <a name="Partitions"><a href="#Partitions">Partitions</a></a></p> <p class="IndexEntry"> <a href="/Articles/110468/">Partitioned loopback devices</a> (November 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/290141/">Block layer: integrity checking and lots of partitions</a> (July 15, 2008)</p> <p class="IndexPrimary"> <a name="Patchwork"><a href="#Patchwork">Patchwork</a></a></p> <p class="IndexEntry"> <a href="/Articles/298592/">KS2008: Development tools</a> (September 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/777421/">Snowpatch: continuous-integration testing for the kernel</a> (January 26, 2019)</p> <p class="IndexPrimary"> <a name="PC9800_architecture"><a href="#PC9800_architecture">PC9800 architecture</a></a></p> <p class="IndexEntry"> <a href="/Articles/85878/">Goodbye to old code</a> (May 19, 2004)</p> <p class="IndexPrimary"> <a name="PCI"><a href="#PCI">PCI</a></a></p> <p class="IndexEntry"> <a href="/Articles/88807/">Safe PCI hot removal</a> (June 9, 2004)</p> <p class="IndexEntry"> <a href="/Articles/120614/">Some 2.6.11 API changes</a> (January 25, 2005)</p> <p class="IndexEntry"> <a href="/Articles/143390/">PCI error recovery</a> (July 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/143447/">Some 2.6.13 API changes</a> (July 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144100/">Kernel Summit 2005: I/O Busses</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/767281/">Device-to-device memory-transfer offload with P2PDMA</a> (October 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/782489/">Controlling device peer-to-peer access from user space</a> (March 7, 2019)</p> <p class="IndexPrimary"> <a name="PCIe"><a href="#PCIe">PCIe</a></a></p> <p class="IndexEntry"> <a href="/Articles/307482/">UKUUG: Arnd Bergmann on interconnecting with PCIe</a> (November 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/767885/">The modernization of PCIe hotplug in Linux</a> (October 8, 2018)</p> <p class="IndexPrimary"> <a name="PCMCIA"><a href="#PCMCIA">PCMCIA</a></a></p> <p class="IndexEntry"> <a href="/Articles/146104/">A PCMCIA subsystem change</a> (August 3, 2005)</p> <p class="IndexPrimary"> <a name="Per-CPU_variables"><a href="#Per-CPU_variables">Per-CPU variables</a></a></p> <p class="IndexEntry"> <a href="/Articles/170003/">The search for fast, scalable counters</a> (February 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/258238/">Better per-CPU variables</a> (November 12, 2007)</p> <p class="IndexEntry"> <a href="/Articles/452884/">Per-CPU variables and the realtime tree</a> (July 26, 2011)</p> <p class="IndexPrimary"> <a name="Performance_monitoring"><a href="#Performance_monitoring">Performance monitoring</a></a></p> <p class="IndexEntry"> <a href="/Articles/310260/">Dueling performance monitors</a> (December 9, 2008)</p> <p class="IndexEntry"> <a href="/Articles/311850/">Followups: performance counters, ksplice, and fsnotify</a> (December 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/339361/">Perfcounters added to the mainline</a> (July 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/346470/">Fun with tracepoints</a> (August 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/357481/">KS2009: The future of perf events</a> (October 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/373842/">Scripting support for perf</a> (February 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/382554/">A &quot;live mode&quot; for perf</a> (April 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/425990/">Using the perf code to create a RAS daemon</a> (February 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/441209/">Raw events and the perf ABI</a> (May 3, 2011)</p> <p class="IndexEntry"> <a href="/Articles/442113/">Ftrace, perf, and the tracing ABI</a> (May 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/529461/">Virtualization and the perf ABI</a> (December 19, 2012)</p> <p class="IndexEntry"> <a href="/Articles/567894/">A perf ABI fix</a> (September 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/593690/">Lots of new perf features</a> (April 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/653382/">Fuzzing perf_events</a> (August 5, 2015)</p> <p class="IndexEntry"> <a href="/Articles/696216/">Disallowing perf_event_open()</a> (August 3, 2016)</p> <p class="IndexEntry"> <a href="/Articles/759781/">Tracking pressure-stall information</a> (July 13, 2018)</p> <p class="IndexEntry"> <a href="/Articles/775971/">Pressure stall monitors</a> (January 4, 2019)</p> <p class="IndexPrimary"> <a name="Performance_regressions"><a href="#Performance_regressions">Performance regressions</a></a></p> <p class="IndexEntry"> <a href="/Articles/412747/">KS2010: Performance regressions</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/509577/">Testing for kernel performance regressions</a> (August 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/603252/">RCU, cond_resched(), and performance regressions</a> (June 24, 2014)</p> <p class="IndexEntry"> <a href="/Articles/608954/">Kernel performance regressions</a> (August 20, 2014)</p> <p class="IndexEntry"> <a href="/Articles/662825/">Benchmarking and performance trends</a> (November 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/758324/">Repealing the poll() tax</a> (June 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/790985/">Dueling memory-management performance regressions</a> (June 14, 2019)</p> <p class="IndexPrimary"> <a name="Philips_driver"><a href="#Philips_driver">Philips driver</a></a></p> <p class="IndexEntry"> <a href="/Articles/100303/">The return of the Philips driver?</a> (September 1, 2004)</p> <p class="IndexEntry"> <a href="/Articles/102246/">The Philips webcam driver returns</a> (September 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/134700/">The Philips webcam driver - again</a> (May 4, 2005)</p> <p class="IndexPrimary"> <a name="pidfd"><a href="#pidfd">pidfd</a></a></p> <p class="IndexEntry"> <a href="/Articles/773459/">Toward race-free process signaling</a> (December 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/784831/">Rethinking race-free process signaling</a> (April 4, 2019)</p> <p class="IndexEntry"> <a href="/Articles/789023/">New system calls: pidfd_open() and close_range()</a> (May 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/794707/">Completing the pidfd API</a> (July 26, 2019)</p> <p class="IndexEntry"> <a href="/Articles/801319/">Adding the pidfd abstraction to the kernel</a> (October 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/810076/">process_madvise(), pidfd capabilities, and the revenge of the PIDs</a> (January 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/963749/">A new filesystem for pidfds</a> (March 13, 2024)</p> <p class="IndexEntry"> <a href="/Articles/976125/">One more pidfdfs surprise</a> (May 31, 2024)</p> <p class="IndexEntry"> <a href="/Articles/992991/">Two pidfd tweaks: PIDFD_GET_INFO and PIDFD_SELF</a> (October 16, 2024)</p> <p class="IndexPrimary"> <a name="Pin_controller"><a href="#Pin_controller">Pin controller</a></a></p> <p class="IndexEntry"> <a href="/Articles/468759/">The pin control subsystem</a> (November 22, 2011)</p> <p class="IndexPrimary"> <a name="Pipes"><a href="#Pipes">Pipes</a></a></p> <p class="IndexEntry"> <a href="/Articles/118750/">Circular pipes</a> (January 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/119682/">The evolution of pipe buffers</a> (January 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/179492/">tee() with your splice()?</a> (April 11, 2006)</p> <p class="IndexPrimary"> <a name="Plan_9"><a href="#Plan_9">Plan 9</a></a></p> <p class="IndexEntry"> <a href="/Articles/137439/">A filesystem from Plan 9 space</a> (May 25, 2005)</p> <p class="IndexPrimary"> <a name="Platform_data"><a href="#Platform_data">Platform data</a></a></p> <p class="IndexEntry"> <a href="/Articles/435894/">Dynamic devices and static configuration</a> (March 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/448499/">The platform device API</a> (June 21, 2011)</p> <p class="IndexEntry"> <a href="/Articles/448502/">Platform devices and device trees</a> (June 21, 2011)</p> <p class="IndexPrimary"> <a name="pmdisk"><a href="#pmdisk">pmdisk</a></a></p> <p class="IndexEntry"> <a href="/Articles/75951/">Which is the real software suspend?</a> (March 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/94071/">Software suspend: and then there were two</a> (July 21, 2004)</p> <p class="IndexPrimary"> <a name="poll"><a href="#poll">poll()</a></a></p> <p class="IndexEntry"> <a href="/Articles/308426/">Driver API: sleeping poll(), exclusive I/O memory, and DMA API debugging</a> (November 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/450658/">What are they polling for?</a> (July 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/743714/">A new kernel polling interface</a> (January 9, 2018)</p> <p class="IndexEntry"> <a href="/Articles/758324/">Repealing the poll() tax</a> (June 27, 2018)</p> <p class="IndexPrimary"> <a name="Popcorn_Linux"><a href="#Popcorn_Linux">Popcorn Linux</a></a></p> <p class="IndexEntry"> <a href="/Articles/819237/">Popcorn Linux pops up on linux-kernel</a> (May 5, 2020)</p> <p class="IndexPrimary"> <a name="populate"><a href="#populate">populate()</a></a></p> <p class="IndexEntry"> <a href="/Articles/203725/">Faulting out populate(), nopfn(), and nopage()</a> (October 10, 2006)</p> <p class="IndexPrimary"> <a name="posix_fadvise"><a href="#posix_fadvise">posix_fadvise()</a></a></p> <p class="IndexEntry"> <a href="/Articles/171941/">Tweaks to madvise() and posix_fadvise()</a> (February 14, 2006)</p> <p class="IndexEntry"> <a href="/Articles/178199/">Two new system calls: splice() and sync_file_range()</a> (April 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/468896/">POSIX_FADV_VOLATILE</a> (November 22, 2011)</p> <p class="IndexPrimary"> <a name="Power_management"><a href="#Power_management">Power management</a></a></p> <p class="IndexEntry"> <a href="/Articles/65437/">Laptop mode for 2.6</a> (January 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/98420/">Power management: looking for a direction</a> (August 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/146094/">ACPI, device interrupts, and suspend states</a> (August 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/157949/">Some power management changes for 2.6.15</a> (November 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/201111/">Driver core API changes for 2.6.19</a> (September 26, 2006)</p> <p class="IndexEntry"> <a href="/Articles/240253/">OLS: Three talks on power management</a> (June 30, 2007)</p> <p class="IndexEntry"> <a href="/Articles/244595/">Tripping over trip points</a> (August 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/274008/">A new suspend/hibernate infrastructure</a> (March 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/287924/">Making power policy just work</a> (June 30, 2008)</p> <p class="IndexEntry"> <a href="/Articles/347573/">Runtime power management</a> (August 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366915/">Redesigning asynchronous suspend/resume</a> (December 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/384132/">Fixing the ondemand governor</a> (April 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/386139/">Reworking pm_qos</a> (May 4, 2010)</p> <p class="IndexEntry"> <a href="/Articles/387250/">Detecting idle patterns</a> (May 11, 2010)</p> <p class="IndexEntry"> <a href="/Articles/390369/">What comes after suspend blockers</a> (June 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/390427/">Idling ACPI idle</a> (June 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/393288/">A single power preference knob</a> (June 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/424496/">LCA: Server power management</a> (January 26, 2011)</p> <p class="IndexEntry"> <a href="/Articles/436047/">Powering down APM</a> (March 30, 2011)</p> <p class="IndexEntry"> <a href="/Articles/439169/">ELC: Linaro power management work</a> (April 20, 2011)</p> <p class="IndexEntry"> <a href="/Articles/446493/">Memory power management</a> (June 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/449448/">PCIe, power management, and problematic BIOSes</a> (June 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/449585/">Dealing with complexity: power domains and asymmetric multiprocessing</a> (June 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/479886/">Memory power management, take 2</a> (February 8, 2012)</p> <p class="IndexEntry"> <a href="/Articles/505683/">Linux power management: The documentation I wanted to read</a> (July 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/547439/">Memory power management, 2013 edition</a> (April 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/568891/">How much memory power management is useful?</a> (October 2, 2013)</p> <p class="IndexEntry"> <a href="/Articles/580451/">Supporting connected standby</a> (January 15, 2014)</p> <p class="IndexEntry"> <a href="/Articles/618074/">Toward better CPU idle-time predictions</a> (October 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/647616/">The difficult task of doing nothing</a> (June 9, 2015)</p> <p class="IndexEntry"> <a href="/Articles/662701/">Power-management knobs</a> (November 2, 2015)</p> <p class="IndexEntry"> <a href="/Articles/673641/">Next-interrupt prediction</a> (January 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/710494/">Tracking functional dependencies between devices</a> (January 3, 2017)</p> <p class="IndexEntry"> <a href="/Articles/721573/">The first Operating-System-Directed Power-Management Summit</a> (May 3, 2017)</p> <p class="IndexEntry"> <a href="/Articles/744047/">Active state management of power domains</a> (January 15, 2018)</p> <p class="IndexEntry"> <a href="/Articles/754923/">Notes from the 2nd Operating-System-Directed Power-Management Summit</a> (May 25, 2018)</p> <p class="IndexSecondary"> <a name="Power_management-cpuidle"></a><a href="#Power_management-cpuidle">cpuidle</a></p> <p class="IndexEntry"> <a href="/Articles/384146/">The cpuidle subsystem</a> (April 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/775618/">Improving idle behavior in tickless systems</a> (December 28, 2018)</p> <p class="IndexEntry"> <a href="/Articles/820432/">The weighted TEO cpuidle governor</a> (May 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820870/">The pseudo cpuidle driver</a> (May 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820882/">The deadline scheduler and CPU idle states</a> (May 22, 2020)</p> <p class="IndexSecondary"> <a name="Power_management-CPU_scheduling"></a><a href="#Power_management-CPU_scheduling">CPU scheduling</a></p> <p class="IndexEntry"> <a href="/Articles/474915/">Rethinking power-aware scheduling</a> (January 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/512487/">The return of power-aware scheduling</a> (August 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/520857/">Small-task packing</a> (October 24, 2012)</p> <p class="IndexEntry"> <a href="/Articles/546664/">Toward a more power-efficient scheduler</a> (April 10, 2013)</p> <p class="IndexEntry"> <a href="/Articles/552885/">Power-aware scheduling meets a line in the sand</a> (June 5, 2013)</p> <p class="IndexEntry"> <a href="/Articles/554956/">A power-aware scheduling update</a> (June 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/570353/">A new direction for power-aware scheduling</a> (October 15, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571414/">The power-aware scheduling mini-summit</a> (October 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/600419/">Another attempt at power-aware scheduling</a> (June 4, 2014)</p> <p class="IndexEntry"> <a href="/Articles/602479/">Teaching the scheduler about power management</a> (June 18, 2014)</p> <p class="IndexEntry"> <a href="/Articles/609561/">The power-aware scheduling miniconference</a> (August 27, 2014)</p> <p class="IndexEntry"> <a href="/Articles/655479/">Steps toward power-aware scheduling</a> (August 25, 2015)</p> <p class="IndexEntry"> <a href="/Articles/749900/">Energy-aware scheduling on asymmetric systems</a> (March 22, 2018)</p> <p class="IndexEntry"> <a href="/Articles/820825/">Evaluating vendor changes to the scheduler</a> (May 19, 2020)</p> <p class="IndexEntry"> <a href="/Articles/899303/">Removing the scheduler's energy-margin heuristic</a> (July 1, 2022)</p> <p class="IndexSecondary"> <a name="Power_management-Device_power_management"></a><a href="#Power_management-Device_power_management">Device power management</a></p> <p class="IndexEntry"> <a href="/Articles/466230/">Better device power management for 3.2</a> (November 8, 2011)</p> <p class="IndexEntry"> <a href="/Articles/585439/">Controlling device power management</a> (February 12, 2014)</p> <p class="IndexEntry"> <a href="/Articles/718632/">Device power management with the OPP library</a> (April 26, 2017)</p> <p class="IndexSecondary"> <a name="Power_management-Frequency_scaling"></a><a href="#Power_management-Frequency_scaling">Frequency scaling</a></p> <p class="IndexEntry"> <a href="/Articles/682391/">Improvements in CPU frequency management</a> (April 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/732740/">CPU frequency governors and remote callbacks</a> (September 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/816388/">Frequency-invariant utilization tracking for x86</a> (April 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820872/">Saving frequency scaling in the data center</a> (May 21, 2020)</p> <p class="IndexSecondary"> <a name="Power_management-Opportunistic_suspend"></a><a href="#Power_management-Opportunistic_suspend">Opportunistic suspend</a></p> <p class="IndexEntry"> <a href="/Articles/319860/">From wakelocks to a real solution</a> (February 18, 2009)</p> <p class="IndexEntry"> <a href="/Articles/385103/">Suspend block</a> (April 28, 2010)</p> <p class="IndexEntry"> <a href="/Articles/388131/">Blocking suspend blockers</a> (May 18, 2010)</p> <p class="IndexEntry"> <a href="/Articles/389407/">Suspend blocker suspense</a> (May 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/390369/">What comes after suspend blockers</a> (June 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/393314/">Another wakeup event mechanism</a> (June 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/398601/">Whack-a-droid</a> (August 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/416690/">An alternative to suspend blockers</a> (November 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/460644/">A new approach to opportunistic suspend</a> (September 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/463517/">Yet another opportunity for opportunistic suspend</a> (October 18, 2011)</p> <p class="IndexEntry"> <a href="/Articles/479841/">Autosleep and wake locks</a> (February 7, 2012)</p> <p class="IndexPrimary"> <a name="preadv"><a href="#preadv">preadv()</a></a></p> <p class="IndexEntry"> <a href="/Articles/164887/">Some new system calls</a> (December 20, 2005)</p> <p class="IndexPrimary"> <a name="Preemption"><a href="#Preemption">Preemption</a></a></p> <p class="IndexEntry"> <a href="/Articles/93604/">Addressing latency problems in 2.6</a> (July 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/106010/">Approaches to realtime Linux</a> (October 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107269/">Realtime preemption, part 2</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/129511/">Realtime preemption and read-copy-update</a> (March 30, 2005)</p> <p class="IndexEntry"> <a href="/Articles/138174/">The beginning of the realtime preemption debate</a> (June 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/319544/">Interview: the return of the realtime preemption tree</a> (February 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/563185/">Optimizing preemption</a> (August 14, 2013)</p> <p class="IndexEntry"> <a href="/Articles/831678/">Four short stories about preempt_count()</a> (September 18, 2020)</p> <p class="IndexEntry"> <a href="/Articles/944686/">Revisiting the kernel's preemption models (part 1)</a> (September 21, 2023)</p> <p class="IndexEntry"> <a href="/Articles/945422/">Revisiting the kernel's preemption model, part 2</a> (October 2, 2023)</p> <p class="IndexEntry"> <a href="/Articles/994322/">The long road to lazy preemption</a> (October 18, 2024)</p> <p class="IndexPrimary"> <a name="Prefetch"><a href="#Prefetch">Prefetch</a></a></p> <p class="IndexEntry"> <a href="/Articles/404103/">Prefetching considered harmful</a> (September 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/444336/">The problem with prefetch</a> (May 24, 2011)</p> <p class="IndexPrimary"> <a name="Prefetching"><a href="#Prefetching">Prefetching</a></a></p> <p class="IndexEntry"> <a href="/Articles/274988/">Predictive ELF bitmaps</a> (March 26, 2008)</p> <p class="IndexEntry"> <a href="/Articles/371538/">fincore()</a> (January 27, 2010)</p> <p class="IndexPrimary"> <a name="printk"><a href="#printk">printk()</a></a></p> <p class="IndexEntry"> <a href="/Articles/289064/">Enhanced printk() merged</a> (July 9, 2008)</p> <p class="IndexEntry"> <a href="/Articles/487437/">The perils of pr_info()</a> (March 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/527342/">Stepping closer to practical containers: &quot;syslog&quot; namespaces</a> (December 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/705938/">The perils of printk()</a> (November 9, 2016)</p> <p class="IndexEntry"> <a href="/Articles/732420/">printk() and KERN_CONT</a> (August 30, 2017)</p> <p class="IndexEntry"> <a href="/Articles/737822/">Improving printk()</a> (November 1, 2017)</p> <p class="IndexEntry"> <a href="/Articles/780556/">Reimplementing printk()</a> (February 26, 2019)</p> <p class="IndexEntry"> <a href="/Articles/800946/">Why printk() is so complicated (and how to fix it)</a> (October 3, 2019)</p> <p class="IndexEntry"> <a href="/Articles/818714/">Dumping kernel data structures with BPF</a> (April 27, 2020)</p> <p class="IndexEntry"> <a href="/Articles/857148/">printk() indexing</a> (May 27, 2021)</p> <p class="IndexEntry"> <a href="/Articles/892611/">Printbuf rebuffed for now</a> (April 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/909980/">A discussion on printk()</a> (October 4, 2022)</p> <p class="IndexPrimary"> <a name="printk_ratelimit"><a href="#printk_ratelimit">printk_ratelimit()</a></a></p> <p class="IndexEntry"> <a href="/Articles/66091/">Keeping printk() under control</a> (January 13, 2004)</p> <p class="IndexPrimary"> <a name="Priority_inheritance"><a href="#Priority_inheritance">Priority inheritance</a></a></p> <p class="IndexEntry"> <a href="/Articles/178253/">Priority inheritance in the kernel</a> (April 3, 2006)</p> <p class="IndexPrimary"> <a name="proc"><a href="#proc">/proc</a></a></p> <p class="IndexEntry"> <a href="/Articles/647757/">Enforcing mount options for sysfs and proc</a> (June 10, 2015)</p> <p class="IndexEntry"> <a href="/Articles/685791/">task_diag and statx()</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/920384/">Hiding a process's executable from itself</a> (January 23, 2023)</p> <p class="IndexEntry"> <a href="/Articles/999770/">The kernel's command-line commotion</a> (November 27, 2024)</p> <p class="IndexSecondary"> <a name="proc-Inode_locking"></a><a href="#proc-Inode_locking">Inode locking</a></p> <p class="IndexEntry"> <a href="/Articles/545119/">A VFS deadlock post-mortem</a> (April 3, 2013)</p> <p class="IndexPrimary"> <a name="procbuddyinfo"><a href="#procbuddyinfo">/proc/buddyinfo</a></a></p> <p class="IndexEntry"> <a href="/Articles/101230/">Kswapd and high-order allocations</a> (September 8, 2004)</p> <p class="IndexPrimary"> <a name="Processor_Trace"><a href="#Processor_Trace">Processor Trace</a></a></p> <p class="IndexEntry"> <a href="/Articles/648154/">Adding Processor Trace support to Linux</a> (July 1, 2015)</p> <p class="IndexPrimary"> <a name="proclatency"><a href="#proclatency">/proc/latency</a></a></p> <p class="IndexEntry"> <a href="/Articles/98445/">Update from the latency front</a> (August 18, 2004)</p> <p class="IndexPrimary"> <a name="procpage_owner"><a href="#procpage_owner">/proc/page_owner</a></a></p> <p class="IndexEntry"> <a href="/Articles/121656/">Useful gadget: /proc/page_owner</a> (February 1, 2005)</p> <p class="IndexPrimary"> <a name="Profiling"><a href="#Profiling">Profiling</a></a></p> <p class="IndexEntry"> <a href="/Articles/284886/">Profiling kernel code coverage</a> (June 4, 2008)</p> <p class="IndexPrimary"> <a name="Pstore"><a href="#Pstore">Pstore</a></a></p> <p class="IndexEntry"> <a href="/Articles/434821/">Persistent storage for a kernel's &quot;dying breath&quot;</a> (March 23, 2011)</p> <p class="IndexPrimary"> <a name="ptrace"><a href="#ptrace">ptrace()</a></a></p> <p class="IndexEntry"> <a href="/Articles/224772/">Introducing utrace</a> (March 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/364584/">Another mainline push for utrace</a> (December 2, 2009)</p> <p class="IndexEntry"> <a href="/Articles/371501/">Replacing ptrace()</a> (January 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/432114/">Improving ptrace()</a> (March 8, 2011)</p> <p class="IndexEntry"> <a href="/Articles/454427/">TCP connection hijacking and parasites - as a good thing</a> (August 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/1004455/">Modifying another process's system calls</a> (January 14, 2025)</p> <p class="IndexPrimary"> <a name="QEMU"><a href="#QEMU">QEMU</a></a></p> <p class="IndexEntry"> <a href="/Articles/379869/">KVM, QEMU, and kernel project management</a> (March 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/438182/">The native KVM tool</a> (April 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/660404/">Speeding up kernel development with QEMU</a> (October 14, 2015)</p> <p class="IndexPrimary"> <a name="Race_conditions"><a href="#Race_conditions">Race conditions</a></a></p> <p class="IndexEntry"> <a href="/Articles/68118/">sleep_on() in 2.6.</a> (January 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/68149/">Module unloading in a reference counted world</a> (January 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/70680/">Safe sysfs support</a> (February 11, 2004)</p> <p class="IndexEntry"> <a href="/Articles/93617/">RCU-safe reference counting</a> (July 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/121566/">NETIF_F_LLTX and race conditions</a> (February 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/124747/">FUTEX + rwsem = SNAFU</a> (February 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160953/">Making notifiers safe</a> (November 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/198988/">Memory-mapped I/O barriers</a> (September 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/255529/">Various topics, all related to interrupts</a> (October 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/575460/">A surprise with mutexes and reference counts</a> (December 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/628628/">The problem with nested sleeping primitives</a> (January 7, 2015)</p> <p class="IndexPrimary"> <a name="Radix_tree"><a href="#Radix_tree">Radix tree</a></a></p> <p class="IndexEntry"> <a href="/Articles/175432/">Trees I: Radix trees</a> (March 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/684864/">The multi-order radix tree</a> (April 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/688130/">A multi-order radix tree</a> (May 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/745073/">The XArray data structure</a> (January 24, 2018)</p> <p class="IndexPrimary"> <a name="RAID"><a href="#RAID">RAID</a></a></p> <p class="IndexEntry"> <a href="/Articles/169140/">MD / DM</a> (January 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/349970/">Ext3 and RAID: silent data killers?</a> (August 31, 2009)</p> <p class="IndexEntry"> <a href="/Articles/363490/">Journal-guided RAID resync</a> (November 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/384139/">DM and MD come a little closer</a> (April 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/428220/">The MD roadmap</a> (February 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/463575/">Another kernel RAID5 implementation</a> (October 18, 2011)</p> <p class="IndexEntry"> <a href="/Articles/645720/">A tale of two data-corruption bugs</a> (May 24, 2015)</p> <p class="IndexEntry"> <a href="/Articles/665299/">A journal for MD/RAID5</a> (November 24, 2015)</p> <p class="IndexEntry"> <a href="/Articles/674085/">Cluster support for MD/RAID 1</a> (February 3, 2016)</p> <p class="IndexPrimary"> <a name="Ramback"><a href="#Ramback">Ramback</a></a></p> <p class="IndexEntry"> <a href="/Articles/273030/">How to use a terabyte of RAM</a> (March 12, 2008)</p> <p class="IndexPrimary"> <a name="Random_numbers"><a href="#Random_numbers">Random numbers</a></a></p> <p class="IndexEntry"> <a href="/Articles/182874/">On the safety of Linux random numbers</a> (May 9, 2006)</p> <p class="IndexEntry"> <a href="/Articles/261804/">On entropy and randomness</a> (December 12, 2007)</p> <p class="IndexEntry"> <a href="/Articles/283103/">Appropriate sources of entropy</a> (May 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/330866/">Linux ASLR vulnerabilities</a> (April 29, 2009)</p> <p class="IndexEntry"> <a href="/Articles/507115/">Random numbers for embedded devices</a> (July 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/525459/">LCE: Don't play dice with random numbers</a> (November 20, 2012)</p> <p class="IndexEntry"> <a href="/Articles/567055/">The search for truly random numbers in the kernel</a> (September 18, 2013)</p> <p class="IndexEntry"> <a href="/Articles/586427/">Adding CPU randomness to the entropy pool</a> (February 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/590378/">Unmixing the pool</a> (March 12, 2014)</p> <p class="IndexEntry"> <a href="/Articles/606141/">A system call for random numbers: getrandom()</a> (July 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/642166/">Random numbers from CPU execution time jitter</a> (April 29, 2015)</p> <p class="IndexEntry"> <a href="/Articles/658497/">Random number scalability</a> (September 28, 2015)</p> <p class="IndexEntry"> <a href="/Articles/660452/">Other approaches to random number scalability</a> (October 21, 2015)</p> <p class="IndexEntry"> <a href="/Articles/686033/">Replacing /dev/urandom</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/724643/">Waiting for entropy</a> (June 6, 2017)</p> <p class="IndexEntry"> <a href="/Articles/760584/">Initializing the entropy pool using RDRAND and friends</a> (July 24, 2018)</p> <p class="IndexEntry"> <a href="/Articles/800509/">Fixing getrandom()</a> (September 27, 2019)</p> <p class="IndexEntry"> <a href="/Articles/802360/">Really fixing getrandom()</a> (October 17, 2019)</p> <p class="IndexEntry"> <a href="/Articles/808575/">Removing the Linux /dev/random blocking pool</a> (January 7, 2020)</p> <p class="IndexEntry"> <a href="/Articles/828705/">Theoretical vs. practical cryptography in the kernel</a> (August 13, 2020)</p> <p class="IndexEntry"> <a href="/Articles/877607/">FIPS-compliant random numbers for the kernel</a> (December 7, 2021)</p> <p class="IndexEntry"> <a href="/Articles/884875/">Uniting the Linux random-number devices</a> (February 16, 2022)</p> <p class="IndexEntry"> <a href="/Articles/887207/">Random numbers and virtual-machine forks</a> (March 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/919008/">A vDSO implementation of getrandom()</a> (January 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/943239/">Security topics: io_uring, VM attestation, and random-reseed notifications</a> (September 4, 2023)</p> <p class="IndexEntry"> <a href="/Articles/961121/">Pitchforks for RDSEED</a> (February 8, 2024)</p> <p class="IndexEntry"> <a href="/Articles/963281/">A RDRAND followup</a> (February 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/980447/">Another try for getrandom() in the vDSO</a> (July 4, 2024)</p> <p class="IndexEntry"> <a href="/Articles/983186/">What became of getrandom() in the vDSO</a> (July 25, 2024)</p> <p class="IndexPrimary"> <a name="Range_locks"><a href="#Range_locks">Range locks</a></a></p> <p class="IndexEntry"> <a href="/Articles/724502/">Range reader/writer locks for the kernel</a> (June 5, 2017)</p> <p class="IndexPrimary"> <a name="RapidIO"><a href="#RapidIO">RapidIO</a></a></p> <p class="IndexEntry"> <a href="/Articles/139118/">RapidIO support for Linux</a> (June 8, 2005)</p> <p class="IndexPrimary"> <a name="RAS_tools"><a href="#RAS_tools">RAS tools</a></a></p> <p class="IndexEntry"> <a href="/Articles/94561/">Kernel Summit: RAS tools</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/144277/">Kernel Summit 2005: RAS tools</a> (July 20, 2005)</p> <p class="IndexPrimary"> <a name="RDMA"><a href="#RDMA">RDMA</a></a></p> <p class="IndexEntry"> <a href="/Articles/133649/">Supporting RDMA on Linux</a> (April 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/684366/">Persistent memory as remote storage</a> (April 20, 2016)</p> <p class="IndexPrimary"> <a name="Readahead"><a href="#Readahead">Readahead</a></a></p> <p class="IndexEntry"> <a href="/Articles/155510/">Adaptive file readahead</a> (October 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/235164/">On-demand readahead</a> (May 21, 2007)</p> <p class="IndexEntry"> <a href="/Articles/372384/">Improving readahead</a> (February 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/888715/">Readahead: the documentation I wanted to read</a> (April 8, 2022)</p> <p class="IndexEntry"> <a href="/Articles/897786/">A discussion on readahead</a> (June 15, 2022)</p> <p class="IndexPrimary"> <a name="Read-copy-update"><a href="#Read-copy-update">Read-copy-update</a></a></p> <p class="IndexEntry"> <a href="/Articles/65832/">Read-copy-update and interrupt latency</a> (January 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/93617/">RCU-safe reference counting</a> (July 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107269/">Realtime preemption, part 2</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/129511/">Realtime preemption and read-copy-update</a> (March 30, 2005)</p> <p class="IndexEntry"> <a href="/Articles/134484/">API change: synchronize_kernel() deprecated</a> (May 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/156144/">What's holding up 2.6.14: two difficult bugs</a> (October 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160953/">Making notifiers safe</a> (November 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/171838/">EXPORT_SYMBOL_GPL_FUTURE()</a> (February 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/174641/">RCU and open file accounting</a> (March 7, 2006)</p> <p class="IndexEntry"> <a href="/Articles/201195/">Read-copy-update for realtime</a> (September 26, 2006)</p> <p class="IndexEntry"> <a href="/Articles/202847/">Sleepable RCU</a> (October 9, 2006)</p> <p class="IndexEntry"> <a href="/Articles/217484/">RCU and Unloadable Modules</a> (January 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/220677/">Priority-Boosting RCU Read-Side Critical Sections</a> (February 5, 2007)</p> <p class="IndexEntry"> <a href="/Articles/253651/">The design of preemptible read-copy-update</a> (October 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/262464/">What is RCU, Fundamentally?</a> (December 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/263130/">What is RCU? Part 2: Usage</a> (December 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/264090/">RCU part 3: the RCU API</a> (January 7, 2008)</p> <p class="IndexEntry"> <a href="/Articles/279077/">Integrating and Validating dynticks and Preemptable RCU</a> (April 22, 2008)</p> <p class="IndexEntry"> <a href="/Articles/305782/">Hierarchical RCU</a> (November 4, 2008)</p> <p class="IndexEntry"> <a href="/Articles/323929/">RCU: The Bloatwatch Edition</a> (March 17, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366717/">RCU mistakes</a> (December 15, 2009)</p> <p class="IndexEntry"> <a href="/Articles/368706/">RCU strings</a> (January 5, 2010)</p> <p class="IndexEntry"> <a href="/Articles/369567/">sys_membarrier()</a> (January 13, 2010)</p> <p class="IndexEntry"> <a href="/Articles/371986/">Lockdep-RCU</a> (February 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/418853/">The RCU API, 2010 Edition</a> (December 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/420544/">NoHZ tasks</a> (December 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/453002/">3.0 and RCU: what went wrong</a> (July 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/518953/">The new visibility of RCU processing</a> (October 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/522262/">Relocating RCU callbacks</a> (October 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/541037/">Simplifying RCU</a> (March 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/549580/">(Nearly) full tickless operation in 3.10</a> (May 8, 2013)</p> <p class="IndexEntry"> <a href="/Articles/558284/">Is the whole system idle?</a> (July 10, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572099/">Scalability techniques</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/603252/">RCU, cond_resched(), and performance regressions</a> (June 24, 2014)</p> <p class="IndexEntry"> <a href="/Articles/607117/">The RCU-tasks subsystem</a> (July 30, 2014)</p> <p class="IndexEntry"> <a href="/Articles/609904/">The RCU API, 2014 Edition</a> (September 4, 2014)</p> <p class="IndexEntry"> <a href="/Articles/610972/">Using RCU for linked lists — a case study</a> (September 10, 2014)</p> <p class="IndexEntry"> <a href="/Articles/612021/">Relativistic hash tables, part 1: Algorithms</a> (September 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/612100/">Relativistic hash tables, part 2: Implementation</a> (September 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/619355/">Recent read-mostly research</a> (November 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/629742/">When real validation begins</a> (January 21, 2015)</p> <p class="IndexEntry"> <a href="/Articles/652156/">Requirements for RCU part 1: the fundamentals</a> (July 29, 2015)</p> <p class="IndexEntry"> <a href="/Articles/652677/">RCU requirements part 2 — parallelism and software engineering</a> (August 5, 2015)</p> <p class="IndexEntry"> <a href="/Articles/653326/">RCU requirements part 3</a> (August 12, 2015)</p> <p class="IndexEntry"> <a href="/Articles/667593/">Read-mostly research in 2015</a> (December 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/716148/">RCU and the mid-boot dead zone</a> (March 7, 2017)</p> <p class="IndexEntry"> <a href="/Articles/777036/">The RCU API, 2019 edition</a> (January 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/894379/">Recent RCU changes</a> (May 10, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931920/">The intersection of lazy RCU and memory reclaim</a> (May 18, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974487/">The interaction between memory reclaim and RCU</a> (May 22, 2024)</p> <p class="IndexEntry"> <a href="/Articles/988638/">The RCU API, 2024 edition</a> (September 13, 2024)</p> <p class="IndexSecondary"> <a name="Read-copy-update-rcu_sync"></a><a href="#Read-copy-update-rcu_sync">rcu_sync</a></p> <p class="IndexEntry"> <a href="/Articles/569686/">Optimizing CPU hotplug locking</a> (October 9, 2013)</p> <p class="IndexPrimary"> <a name="Reader-writer_spinlocks"><a href="#Reader-writer_spinlocks">Reader-writer spinlocks</a></a></p> <p class="IndexEntry"> <a href="/Articles/364583/">Eliminating rwlocks and IRQF_DISABLED</a> (December 1, 2009)</p> <p class="IndexPrimary"> <a name="__read_mostly"><a href="#__read_mostly">__read_mostly</a></a></p> <p class="IndexEntry"> <a href="/Articles/262554/">Short subjects: kerneloops, read-mostly, and port 80</a> (December 18, 2007)</p> <p class="IndexPrimary"> <a name="Realtime"><a href="#Realtime">Realtime</a></a></p> <p class="IndexEntry"> <a href="/Articles/106010/">Approaches to realtime Linux</a> (October 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/107269/">Realtime preemption, part 2</a> (October 20, 2004)</p> <p class="IndexEntry"> <a href="/Articles/108216/">The ongoing realtime story</a> (October 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/109458/">Schedulers, pluggable and realtime</a> (November 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/118785/">Merging the realtime security module</a> (January 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/120797/">Low latency for audio applications</a> (January 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/129511/">Realtime preemption and read-copy-update</a> (March 30, 2005)</p> <p class="IndexEntry"> <a href="/Articles/138174/">The beginning of the realtime preemption debate</a> (June 1, 2005)</p> <p class="IndexEntry"> <a href="/Articles/139784/">Realtime and interrupt latency</a> (June 14, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144278/">Kernel Summit 2005: Realtime capabilities</a> (July 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/152436/">A new approach to kernel timers</a> (September 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/178253/">Priority inheritance in the kernel</a> (April 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191782/">Kernel Summit 2006: Realtime</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/201195/">Read-copy-update for realtime</a> (September 26, 2006)</p> <p class="IndexEntry"> <a href="/Articles/248929/">KS2007: Realtime and syslets</a> (September 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/252716/">What's in the realtime tree</a> (October 3, 2007)</p> <p class="IndexEntry"> <a href="/Articles/254711/">Fair user scheduling and other scheduler patches</a> (October 16, 2007)</p> <p class="IndexEntry"> <a href="/Articles/271817/">Realtime adaptive locks</a> (March 5, 2008)</p> <p class="IndexEntry"> <a href="/Articles/296419/">SCHED_FIFO and realtime throttling</a> (September 1, 2008)</p> <p class="IndexEntry"> <a href="/Articles/310391/">A new realtime tree</a> (December 9, 2008)</p> <p class="IndexEntry"> <a href="/Articles/319544/">Interview: the return of the realtime preemption tree</a> (February 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/345076/">The realtime preemption endgame</a> (August 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/354690/">The realtime preemption mini-summit</a> (September 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/355416/">Scenes from the Real Time Linux Workshop</a> (October 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/357800/">KS2009: Realtime preemption</a> (October 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/392154/">The state of realtime Linux</a> (June 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/397422/">Realtime Linux: academia v. reality</a> (July 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/420407/">Realtime group scheduling doesn't know JACK</a> (December 19, 2010)</p> <p class="IndexEntry"> <a href="/Articles/440064/">ELC: A PREEMPT_RT roadmap</a> (April 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/452884/">Per-CPU variables and the realtime tree</a> (July 26, 2011)</p> <p class="IndexEntry"> <a href="/Articles/520076/">Software interrupts and realtime</a> (October 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/520704/">The 2012 realtime minisummit</a> (October 24, 2012)</p> <p class="IndexEntry"> <a href="/Articles/524329/">LCE: Realtime, present and future</a> (November 13, 2012)</p> <p class="IndexEntry"> <a href="/Articles/572740/">The future of realtime Linux</a> (November 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/617140/">The future of the realtime patch set</a> (October 21, 2014)</p> <p class="IndexEntry"> <a href="/Articles/662833/">Realtime mainlining</a> (November 3, 2015)</p> <p class="IndexEntry"> <a href="/Articles/748879/">Time-based packet transmission</a> (March 8, 2018)</p> <p class="IndexEntry"> <a href="/Articles/802884/">BPF and the realtime patch set</a> (October 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/818388/">Controlling realtime priorities in kernel threads</a> (April 23, 2020)</p> <p class="IndexEntry"> <a href="/Articles/828477/">Local locks in the kernel</a> (August 11, 2020)</p> <p class="IndexEntry"> <a href="/Articles/830660/">Preparing for the realtime future</a> (September 9, 2020)</p> <p class="IndexEntry"> <a href="/Articles/836503/">Migration disable for the mainline</a> (November 9, 2020)</p> <p class="IndexEntry"> <a href="/Articles/857862/">The runtime verification subsystem</a> (June 7, 2021)</p> <p class="IndexEntry"> <a href="/Articles/866112/">Short subjects: Realtime, Futexes, and ntfs3</a> (August 16, 2021)</p> <p class="IndexEntry"> <a href="/Articles/938236/">A Q&amp;A about the realtime patches</a> (July 18, 2023)</p> <p class="IndexEntry"> <a href="/Articles/951337/">The real realtime preemption end game</a> (November 16, 2023)</p> <p class="IndexEntry"> <a href="/Articles/978189/">Nested bottom-half locking for realtime kernels</a> (June 17, 2024)</p> <p class="IndexSecondary"> <a name="Realtime-Deadline_scheduling"></a><a href="#Realtime-Deadline_scheduling">Deadline scheduling</a></p> <p class="IndexEntry"> <a href="/Articles/356576/">Deadline scheduling for Linux</a> (October 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/378044/">A new deadline scheduler patch</a> (March 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/396634/">Adding periods to SCHED_DEADLINE</a> (July 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/398470/">The IRMOS realtime scheduler</a> (August 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412745/">KS2010: Deadline scheduling</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/716982/">A deadline scheduler update</a> (March 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/743740/">Deadline scheduling part 1 — overview and theory</a> (January 16, 2018)</p> <p class="IndexEntry"> <a href="/Articles/743946/">Deadline scheduler part 2 — details and usage</a> (January 19, 2018)</p> <p class="IndexEntry"> <a href="/Articles/820882/">The deadline scheduler and CPU idle states</a> (May 22, 2020)</p> <p class="IndexEntry"> <a href="/Articles/821578/">Capacity awareness for the deadline scheduler</a> (May 29, 2020)</p> <p class="IndexPrimary"> <a name="recvmmsg"><a href="#recvmmsg">recvmmsg()</a></a></p> <p class="IndexEntry"> <a href="/Articles/334854/">In brief</a> (May 27, 2009)</p> <p class="IndexPrimary"> <a name="Red-black_trees"><a href="#Red-black_trees">Red-black trees</a></a></p> <p class="IndexEntry"> <a href="/Articles/184495/">Trees II: red-black trees</a> (June 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/388118/">Augmented red-black trees</a> (May 18, 2010)</p> <p class="IndexEntry"> <a href="/Articles/500355/">Generic red-black trees</a> (June 5, 2012)</p> <p class="IndexPrimary"> <a name="Reference_counting"><a href="#Reference_counting">Reference counting</a></a></p> <p class="IndexEntry"> <a href="/Articles/75920/">The debut of kref</a> (March 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/93617/">RCU-safe reference counting</a> (July 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/557478/">Per-CPU reference counts</a> (July 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/565734/">Introducing lockrefs</a> (September 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/575460/">A surprise with mutexes and reference counts</a> (December 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/693038/">Two approaches to reference count hardening</a> (July 7, 2016)</p> <p class="IndexEntry"> <a href="/Articles/706498/">The bumpy road to reference-count protection in the kernel</a> (November 16, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718275/">refcount_t meets the network stack</a> (March 29, 2017)</p> <p class="IndexEntry"> <a href="/Articles/728675/">Faster reference-count overflow protection</a> (July 24, 2017)</p> <p class="IndexEntry"> <a href="/Articles/786044/">Avoiding page reference-count overflows</a> (April 16, 2019)</p> <p class="IndexEntry"> <a href="/Articles/877603/">A reference-count tracking infrastructure</a> (December 6, 2021)</p> <p class="IndexPrimary"> <a name="reflink"><a href="#reflink">reflink()</a></a></p> <p class="IndexEntry"> <a href="/Articles/331808/">The two sides of reflink()</a> (May 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/333783/">This week's reflink() API</a> (May 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/351543/">In brief</a> (September 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/550621/">copy_range()</a> (May 15, 2013)</p> <p class="IndexEntry"> <a href="/Articles/659523/">copy_file_range()</a> (October 7, 2015)</p> <p class="IndexEntry"> <a href="/Articles/684826/">reflink() and other topics</a> (April 26, 2016)</p> <p class="IndexPrimary"> <a name="register_chrdev_region"><a href="#register_chrdev_region">register_chrdev_region()</a></a></p> <p class="IndexEntry"> <a href="/Articles/195805/">The cdev interface</a> (August 16, 2006)</p> <p class="IndexPrimary"> <a name="Regression_testing"><a href="#Regression_testing">Regression testing</a></a></p> <p class="IndexEntry"> <a href="/Articles/114626/">Toward better kernel releases</a> (December 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/139123/">Automated kernel testing</a> (June 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/145008/">Kernel testing and regressions: an example</a> (July 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/191924/">Kernel Summit 2006: Automated testing</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/514054/">KS2012: Regression testing</a> (August 30, 2012)</p> <p class="IndexEntry"> <a href="/Articles/591985/">Toward better testing</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/608959/">Kernel self tests</a> (August 20, 2014)</p> <p class="IndexEntry"> <a href="/Articles/662882/">Kernel testing</a> (November 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/789225/">Testing and the stable tree</a> (May 28, 2019)</p> <p class="IndexEntry"> <a href="/Articles/789538/">Storage testing</a> (May 28, 2019)</p> <p class="IndexPrimary"> <a name="Regression_tracking"><a href="#Regression_tracking">Regression tracking</a></a></p> <p class="IndexEntry"> <a href="/Articles/737666/">Kernel regression tracking, part 1</a> (October 31, 2017)</p> <p class="IndexEntry"> <a href="/Articles/738216/">Kernel regression tracking, part 2</a> (November 6, 2017)</p> <p class="IndexEntry"> <a href="/Articles/908324/">Better regression handling for the kernel</a> (September 19, 2022)</p> <p class="IndexPrimary"> <a name="Relayfs"><a href="#Relayfs">Relayfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/174660/">Some upcoming sysfs enhancements</a> (March 7, 2006)</p> <p class="IndexPrimary"> <a name="Releases"><a href="#Releases">Releases</a></a></p> <p class="IndexEntry"> <a href="/Articles/95312/">Another look at the new development model</a> (July 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/114626/">Toward better kernel releases</a> (December 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/296588/">Linux 3.0?</a> (September 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/355923/">2.6.x-rc0</a> (October 7, 2009)</p> <p class="IndexSecondary"> <a name="Releases-2.6.20"></a><a href="#Releases-2.6.20">2.6.20</a></p> <p class="IndexEntry"> <a href="/Articles/222773/">Who wrote 2.6.20?</a> (February 21, 2007)</p> <p class="IndexSecondary"> <a name="Releases-2.6.21"></a><a href="#Releases-2.6.21">2.6.21</a></p> <p class="IndexEntry"> <a href="/Articles/224760/">Who's writing 2.6.21 and related issues</a> (March 7, 2007)</p> <p class="IndexSecondary"> <a name="Releases-2.6.22"></a><a href="#Releases-2.6.22">2.6.22</a></p> <p class="IndexEntry"> <a href="/Articles/232247/">Merged (and to be merged) for 2.6.22</a> (May 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/233315/">More stuff for 2.6.22</a> (May 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/237768/">Who wrote - and approved - 2.6.22</a> (June 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/239336/">A summary of 2.6.22 internal API changes</a> (June 24, 2007)</p> <p class="IndexSecondary"> <a name="Releases-2.6.23"></a><a href="#Releases-2.6.23">2.6.23</a></p> <p class="IndexEntry"> <a href="/Articles/241311/">The 2.6.23 merge window opens</a> (July 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/241915/">Merged for 2.6.23</a> (July 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/242608/">The 2.6.23 stragglers</a> (July 23, 2007)</p> <p class="IndexEntry"> <a href="/Articles/247582/">Who wrote 2.6.23</a> (September 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/250210/">A summary of 2.6.23 internal API changes</a> (September 17, 2007)</p> <p class="IndexSecondary"> <a name="Releases-2.6.24"></a><a href="#Releases-2.6.24">2.6.24</a></p> <p class="IndexEntry"> <a href="/Articles/254559/">Merged for 2.6.24</a> (October 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/255327/">Merged for 2.6.24, part 2</a> (October 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/264440/">2.6.24 - some statistics</a> (January 9, 2008)</p> <p class="IndexSecondary"> <a name="Releases-2.6.25"></a><a href="#Releases-2.6.25">2.6.25</a></p> <p class="IndexEntry"> <a href="/Articles/266721/">What got into 2.6.25</a> (January 30, 2008)</p> <p class="IndexEntry"> <a href="/Articles/267849/">More stuff for 2.6.25</a> (February 6, 2008)</p> <p class="IndexEntry"> <a href="/Articles/268923/">Before the 2.6.25 merge window closed...</a> (February 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/275954/">Where 2.6.25 came from</a> (April 2, 2008)</p> <p class="IndexSecondary"> <a name="Releases-2.6.26"></a><a href="#Releases-2.6.26">2.6.26</a></p> <p class="IndexEntry"> <a href="/Articles/278965/">The 2.6.26 merge window opens</a> (April 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/280034/">The 2.6.26 merge window, part 2</a> (April 30, 2008)</p> <p class="IndexEntry"> <a href="/Articles/281029/">The last things through the 2.6.26 merge window</a> (May 5, 2008)</p> <p class="IndexEntry"> <a href="/Articles/284472/">A summary of 2.6.26 API changes</a> (June 11, 2008)</p> <p class="IndexEntry"> <a href="/Articles/288233/">Some development statistics for 2.6.26 - and beyond</a> (July 2, 2008)</p> <p class="IndexSecondary"> <a name="Releases-2.6.27"></a><a href="#Releases-2.6.27">2.6.27</a></p> <p class="IndexEntry"> <a href="/Articles/289990/">2.6.27: what's coming (part 1)</a> (July 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291033/">2.6.27 merge window, part 2</a> (July 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291292/">Linux-next meets the merge window</a> (July 23, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291630/">2.6.27 - the rest of the story</a> (July 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/302061/">Some development statistics for 2.6.27</a> (October 7, 2008)</p> <p class="IndexEntry"> <a href="/Articles/304105/">The source of the e1000e corruption bug</a> (October 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/306690/">Tracking of testers and bug reporters - a status report</a> (November 11, 2008)</p> <p class="IndexSecondary"> <a name="Releases-2.6.28"></a><a href="#Releases-2.6.28">2.6.28</a></p> <p class="IndexEntry"> <a href="/Articles/302754/">Merged for 2.6.28</a> (October 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/303609/">2.6.28 merge window, part 2</a> (October 22, 2008)</p> <p class="IndexEntry"> <a href="/Articles/304592/">Closing out the 2.6.28 merge window</a> (October 27, 2008)</p> <p class="IndexEntry"> <a href="/Articles/312074/">Development statistics for 2.6.28</a> (December 18, 2008)</p> <p class="IndexSecondary"> <a name="Releases-2.6.29"></a><a href="#Releases-2.6.29">2.6.29</a></p> <p class="IndexEntry"> <a href="/Articles/313521/">2.6.29 merge window, part 1</a> (January 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/314772/">2.6.29 merge window, part 2</a> (January 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/320721/">A summary of 2.6.29 internal API changes</a> (March 3, 2009)</p> <p class="IndexEntry"> <a href="/Articles/324046/">Where 2.6.29 came from</a> (March 18, 2009)</p> <p class="IndexSecondary"> <a name="Releases-2.6.30"></a><a href="#Releases-2.6.30">2.6.30</a></p> <p class="IndexEntry"> <a href="/Articles/325921/">2.6.30 merge window, part I</a> (April 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/327004/">2.6.30 merge window, part 2</a> (April 8, 2009)</p> <p class="IndexEntry"> <a href="/Articles/334721/">Developer statistics for 2.6.30</a> (May 27, 2009)</p> <p class="IndexSecondary"> <a name="Releases-2.6.31"></a><a href="#Releases-2.6.31">2.6.31</a></p> <p class="IndexEntry"> <a href="/Articles/336953/">2.6.31 merge window, week 1</a> (June 17, 2009)</p> <p class="IndexEntry"> <a href="/Articles/338063/">2.6.31 merge window, week 2</a> (June 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/348445/">Development statistics for 2.6.31</a> (August 26, 2009)</p> <p class="IndexSecondary"> <a name="Releases-2.6.32"></a><a href="#Releases-2.6.32">2.6.32</a></p> <p class="IndexEntry"> <a href="/Articles/352644/">2.6.32 merge window, part 1</a> (September 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/353501/">2.6.32 merge window, part 2</a> (September 23, 2009)</p> <p class="IndexEntry"> <a href="/Articles/354842/">2.6.32 merge window, part 3</a> (September 30, 2009)</p> <p class="IndexEntry"> <a href="/Articles/363456/">Who wrote 2.6.32</a> (November 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/375335/">2.6.32.9 Release notes</a> (February 21, 2010)</p> <p class="IndexSecondary"> <a name="Releases-2.6.33"></a><a href="#Releases-2.6.33">2.6.33</a></p> <p class="IndexEntry"> <a href="/Articles/365443/">2.6.33 merge window part 1</a> (December 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366436/">2.6.33 merge window part 2</a> (December 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/373405/">Who wrote 2.6.33</a> (February 9, 2010)</p> <p class="IndexEntry"> <a href="/Articles/374574/">How old is our kernel?</a> (February 17, 2010)</p> <p class="IndexSecondary"> <a name="Releases-2.6.34"></a><a href="#Releases-2.6.34">2.6.34</a></p> <p class="IndexEntry"> <a href="/Articles/376508/">2.6.34 Merge window, part 1</a> (March 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/377766/">2.6.34 Merge window, part 2</a> (March 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/385949/">Kernel development statistics for 2.6.34 and beyond</a> (May 4, 2010)</p> <p class="IndexSecondary"> <a name="Releases-2.6.35"></a><a href="#Releases-2.6.35">2.6.35</a></p> <p class="IndexEntry"> <a href="/Articles/388109/">2.6.35 merge window part 1</a> (May 19, 2010)</p> <p class="IndexEntry"> <a href="/Articles/388959/">2.6.35 merge window part 2</a> (May 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/389932/">2.6.35 merge window part 3</a> (May 31, 2010)</p> <p class="IndexEntry"> <a href="/Articles/395961/">Kernel development statistics for 2.6.35</a> (July 14, 2010)</p> <p class="IndexSecondary"> <a name="Releases-2.6.36"></a><a href="#Releases-2.6.36">2.6.36</a></p> <p class="IndexEntry"> <a href="/Articles/398684/">2.6.36 merge window part 1</a> (August 4, 2010)</p> <p class="IndexEntry"> <a href="/Articles/399052/">2.6.36 merge window: the sequel</a> (August 11, 2010)</p> <p class="IndexEntry"> <a href="/Articles/400074/">The conclusion of the 2.6.36 merge window</a> (August 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/409256/">Statistics for the 2.6.36 development cycle</a> (October 13, 2010)</p> <p class="IndexSecondary"> <a name="Releases-2.6.37"></a><a href="#Releases-2.6.37">2.6.37</a></p> <p class="IndexEntry"> <a href="/Articles/411590/">2.6.37 merge window, part 1</a> (October 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412459/">The second half of the 2.6.37 merge window</a> (November 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/420658/">Who wrote 2.6.37</a> (December 30, 2010)</p> <p class="IndexSecondary"> <a name="Releases-2.6.38"></a><a href="#Releases-2.6.38">2.6.38</a></p> <p class="IndexEntry"> <a href="/Articles/422420/">2.6.38 merge window part 1</a> (January 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/423541/">2.6.38 merge window part 2</a> (January 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/429912/">Who wrote 2.6.38</a> (March 2, 2011)</p> <p class="IndexSecondary"> <a name="Releases-2.6.39"></a><a href="#Releases-2.6.39">2.6.39</a></p> <p class="IndexEntry"> <a href="/Articles/433854/">2.6.39 merge window part 1</a> (March 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/434637/">2.6.39 merge window, part 2</a> (March 23, 2011)</p> <p class="IndexEntry"> <a href="/Articles/435716/">The 2.6.39 merge window concludes</a> (March 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/442229/">2.6.39 development statistics</a> (May 10, 2011)</p> <p class="IndexSecondary"> <a name="Releases-3.0"></a><a href="#Releases-3.0">3.0</a></p> <p class="IndexEntry"> <a href="/Articles/444288/">What's coming in $NEXT_KERNEL_VERSION, part 1</a> (May 25, 2011)</p> <p class="IndexEntry"> <a href="/Articles/445066/">3.0 merge window part 2</a> (June 1, 2011)</p> <p class="IndexEntry"> <a href="/Articles/451243/">Who wrote 3.0 - from two points of view</a> (July 13, 2011)</p> <p class="IndexSecondary"> <a name="Releases-3.1"></a><a href="#Releases-3.1">3.1</a></p> <p class="IndexEntry"> <a href="/Articles/452748/">3.1 merge window part 1</a> (July 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/453700/">3.1 merge window part 2</a> (August 3, 2011)</p> <p class="IndexEntry"> <a href="/Articles/460597/">A look at the 3.1 development cycle</a> (September 28, 2011)</p> <p class="IndexSecondary"> <a name="Releases-3.10"></a><a href="#Releases-3.10">3.10</a></p> <p class="IndexEntry"> <a href="/Articles/548834/">What's coming in 3.10, part 1</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/549477/">What's coming in 3.10, part 2</a> (May 8, 2013)</p> <p class="IndexEntry"> <a href="/Articles/550205/">The conclusion of the 3.10 merge window</a> (May 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/555968/">Contribution statistics for the 3.10 development cycle</a> (June 26, 2013)</p> <p class="IndexSecondary"> <a name="Releases-3.11"></a><a href="#Releases-3.11">3.11</a></p> <p class="IndexEntry"> <a href="/Articles/557314/">The 3.11 merge window opens</a> (July 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/558126/">3.11 merge window part 2</a> (July 10, 2013)</p> <p class="IndexEntry"> <a href="/Articles/558940/">The 3.11 merge window closes</a> (July 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/563977/">Some numbers from the 3.11 development cycle</a> (August 21, 2013)</p> <p class="IndexSecondary"> <a name="Releases-3.12"></a><a href="#Releases-3.12">3.12</a></p> <p class="IndexEntry"> <a href="/Articles/565715/">The 3.12 merge window opens</a> (September 5, 2013)</p> <p class="IndexEntry"> <a href="/Articles/566122/">3.12 merge window, part 2</a> (September 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/566546/">The end of the 3.12 merge window</a> (September 17, 2013)</p> <p class="IndexEntry"> <a href="/Articles/570483/">A look at the 3.12 development cycle</a> (October 23, 2013)</p> <p class="IndexSecondary"> <a name="Releases-3.13"></a><a href="#Releases-3.13">3.13</a></p> <p class="IndexEntry"> <a href="/Articles/573272/">3.13 Merge window, part 1</a> (November 13, 2013)</p> <p class="IndexEntry"> <a href="/Articles/574222/">3.13 Merge window, part 2</a> (November 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/574965/">The conclusion of the 3.13 merge window</a> (November 26, 2013)</p> <p class="IndexEntry"> <a href="/Articles/579081/">Some 3.13 development statistics</a> (January 8, 2014)</p> <p class="IndexSecondary"> <a name="Releases-3.14"></a><a href="#Releases-3.14">3.14</a></p> <p class="IndexEntry"> <a href="/Articles/581657/">3.14 Merge window part 1</a> (January 22, 2014)</p> <p class="IndexEntry"> <a href="/Articles/582352/">3.14 Merge window part 2</a> (January 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/583681/">3.14 Merge window part 3</a> (February 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/590354/">3.14 development statistics</a> (March 12, 2014)</p> <p class="IndexSecondary"> <a name="Releases-3.15"></a><a href="#Releases-3.15">3.15</a></p> <p class="IndexEntry"> <a href="/Articles/592989/">3.15 Merge window, part 1</a> (April 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/594864/">3.15 Merge window, part 2</a> (April 16, 2014)</p> <p class="IndexEntry"> <a href="/Articles/613006/">Who wrote 3.15 through 3.17</a> (September 24, 2014)</p> <p class="IndexSecondary"> <a name="Releases-3.16"></a><a href="#Releases-3.16">3.16</a></p> <p class="IndexEntry"> <a href="/Articles/601152/">3.16 merge window, part 1</a> (June 4, 2014)</p> <p class="IndexEntry"> <a href="/Articles/601726/">3.16 merge window, part 2</a> (June 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/602212/">The 3.16 merge window concludes</a> (June 18, 2014)</p> <p class="IndexEntry"> <a href="/Articles/613006/">Who wrote 3.15 through 3.17</a> (September 24, 2014)</p> <p class="IndexSecondary"> <a name="Releases-3.17"></a><a href="#Releases-3.17">3.17</a></p> <p class="IndexEntry"> <a href="/Articles/607627/">3.17 merge window part 1</a> (August 6, 2014)</p> <p class="IndexEntry"> <a href="/Articles/608434/">3.17 merge window, part 2</a> (August 13, 2014)</p> <p class="IndexEntry"> <a href="/Articles/608748/">3.17 Merge window, part 3</a> (August 20, 2014)</p> <p class="IndexEntry"> <a href="/Articles/613006/">Who wrote 3.15 through 3.17</a> (September 24, 2014)</p> <p class="IndexSecondary"> <a name="Releases-3.18"></a><a href="#Releases-3.18">3.18</a></p> <p class="IndexEntry"> <a href="/Articles/615327/">3.18 Merge window part 1</a> (October 8, 2014)</p> <p class="IndexEntry"> <a href="/Articles/615825/">3.18 Merge window part 2</a> (October 15, 2014)</p> <p class="IndexEntry"> <a href="/Articles/617599/">3.18 Merge window part 3</a> (October 22, 2014)</p> <p class="IndexEntry"> <a href="/Articles/620827/">Some 3.18 development statistics</a> (November 25, 2014)</p> <p class="IndexSecondary"> <a name="Releases-3.19"></a><a href="#Releases-3.19">3.19</a></p> <p class="IndexEntry"> <a href="/Articles/625146/">The 3.19 merge window opens</a> (December 10, 2014)</p> <p class="IndexEntry"> <a href="/Articles/626150/">3.19 Merge window part 2</a> (December 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/627202/">The end of the 3.19 merge window</a> (December 22, 2014)</p> <p class="IndexEntry"> <a href="/Articles/631509/">Statistics from the 3.19 development cycle</a> (February 4, 2015)</p> <p class="IndexSecondary"> <a name="Releases-3.2"></a><a href="#Releases-3.2">3.2</a></p> <p class="IndexEntry"> <a href="/Articles/465066/">3.2 merge window, part 1</a> (November 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/465738/">The second half of the 3.2 merge window</a> (November 8, 2011)</p> <p class="IndexEntry"> <a href="/Articles/472852/">Some numbers from the 3.2 development cycle</a> (December 21, 2011)</p> <p class="IndexSecondary"> <a name="Releases-3.3"></a><a href="#Releases-3.3">3.3</a></p> <p class="IndexEntry"> <a href="/Articles/474645/">The first half of the 3.3 merge window</a> (January 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/475405/">3.3 merge window part 2</a> (January 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/485058/">Statistics for the 3.3 development cycle</a> (March 6, 2012)</p> <p class="IndexSecondary"> <a name="Releases-3.4"></a><a href="#Releases-3.4">3.4</a></p> <p class="IndexEntry"> <a href="/Articles/487417/">3.4 Merge window part 1</a> (March 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/488131/">3.4 Merge window part 2</a> (March 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/489665/">The conclusion of the 3.4 merge window</a> (April 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/496193/">Statistics from the 3.4 development cycle</a> (May 8, 2012)</p> <p class="IndexSecondary"> <a name="Releases-3.5"></a><a href="#Releases-3.5">3.5</a></p> <p class="IndexEntry"> <a href="/Articles/498116/">The 3.5 merge window opens</a> (May 23, 2012)</p> <p class="IndexEntry"> <a href="/Articles/498693/">3.5 merge window part 2</a> (May 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/500212/">The conclusion of the 3.5 merge window</a> (June 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/507986/">Who wrote 3.5</a> (July 25, 2012)</p> <p class="IndexSecondary"> <a name="Releases-3.6"></a><a href="#Releases-3.6">3.6</a></p> <p class="IndexEntry"> <a href="/Articles/507852/">3.6 merge window part 1</a> (July 25, 2012)</p> <p class="IndexEntry"> <a href="/Articles/508790/">3.6 merge window part 2</a> (August 1, 2012)</p> <p class="IndexEntry"> <a href="/Articles/509433/">The conclusion of the 3.6 merge window</a> (August 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/517564/">Where the 3.6 kernel came from</a> (September 26, 2012)</p> <p class="IndexSecondary"> <a name="Releases-3.7"></a><a href="#Releases-3.7">3.7</a></p> <p class="IndexEntry"> <a href="/Articles/518275/">3.7 Merge window part 1</a> (October 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/519883/">3.7 merge window: conclusion and summary</a> (October 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/527191/">Statistics from the 3.7 development cycle</a> (November 28, 2012)</p> <p class="IndexSecondary"> <a name="Releases-3.8"></a><a href="#Releases-3.8">3.8</a></p> <p class="IndexEntry"> <a href="/Articles/528893/">3.8 Merge window part 1</a> (December 12, 2012)</p> <p class="IndexEntry"> <a href="/Articles/529313/">3.8 Merge window part 2</a> (December 19, 2012)</p> <p class="IndexEntry"> <a href="/Articles/537110/">Some 3.8 development statistics</a> (February 13, 2013)</p> <p class="IndexSecondary"> <a name="Releases-3.9"></a><a href="#Releases-3.9">3.9</a></p> <p class="IndexEntry"> <a href="/Articles/539179/">3.9 Merge window part 1</a> (February 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/539892/">3.9 Merge window, second episode</a> (February 27, 2013)</p> <p class="IndexEntry"> <a href="/Articles/540994/">The conclusion of the 3.9 merge window</a> (March 5, 2013)</p> <p class="IndexEntry"> <a href="/Articles/547073/">Statistics from the 3.9 development cycle</a> (April 17, 2013)</p> <p class="IndexSecondary"> <a name="Releases-4.0"></a><a href="#Releases-4.0">4.0</a></p> <p class="IndexEntry"> <a href="/Articles/632761/">The 3.20 merge window opens</a> (February 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/633096/">3.20 merge window part 2</a> (February 18, 2015)</p> <p class="IndexEntry"> <a href="/Articles/634471/">The end of the 4.0 merge window</a> (February 24, 2015)</p> <p class="IndexEntry"> <a href="/Articles/637909/">Statistics from the 4.0 development cycle</a> (April 1, 2015)</p> <p class="IndexSecondary"> <a name="Releases-4.1"></a><a href="#Releases-4.1">4.1</a></p> <p class="IndexEntry"> <a href="/Articles/640297/">4.1 Merge window, part 1</a> (April 15, 2015)</p> <p class="IndexEntry"> <a href="/Articles/641016/">4.1 Merge window, part 2</a> (April 22, 2015)</p> <p class="IndexEntry"> <a href="/Articles/642039/">The 4.1 merge window closes</a> (April 28, 2015)</p> <p class="IndexEntry"> <a href="/Articles/646942/">4.1 development statistics</a> (June 3, 2015)</p> <p class="IndexSecondary"> <a name="Releases-4.10"></a><a href="#Releases-4.10">4.10</a></p> <p class="IndexEntry"> <a href="/Articles/709017/">4.10 Merge window part 1</a> (December 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/709556/">4.10 Merge window part 2</a> (December 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/710493/">Finishing out the 4.10 merge window</a> (January 3, 2017)</p> <p class="IndexEntry"> <a href="/Articles/713803/">Some 4.10 Development statistics</a> (February 8, 2017)</p> <p class="IndexSecondary"> <a name="Releases-4.11"></a><a href="#Releases-4.11">4.11</a></p> <p class="IndexEntry"> <a href="/Articles/715161/">The 4.11 merge window opens</a> (February 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/715781/">4.11 Merge window part 2</a> (March 1, 2017)</p> <p class="IndexEntry"> <a href="/Articles/716302/">The end of the 4.11 merge window</a> (March 7, 2017)</p> <p class="IndexEntry"> <a href="/Articles/720336/">4.11 Kernel development statistics</a> (April 19, 2017)</p> <p class="IndexSecondary"> <a name="Releases-4.12"></a><a href="#Releases-4.12">4.12</a></p> <p class="IndexEntry"> <a href="/Articles/721581/">4.12 Merge window part 1</a> (May 3, 2017)</p> <p class="IndexEntry"> <a href="/Articles/722183/">4.12 Merge window part 2</a> (May 10, 2017)</p> <p class="IndexEntry"> <a href="/Articles/722512/">The end of the 4.12 merge window</a> (May 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/726950/">Some 4.12 development statistics</a> (July 4, 2017)</p> <p class="IndexSecondary"> <a name="Releases-4.13"></a><a href="#Releases-4.13">4.13</a></p> <p class="IndexEntry"> <a href="/Articles/727385/">4.13 Merge window, part 1</a> (July 10, 2017)</p> <p class="IndexEntry"> <a href="/Articles/727852/">4.13 Merge window, part 2</a> (July 16, 2017)</p> <p class="IndexEntry"> <a href="/Articles/731794/">Development statistics for the 4.13 kernel</a> (August 24, 2017)</p> <p class="IndexSecondary"> <a name="Releases-4.14"></a><a href="#Releases-4.14">4.14</a></p> <p class="IndexEntry"> <a href="/Articles/733175/">The first half of the 4.14 merge window</a> (September 8, 2017)</p> <p class="IndexEntry"> <a href="/Articles/733846/">The rest of the 4.14 merge window</a> (September 17, 2017)</p> <p class="IndexEntry"> <a href="/Articles/736578/">A look at the 4.14 development cycle</a> (October 20, 2017)</p> <p class="IndexEntry"> <a href="/Articles/737093/">Patch flow into the mainline for 4.14</a> (October 24, 2017)</p> <p class="IndexSecondary"> <a name="Releases-4.15"></a><a href="#Releases-4.15">4.15</a></p> <p class="IndexEntry"> <a href="/Articles/739341/">4.15 Merge window part 1</a> (November 17, 2017)</p> <p class="IndexEntry"> <a href="/Articles/740064/">4.15 Merge window part 2</a> (November 28, 2017)</p> <p class="IndexEntry"> <a href="/Articles/742672/">Statistics for the 4.15 kernel</a> (January 3, 2018)</p> <p class="IndexSecondary"> <a name="Releases-4.16"></a><a href="#Releases-4.16">4.16</a></p> <p class="IndexEntry"> <a href="/Articles/746129/">4.16 Merge window part 1</a> (February 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/746791/">The rest of the 4.16 merge window</a> (February 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/750054/">Some 4.16 and -stable development statistics</a> (March 26, 2018)</p> <p class="IndexSecondary"> <a name="Releases-4.17"></a><a href="#Releases-4.17">4.17</a></p> <p class="IndexEntry"> <a href="/Articles/750928/">The first half of the 4.17 merge window</a> (April 5, 2018)</p> <p class="IndexEntry"> <a href="/Articles/751482/">The second half of the 4.17 merge window</a> (April 16, 2018)</p> <p class="IndexEntry"> <a href="/Articles/756031/">Statistics from the 4.17 kernel development cycle</a> (May 31, 2018)</p> <p class="IndexSecondary"> <a name="Releases-4.18"></a><a href="#Releases-4.18">4.18</a></p> <p class="IndexEntry"> <a href="/Articles/756898/">4.18 Merge window, part 1</a> (June 8, 2018)</p> <p class="IndexEntry"> <a href="/Articles/757187/">4.18 Merge window, part 2</a> (June 17, 2018)</p> <p class="IndexEntry"> <a href="/Articles/760690/">Statistics from the 4.18 development cycle</a> (July 24, 2018)</p> <p class="IndexSecondary"> <a name="Releases-4.19"></a><a href="#Releases-4.19">4.19</a></p> <p class="IndexEntry"> <a href="/Articles/762566/">The first half of the 4.19 merge window</a> (August 17, 2018)</p> <p class="IndexEntry"> <a href="/Articles/763106/">The second half of the 4.19 merge window</a> (August 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/767635/">Some numbers from the 4.19 development cycle</a> (October 7, 2018)</p> <p class="IndexEntry"> <a href="/Articles/1000933/">A last look at the 4.19 stable series</a> (December 12, 2024)</p> <p class="IndexSecondary"> <a name="Releases-4.2"></a><a href="#Releases-4.2">4.2</a></p> <p class="IndexEntry"> <a href="/Articles/648995/">4.2 Merge window part 1</a> (June 24, 2015)</p> <p class="IndexEntry"> <a href="/Articles/649652/">4.2 Merge window part 2</a> (July 1, 2015)</p> <p class="IndexEntry"> <a href="/Articles/650299/">4.2 Merge window part 3</a> (July 7, 2015)</p> <p class="IndexEntry"> <a href="/Articles/654633/">Development statistics for the 4.2 kernel</a> (August 18, 2015)</p> <p class="IndexSecondary"> <a name="Releases-4.20"></a><a href="#Releases-4.20">4.20</a></p> <p class="IndexEntry"> <a href="/Articles/769477/">4.20/5.0 Merge window part 1</a> (October 26, 2018)</p> <p class="IndexEntry"> <a href="/Articles/770079/">4.20 Merge window part 2</a> (November 5, 2018)</p> <p class="IndexEntry"> <a href="/Articles/775440/">Some 4.20 development statistics</a> (December 21, 2018)</p> <p class="IndexSecondary"> <a name="Releases-4.3"></a><a href="#Releases-4.3">4.3</a></p> <p class="IndexEntry"> <a href="/Articles/656267/">4.3 Merge window, part 1</a> (September 2, 2015)</p> <p class="IndexEntry"> <a href="/Articles/656731/">4.3 Merge window, part 2</a> (September 10, 2015)</p> <p class="IndexEntry"> <a href="/Articles/657325/">4.3 Merge window, part 3</a> (September 14, 2015)</p> <p class="IndexEntry"> <a href="/Articles/661978/">Where 4.3 came from</a> (October 27, 2015)</p> <p class="IndexSecondary"> <a name="Releases-4.4"></a><a href="#Releases-4.4">4.4</a></p> <p class="IndexEntry"> <a href="/Articles/663742/">4.4 Merge window, part 1</a> (November 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/664461/">4.4 Merge window, part 2</a> (November 18, 2015)</p> <p class="IndexEntry"> <a href="/Articles/668870/">Some 4.4 development statistics</a> (December 23, 2015)</p> <p class="IndexEntry"> <a href="/Articles/670209/">How 4.4's patches got to the mainline</a> (January 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/884787/">A last look at the 4.4 stable series</a> (February 17, 2022)</p> <p class="IndexSecondary"> <a name="Releases-4.5"></a><a href="#Releases-4.5">4.5</a></p> <p class="IndexEntry"> <a href="/Articles/671470/">The 4.5 merge window opens</a> (January 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/672344/">4.5 merge window part 2</a> (January 20, 2016)</p> <p class="IndexEntry"> <a href="/Articles/673312/">4.5 merge window part 3</a> (January 25, 2016)</p> <p class="IndexEntry"> <a href="/Articles/679289/">Some 4.5 Development statistics</a> (March 9, 2016)</p> <p class="IndexSecondary"> <a name="Releases-4.6"></a><a href="#Releases-4.6">4.6</a></p> <p class="IndexEntry"> <a href="/Articles/680121/">The 4.6 merge window opens</a> (March 16, 2016)</p> <p class="IndexEntry"> <a href="/Articles/680566/">4.6 Merge window part 2</a> (March 23, 2016)</p> <p class="IndexEntry"> <a href="/Articles/681539/">The end of the 4.6 merge window</a> (March 30, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686697/">Some numbers from the 4.6 development cycle</a> (May 11, 2016)</p> <p class="IndexSecondary"> <a name="Releases-4.7"></a><a href="#Releases-4.7">4.7</a></p> <p class="IndexEntry"> <a href="/Articles/686943/">4.7 Merge window, part 1</a> (May 18, 2016)</p> <p class="IndexEntry"> <a href="/Articles/688217/">4.7 Merge window, part 2</a> (May 25, 2016)</p> <p class="IndexEntry"> <a href="/Articles/689257/">The end of the 4.7 merge window</a> (June 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/695993/">Statistics from the 4.7 development cycle</a> (August 2, 2016)</p> <p class="IndexSecondary"> <a name="Releases-4.8"></a><a href="#Releases-4.8">4.8</a></p> <p class="IndexEntry"> <a href="/Articles/695294/">4.8 merge window part 1</a> (July 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/696073/">4.8 Merge window part 2</a> (August 3, 2016)</p> <p class="IndexEntry"> <a href="/Articles/696720/">The end of the 4.8 merge window</a> (August 10, 2016)</p> <p class="IndexEntry"> <a href="/Articles/701650/">A look at the 4.8 development cycle</a> (September 28, 2016)</p> <p class="IndexSecondary"> <a name="Releases-4.9"></a><a href="#Releases-4.9">4.9</a></p> <p class="IndexEntry"> <a href="/Articles/702590/">4.9 Merge window part 1</a> (October 5, 2016)</p> <p class="IndexEntry"> <a href="/Articles/703110/">4.9 Merge window part 2</a> (October 12, 2016)</p> <p class="IndexEntry"> <a href="/Articles/703779/">The end of the 4.9 merge window</a> (October 19, 2016)</p> <p class="IndexEntry"> <a href="/Articles/708266/">Development statistics for 4.9</a> (December 7, 2016)</p> <p class="IndexEntry"> <a href="/Articles/919570/">Six years with the 4.9 kernel</a> (January 12, 2023)</p> <p class="IndexSecondary"> <a name="Releases-5.0"></a><a href="#Releases-5.0">5.0</a></p> <p class="IndexEntry"> <a href="/Articles/775698/">What's coming in the next kernel release (part 1)</a> (December 31, 2018)</p> <p class="IndexEntry"> <a href="/Articles/776034/">The rest of the 5.0 merge window</a> (January 7, 2019)</p> <p class="IndexEntry"> <a href="/Articles/780271/">Development statistics for the 5.0 kernel</a> (February 21, 2019)</p> <p class="IndexSecondary"> <a name="Releases-5.1"></a><a href="#Releases-5.1">5.1</a></p> <p class="IndexEntry"> <a href="/Articles/782511/">5.1 Merge window part 1</a> (March 8, 2019)</p> <p class="IndexEntry"> <a href="/Articles/783084/">5.1 Merge window part 2</a> (March 17, 2019)</p> <p class="IndexEntry"> <a href="/Articles/786638/">Some 5.1 development statistics</a> (April 25, 2019)</p> <p class="IndexSecondary"> <a name="Releases-5.10"></a><a href="#Releases-5.10">5.10</a></p> <p class="IndexEntry"> <a href="/Articles/834157/">5.10 Merge window, part 1</a> (October 16, 2020)</p> <p class="IndexEntry"> <a href="/Articles/834504/">The rest of the 5.10 merge window</a> (October 26, 2020)</p> <p class="IndexEntry"> <a href="/Articles/839772/">Statistics from the 5.10 kernel development cycle</a> (December 14, 2020)</p> <p class="IndexSecondary"> <a name="Releases-5.11"></a><a href="#Releases-5.11">5.11</a></p> <p class="IndexEntry"> <a href="/Articles/840129/">5.11 Merge window, part 1</a> (December 18, 2020)</p> <p class="IndexEntry"> <a href="/Articles/841062/">5.11 Merge window, part 2</a> (December 28, 2020)</p> <p class="IndexEntry"> <a href="/Articles/845831/">Development statistics for the 5.11 kernel</a> (February 15, 2021)</p> <p class="IndexSecondary"> <a name="Releases-5.12"></a><a href="#Releases-5.12">5.12</a></p> <p class="IndexEntry"> <a href="/Articles/847057/">5.12 Merge window, part 1</a> (February 22, 2021)</p> <p class="IndexEntry"> <a href="/Articles/847451/">5.12 merge window, part 2</a> (March 1, 2021)</p> <p class="IndexEntry"> <a href="/Articles/848431/">Linux 5.12's very bad, double ungood day</a> (March 8, 2021)</p> <p class="IndexEntry"> <a href="/Articles/853039/">Some 5.12 development statistics</a> (April 26, 2021)</p> <p class="IndexSecondary"> <a name="Releases-5.13"></a><a href="#Releases-5.13">5.13</a></p> <p class="IndexEntry"> <a href="/Articles/854536/">The first half of the 5.13 merge window</a> (April 30, 2021)</p> <p class="IndexEntry"> <a href="/Articles/855140/">The second half of the 5.13 merge window</a> (May 10, 2021)</p> <p class="IndexEntry"> <a href="/Articles/856005/">Calling kernel functions from BPF</a> (May 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/856312/">Exported-symbol changes in 5.13</a> (May 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/856514/">Control-flow integrity in 5.13</a> (May 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/859679/">quotactl_path() becomes quotactl_fd()</a> (June 14, 2021)</p> <p class="IndexEntry"> <a href="/Articles/859908/">Landlock (finally) sets sail</a> (June 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/860989/">Some 5.13 development statistics</a> (June 28, 2021)</p> <p class="IndexSecondary"> <a name="Releases-5.14"></a><a href="#Releases-5.14">5.14</a></p> <p class="IndexEntry"> <a href="/Articles/861248/">The first half of the 5.14 merge window</a> (July 2, 2021)</p> <p class="IndexEntry"> <a href="/Articles/861251/">Core scheduling lands in 5.14</a> (July 1, 2021)</p> <p class="IndexEntry"> <a href="/Articles/861695/">The conclusion of the 5.14 merge window</a> (July 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/865256/">memfd_secret() in 5.14</a> (August 6, 2021)</p> <p class="IndexEntry"> <a href="/Articles/867540/">Some 5.14 development statistics</a> (August 30, 2021)</p> <p class="IndexSecondary"> <a name="Releases-5.15"></a><a href="#Releases-5.15">5.15</a></p> <p class="IndexEntry"> <a href="/Articles/812707/">Memory-management optimization with DAMON</a> (February 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/867821/">5.15 Merge window, part 1</a> (September 2, 2021)</p> <p class="IndexEntry"> <a href="/Articles/868221/">The rest of the 5.15 merge window</a> (September 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/871866/">A rough start for ksmbd</a> (October 7, 2021)</p> <p class="IndexEntry"> <a href="/Articles/874283/">Some 5.15 development statistics</a> (November 1, 2021)</p> <p class="IndexSecondary"> <a name="Releases-5.16"></a><a href="#Releases-5.16">5.16</a></p> <p class="IndexEntry"> <a href="/Articles/874683/">5.16 Merge window, part 1</a> (November 4, 2021)</p> <p class="IndexEntry"> <a href="/Articles/874846/">Intel AMX support in 5.16</a> (November 8, 2021)</p> <p class="IndexEntry"> <a href="/Articles/875135/">5.16 Merge window, part 2</a> (November 15, 2021)</p> <p class="IndexEntry"> <a href="/Articles/878768/">SA_IMMUTABLE and the hazards of messing with signals</a> (December 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/880699/">Some 5.16 kernel development statistics</a> (January 10, 2022)</p> <p class="IndexSecondary"> <a name="Releases-5.17"></a><a href="#Releases-5.17">5.17</a></p> <p class="IndexEntry"> <a href="/Articles/880909/">The first half of the 5.17 merge window</a> (January 13, 2022)</p> <p class="IndexEntry"> <a href="/Articles/881597/">The rest of the 5.17 merge window</a> (January 24, 2022)</p> <p class="IndexEntry"> <a href="/Articles/887559/">A look at some 5.17 development statistics</a> (March 21, 2022)</p> <p class="IndexSecondary"> <a name="Releases-5.18"></a><a href="#Releases-5.18">5.18</a></p> <p class="IndexEntry"> <a href="/Articles/883454/">A memory allocator for BPF code</a> (February 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/888736/">5.18 Merge window, part 1</a> (March 25, 2022)</p> <p class="IndexEntry"> <a href="/Articles/889266/">5.18 Merge window, part 2</a> (April 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/889475/">Indirect branch tracking for Intel CPUs</a> (March 31, 2022)</p> <p class="IndexEntry"> <a href="/Articles/892743/">The BPF allocator runs into trouble</a> (April 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/895800/">Statistics from the 5.18 development cycle</a> (May 23, 2022)</p> <p class="IndexSecondary"> <a name="Releases-5.19"></a><a href="#Releases-5.19">5.19</a></p> <p class="IndexEntry"> <a href="/Articles/896140/">5.19 Merge window, part 1</a> (May 27, 2022)</p> <p class="IndexEntry"> <a href="/Articles/896410/">5.19 Merge window, part 2</a> (June 6, 2022)</p> <p class="IndexEntry"> <a href="/Articles/902854/">Some 5.19 development statistics</a> (August 1, 2022)</p> <p class="IndexSecondary"> <a name="Releases-5.2"></a><a href="#Releases-5.2">5.2</a></p> <p class="IndexEntry"> <a href="/Articles/787963/">The first half of the 5.2 merge window</a> (May 10, 2019)</p> <p class="IndexEntry"> <a href="/Articles/788532/">The rest of the 5.2 merge window</a> (May 20, 2019)</p> <p class="IndexEntry"> <a href="/Articles/791606/">Statistics from the 5.2 kernel — and before</a> (June 21, 2019)</p> <p class="IndexSecondary"> <a name="Releases-5.3"></a><a href="#Releases-5.3">5.3</a></p> <p class="IndexEntry"> <a href="/Articles/793246/">5.3 Merge window, part 1</a> (July 12, 2019)</p> <p class="IndexEntry"> <a href="/Articles/793629/">5.3 Merge window, part 2</a> (July 22, 2019)</p> <p class="IndexEntry"> <a href="/Articles/798505/">5.3 Kernel development cycle statistics</a> (September 9, 2019)</p> <p class="IndexSecondary"> <a name="Releases-5.4"></a><a href="#Releases-5.4">5.4</a></p> <p class="IndexEntry"> <a href="/Articles/799425/">5.4 Merge window, part 1</a> (September 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/800500/">5.4 Merge window, part 2</a> (September 30, 2019)</p> <p class="IndexEntry"> <a href="/Articles/804119/">Statistics from the 5.4 development cycle</a> (November 7, 2019)</p> <p class="IndexSecondary"> <a name="Releases-5.5"></a><a href="#Releases-5.5">5.5</a></p> <p class="IndexEntry"> <a href="/Articles/806010/">5.5 Merge window, part 1</a> (December 2, 2019)</p> <p class="IndexEntry"> <a href="/Articles/806576/">The end of the 5.5 merge window</a> (December 9, 2019)</p> <p class="IndexEntry"> <a href="/Articles/810639/">Some 5.5 kernel development statistics</a> (January 28, 2020)</p> <p class="IndexSecondary"> <a name="Releases-5.6"></a><a href="#Releases-5.6">5.6</a></p> <p class="IndexEntry"> <a href="/Articles/810780/">The 5.6 merge window opens</a> (January 30, 2020)</p> <p class="IndexEntry"> <a href="/Articles/811230/">The rest of the 5.6 merge window</a> (February 10, 2020)</p> <p class="IndexEntry"> <a href="/Articles/816162/">Some 5.6 kernel development statistics</a> (March 30, 2020)</p> <p class="IndexSecondary"> <a name="Releases-5.7"></a><a href="#Releases-5.7">5.7</a></p> <p class="IndexEntry"> <a href="/Articles/816313/">5.7 Merge window part 1</a> (April 3, 2020)</p> <p class="IndexEntry"> <a href="/Articles/816934/">5.7 Merge window part 2</a> (April 13, 2020)</p> <p class="IndexEntry"> <a href="/Articles/821813/">Development statistics for the 5.7 kernel</a> (June 2, 2020)</p> <p class="IndexSecondary"> <a name="Releases-5.8"></a><a href="#Releases-5.8">5.8</a></p> <p class="IndexEntry"> <a href="/Articles/822077/">5.8 Merge window, part 1</a> (June 5, 2020)</p> <p class="IndexEntry"> <a href="/Articles/822527/">5.8 Merge window, part 2</a> (June 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/827735/">Some statistics from the 5.8 kernel cycle</a> (August 3, 2020)</p> <p class="IndexSecondary"> <a name="Releases-5.9"></a><a href="#Releases-5.9">5.9</a></p> <p class="IndexEntry"> <a href="/Articles/828120/">5.9 Merge window, part 1</a> (August 7, 2020)</p> <p class="IndexEntry"> <a href="/Articles/828385/">5.9 Merge window, part 2</a> (August 17, 2020)</p> <p class="IndexEntry"> <a href="/Articles/834085/">Some 5.9 kernel development statistics</a> (October 13, 2020)</p> <p class="IndexSecondary"> <a name="Releases-6.0"></a><a href="#Releases-6.0">6.0</a></p> <p class="IndexEntry"> <a href="/Articles/903487/">6.0 Merge window, part 1</a> (August 5, 2022)</p> <p class="IndexEntry"> <a href="/Articles/903855/">An io_uring-based user-space block driver</a> (August 8, 2022)</p> <p class="IndexEntry"> <a href="/Articles/904032/">6.0 Merge window, part 2</a> (August 15, 2022)</p> <p class="IndexEntry"> <a href="/Articles/904210/">The trouble with 64-bit DMA</a> (August 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/905370/">LRU-list manipulation with DAMON</a> (August 22, 2022)</p> <p class="IndexEntry"> <a href="/Articles/909625/">Some 6.0 development statistics</a> (October 3, 2022)</p> <p class="IndexSecondary"> <a name="Releases-6.1"></a><a href="#Releases-6.1">6.1</a></p> <p class="IndexEntry"> <a href="/Articles/898040/">A new LLVM CFI implementation</a> (June 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/899274/">A BPF-specific memory allocator</a> (June 30, 2022)</p> <p class="IndexEntry"> <a href="/Articles/901284/">The BPF panic function</a> (July 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/903580/">A security-module hook for user-namespace creation</a> (August 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/910312/">The first half of the 6.1 merge window</a> (October 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/910608/">The rest of the 6.1 merge window</a> (October 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/910762/">A first look at Rust in the 6.1 kernel</a> (October 13, 2022)</p> <p class="IndexEntry"> <a href="/Articles/915435/">Development statistics for the 6.1 kernel (and beyond)</a> (December 12, 2022)</p> <p class="IndexSecondary"> <a name="Releases-6.10"></a><a href="#Releases-6.10">6.10</a></p> <p class="IndexEntry"> <a href="/Articles/958438/">mseal() gets closer</a> (January 19, 2024)</p> <p class="IndexEntry"> <a href="/Articles/961884/">Windows NT synchronization primitives for Linux</a> (February 16, 2024)</p> <p class="IndexEntry"> <a href="/Articles/973687/">The first half of the 6.10 merge window</a> (May 16, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974869/">The rest of the 6.10 merge window</a> (May 27, 2024)</p> <p class="IndexEntry"> <a href="/Articles/981559/">Development statistics for the 6.10 kernel</a> (July 15, 2024)</p> <p class="IndexSecondary"> <a name="Releases-6.11"></a><a href="#Releases-6.11">6.11</a></p> <p class="IndexEntry"> <a href="/Articles/965837/">Hardening the kernel against heap-spraying attacks</a> (March 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/978189/">Nested bottom-half locking for realtime kernels</a> (June 17, 2024)</p> <p class="IndexEntry"> <a href="/Articles/982034/">The first half of the 6.11 merge window</a> (July 18, 2024)</p> <p class="IndexEntry"> <a href="/Articles/982605/">The rest of the 6.11 merge window</a> (July 29, 2024)</p> <p class="IndexEntry"> <a href="/Articles/989528/">Some 6.11 development statistics</a> (September 16, 2024)</p> <p class="IndexSecondary"> <a name="Releases-6.12"></a><a href="#Releases-6.12">6.12</a></p> <p class="IndexEntry"> <a href="/Articles/969062/">Completing the EEVDF scheduler</a> (April 11, 2024)</p> <p class="IndexEntry"> <a href="/Articles/979683/">Eliminating indirect calls for security modules</a> (July 2, 2024)</p> <p class="IndexEntry"> <a href="/Articles/983169/">May the FOLL_FORCE not be with you</a> (July 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/990750/">The 6.12 merge window begins</a> (September 20, 2024)</p> <p class="IndexEntry"> <a href="/Articles/991301/">The rest of the 6.12 merge window</a> (September 30, 2024)</p> <p class="IndexEntry"> <a href="/Articles/997959/">Development statistics for 6.12</a> (November 18, 2024)</p> <p class="IndexSecondary"> <a name="Releases-6.13"></a><a href="#Releases-6.13">6.13</a></p> <p class="IndexEntry"> <a href="/Articles/992455/">Efficient Rust tracepoints</a> (October 8, 2024)</p> <p class="IndexEntry"> <a href="/Articles/992991/">Two pidfd tweaks: PIDFD_GET_INFO and PIDFD_SELF</a> (October 16, 2024)</p> <p class="IndexEntry"> <a href="/Articles/998623/">The beginning of the 6.13 merge window</a> (November 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/998990/">The rest of the 6.13 merge window</a> (December 2, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1004998/">Development statistics for 6.13</a> (January 20, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1008399/">Smarter IRQ suspension in the networking stack</a> (February 11, 2025)</p> <p class="IndexSecondary"> <a name="Releases-6.14"></a><a href="#Releases-6.14">6.14</a></p> <p class="IndexEntry"> <a href="/Articles/986892/">A new version of modversions</a> (August 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1000654/">Freezing out the page reference count</a> (December 6, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1005651/">The first part of the 6.14 merge window</a> (January 23, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1006378/">The rest of the 6.14 merge window</a> (February 3, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1013892/">Development statistics for 6.14</a> (March 25, 2025)</p> <p class="IndexSecondary"> <a name="Releases-6.15"></a><a href="#Releases-6.15">6.15</a></p> <p class="IndexEntry"> <a href="/Articles/1012490/">Timer IDs, CRIU, and ABI challenges</a> (March 6, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1015414/">The first part of the 6.15 merge window</a> (March 28, 2025)</p> <p class="IndexEntry"> <a href="/Articles/1016119/">The rest of the 6.15 merge window</a> (April 7, 2025)</p> <p class="IndexSecondary"> <a name="Releases-6.2"></a><a href="#Releases-6.2">6.2</a></p> <p class="IndexEntry"> <a href="/Articles/917733/">6.2 Merge window, part 1</a> (December 15, 2022)</p> <p class="IndexEntry"> <a href="/Articles/918146/">The rest of the 6.2 merge window</a> (December 27, 2022)</p> <p class="IndexEntry"> <a href="/Articles/923410/">Some development statistics for 6.2</a> (February 20, 2023)</p> <p class="IndexSecondary"> <a name="Releases-6.3"></a><a href="#Releases-6.3">6.3</a></p> <p class="IndexEntry"> <a href="/Articles/918106/">Enabling non-executable memfds</a> (December 19, 2022)</p> <p class="IndexEntry"> <a href="/Articles/920891/">GFP flags and the end of __GFP_ATOMIC</a> (January 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/923846/">The first half of the 6.3 merge window</a> (February 23, 2023)</p> <p class="IndexEntry"> <a href="/Articles/924128/">Red-black trees for BPF programs</a> (February 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/924384/">The rest of the 6.3 merge window</a> (March 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/929582/">Development statistics for 6.3</a> (April 24, 2023)</p> <p class="IndexSecondary"> <a name="Releases-6.4"></a><a href="#Releases-6.4">6.4</a></p> <p class="IndexEntry"> <a href="/Articles/906852/">Concurrent page-fault handling with per-VMA locks</a> (September 5, 2022)</p> <p class="IndexEntry"> <a href="/Articles/926041/">Generic iterators for BPF</a> (March 17, 2023)</p> <p class="IndexEntry"> <a href="/Articles/927463/">Disabling SELinux's runtime disable</a> (April 20, 2023)</p> <p class="IndexEntry"> <a href="/Articles/930068/">6.4 Merge window, part 1</a> (April 28, 2023)</p> <p class="IndexEntry"> <a href="/Articles/930481/">The rest of the 6.4 merge window</a> (May 8, 2023)</p> <p class="IndexEntry"> <a href="/Articles/936113/">Development statistics for 6.4</a> (June 26, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937943/">Stabilizing per-VMA locking</a> (July 13, 2023)</p> <p class="IndexSecondary"> <a name="Releases-6.5"></a><a href="#Releases-6.5">6.5</a></p> <p class="IndexEntry"> <a href="/Articles/917096/">Checking page-cache status with cachestat()</a> (December 6, 2022)</p> <p class="IndexEntry"> <a href="/Articles/928328/">Seeking an acceptable unaccepted memory policy</a> (April 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/934679/">Scope-based resource management for the kernel</a> (June 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/936418/">The first half of the 6.5 merge window</a> (June 30, 2023)</p> <p class="IndexEntry"> <a href="/Articles/936728/">Documenting counted-by relationships in kernel data structures</a> (July 3, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937006/">The rest of the 6.5 merge window</a> (July 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937416/">A pair of workqueue improvements</a> (July 7, 2023)</p> <p class="IndexEntry"> <a href="/Articles/941675/">Development statistics for the 6.5 kernel</a> (August 28, 2023)</p> <p class="IndexSecondary"> <a name="Releases-6.6"></a><a href="#Releases-6.6">6.6</a></p> <p class="IndexEntry"> <a href="/Articles/925371/">An EEVDF CPU scheduler for Linux</a> (March 9, 2023)</p> <p class="IndexEntry"> <a href="/Articles/926649/">User-space shadow stacks (maybe) for 6.4</a> (March 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/937839/">The proper time to split struct page</a> (July 14, 2023)</p> <p class="IndexEntry"> <a href="/Articles/938637/">Randomness for kmalloc()</a> (July 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/939217/">Flags for fchmodat()</a> (July 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/939842/">Making life (even) harder for proprietary modules</a> (August 3, 2023)</p> <p class="IndexEntry"> <a href="/Articles/940973/">A more dynamic software I/O TLB</a> (August 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/942954/">The first half of the 6.6 merge window</a> (August 31, 2023)</p> <p class="IndexEntry"> <a href="/Articles/943245/">The rest of the 6.6 merge window</a> (September 11, 2023)</p> <p class="IndexEntry"> <a href="/Articles/948970/">Some 6.6 development statistics</a> (October 30, 2023)</p> <p class="IndexSecondary"> <a name="Releases-6.7"></a><a href="#Releases-6.7">6.7</a></p> <p class="IndexEntry"> <a href="/Articles/938435/">Exceptions in BPF</a> (July 21, 2023)</p> <p class="IndexEntry"> <a href="/Articles/940704/">An ioctl() call to detect memory writes</a> (August 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/944199/">Shrinking shrinker locking overhead</a> (September 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/949294/">The first half of the 6.7 merge window</a> (November 3, 2023)</p> <p class="IndexEntry"> <a href="/Articles/949957/">The rest of the 6.7 merge window</a> (November 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/950466/">The push to save Itanium</a> (November 9, 2023)</p> <p class="IndexEntry"> <a href="/Articles/956765/">Some 6.7 development statistics</a> (January 8, 2024)</p> <p class="IndexSecondary"> <a name="Releases-6.8"></a><a href="#Releases-6.8">6.8</a></p> <p class="IndexEntry"> <a href="/Articles/934415/">Deadline servers as a realtime throttling replacement</a> (June 12, 2023)</p> <p class="IndexEntry"> <a href="/Articles/949277/">Guest-first memory for KVM</a> (November 2, 2023)</p> <p class="IndexEntry"> <a href="/Articles/950569/">listmount() and statmount()</a> (November 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/957188/">The first half of the 6.8 merge window</a> (January 12, 2024)</p> <p class="IndexEntry"> <a href="/Articles/958178/">The rest of the 6.8 merge window</a> (January 22, 2024)</p> <p class="IndexEntry"> <a href="/Articles/964106/">Development statistics for 6.8</a> (March 11, 2024)</p> <p class="IndexSecondary"> <a name="Releases-6.9"></a><a href="#Releases-6.9">6.9</a></p> <p class="IndexEntry"> <a href="/Articles/913568/">Better CPU selection for timer expiration</a> (November 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/947173/">Finer-grained BPF tokens</a> (October 12, 2023)</p> <p class="IndexEntry"> <a href="/Articles/948037/">Weighted interleaving for memory tiering</a> (October 25, 2023)</p> <p class="IndexEntry"> <a href="/Articles/960041/">The end of tasklets</a> (February 5, 2024)</p> <p class="IndexEntry"> <a href="/Articles/961941/">A proposal for shared memory in BPF programs</a> (February 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/964381/">Better linked-list traversal in BPF</a> (March 8, 2024)</p> <p class="IndexEntry"> <a href="/Articles/965141/">The first half of the 6.9 merge window</a> (March 14, 2024)</p> <p class="IndexEntry"> <a href="/Articles/965541/">The rest of the 6.9 merge window</a> (March 25, 2024)</p> <p class="IndexEntry"> <a href="/Articles/972605/">Some 6.9 development statistics</a> (May 13, 2024)</p> <p class="IndexSecondary"> <a name="Releases-Stable_updates"></a><a href="#Releases-Stable_updates">Stable updates</a></p> <p class="IndexEntry"> <a href="/Articles/402512/">Some numbers and thoughts on the stable kernels</a> (August 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/403836/">Further notes on stable kernels</a> (September 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/407525/">Maintaining a stable kernel on an unstable base</a> (September 29, 2010)</p> <p class="IndexEntry"> <a href="/Articles/701304/">Automating stable-kernel creation</a> (September 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/845120/">The imminent stable-version apocalypse</a> (February 5, 2021)</p> <p class="IndexPrimary"> <a name="remap_anon_pages"><a href="#remap_anon_pages">remap_anon_pages()</a></a></p> <p class="IndexEntry"> <a href="/Articles/550555/">User-space page fault handling</a> (May 14, 2013)</p> <p class="IndexEntry"> <a href="/Articles/615086/">Page faults in user space: MADV_USERFAULT, remap_anon_range(), and userfaultfd()</a> (October 7, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636226/">User-space page fault handling</a> (March 11, 2015)</p> <p class="IndexPrimary"> <a name="remap_file_pages"><a href="#remap_file_pages">remap_file_pages()</a></a></p> <p class="IndexEntry"> <a href="/Articles/182847/">Multi-protection VMAs</a> (May 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/597632/">The possible demise of remap_file_pages()</a> (May 7, 2014)</p> <p class="IndexPrimary"> <a name="Remapper"><a href="#Remapper">Remapper</a></a></p> <p class="IndexEntry"> <a href="/Articles/207030/">Buried in warnings</a> (November 1, 2006)</p> <p class="IndexPrimary"> <a name="remap_pfn_range"><a href="#remap_pfn_range">remap_pfn_range()</a></a></p> <p class="IndexEntry"> <a href="/Articles/104333/">remap_pfn_range()</a> (September 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/161204/">PG_reserved, VM_RESERVED, and VM_UNPAGED</a> (November 22, 2005)</p> <p class="IndexPrimary"> <a name="renameat2"><a href="#renameat2">renameat2()</a></a></p> <p class="IndexEntry"> <a href="/Articles/569134/">Exchanging two files</a> (October 2, 2013)</p> <p class="IndexEntry"> <a href="/Articles/614057/">How implementation details become ABI: a case study</a> (October 1, 2014)</p> <p class="IndexPrimary"> <a name="Resident_set"><a href="#Resident_set">Resident set</a></a></p> <p class="IndexSecondary"> <a name="Resident_set-Size_limits"></a><a href="#Resident_set-Size_limits">Size limits</a></p> <p class="IndexEntry"> <a href="/Articles/97346/">Simple resident set size limits</a> (August 10, 2004)</p> <p class="IndexPrimary"> <a name="Resizing_filesystems"><a href="#Resizing_filesystems">Resizing filesystems</a></a></p> <p class="IndexEntry"> <a href="/Articles/89560/">Online resizing of ext3 filesystems</a> (June 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/894629/">Changing filesystem resize patterns</a> (May 11, 2022)</p> <p class="IndexPrimary"> <a name="Resource_limits"><a href="#Resource_limits">Resource limits</a></a></p> <p class="IndexEntry"> <a href="/Articles/842842/">Resource limits in user namespaces</a> (January 18, 2021)</p> <p class="IndexEntry"> <a href="/Articles/876288/">In search of an appropriate RLIMIT_MEMLOCK default</a> (November 19, 2021)</p> <p class="IndexPrimary"> <a name="Resource_management"><a href="#Resource_management">Resource management</a></a></p> <p class="IndexEntry"> <a href="/Articles/94573/">Kernel Summit: Class-based Kernel Resource Management</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/694800/">Controlling access to the memory cache</a> (July 20, 2016)</p> <p class="IndexPrimary"> <a name="Resources"><a href="#Resources">Resources</a></a></p> <p class="IndexEntry"> <a href="/Articles/187490/">64-bit resources</a> (June 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/215996/">Device resource management</a> (January 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/222860/">The managed resource API</a> (February 20, 2007)</p> <p class="IndexPrimary"> <a name="Restartable_sequences"><a href="#Restartable_sequences">Restartable sequences</a></a></p> <p class="IndexEntry"> <a href="/Articles/650333/">Restartable sequences</a> (July 7, 2015)</p> <p class="IndexEntry"> <a href="/Articles/662946/">Restartable sequences</a> (November 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/664645/">A return to restartable sequences</a> (November 18, 2015)</p> <p class="IndexEntry"> <a href="/Articles/697979/">Restartable sequences restarted</a> (August 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/737662/">Restartable sequences and ops vectors</a> (October 31, 2017)</p> <p class="IndexEntry"> <a href="/Articles/883104/">Restartable sequences in glibc</a> (January 31, 2022)</p> <p class="IndexEntry"> <a href="/Articles/885818/">Extending restartable sequences with virtual CPU IDs</a> (February 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/946870/">Improving C-library scalability with restartable sequences</a> (October 17, 2023)</p> <p class="IndexPrimary"> <a name="Retpoline"><a href="#Retpoline">Retpoline</a></a></p> <p class="IndexEntry"> <a href="/Articles/743265/">Addressing Meltdown and Spectre in the kernel</a> (January 5, 2018)</p> <p class="IndexEntry"> <a href="/Articles/774743/">Relief for retpoline pain</a> (December 14, 2018)</p> <p class="IndexEntry"> <a href="/Articles/808503/">A medley of performance-related BPF patches</a> (January 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/815908/">Avoiding retpolines with static calls</a> (March 26, 2020)</p> <p class="IndexPrimary"> <a name="Reverse_engineering"><a href="#Reverse_engineering">Reverse engineering</a></a></p> <p class="IndexEntry"> <a href="/Articles/217866/">LCA: The state of the Nouveau project</a> (January 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/270939/">Tracing memory-mapped I/O operations</a> (February 26, 2008)</p> <p class="IndexPrimary"> <a name="revoke"><a href="#revoke">revoke()</a></a></p> <p class="IndexEntry"> <a href="/Articles/192632/">revoke() and frevoke()</a> (July 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/262528/">revoke() returns</a> (December 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/328490/">Hotplug file descriptors and revoke()</a> (April 14, 2009)</p> <p class="IndexEntry"> <a href="/Articles/546537/">Retrying revoke()</a> (April 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/592116/">A revoke() update and more</a> (April 2, 2014)</p> <p class="IndexPrimary"> <a name="RichACLs"><a href="#RichACLs">RichACLs</a></a></p> <p class="IndexEntry"> <a href="/Articles/661357/">Rich access control lists</a> (October 20, 2015)</p> <p class="IndexPrimary"> <a name="RSBAC"><a href="#RSBAC">RSBAC</a></a></p> <p class="IndexEntry"> <a href="/Articles/153322/">Rule set based access control</a> (September 27, 2005)</p> <p class="IndexPrimary"> <a name="Rustyvisor"><a href="#Rustyvisor">Rustyvisor</a></a></p> <p class="IndexEntry"> <a href="/Articles/218766/">An introduction to lguest</a> (January 23, 2007)</p> <p class="IndexPrimary"> <a name="Samba"><a href="#Samba">Samba</a></a></p> <p class="IndexEntry"> <a href="/Articles/112566/">Which filesystem for Samba4?</a> (November 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/788335/">Common needs for Samba and NFS</a> (May 15, 2019)</p> <p class="IndexPrimary"> <a name="Scalability"><a href="#Scalability">Scalability</a></a></p> <p class="IndexEntry"> <a href="/Articles/191929/">Kernel Summit 2006: Scalability</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/229873/">Too many threads</a> (April 10, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248931/">KS2007: Scalability</a> (September 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/275808/">Toward better direct I/O scalability</a> (March 31, 2008)</p> <p class="IndexEntry"> <a href="/Articles/286472/">The state of the pageout scalability patches</a> (June 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291826/">The lockless page cache</a> (July 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/294642/">Tangled up in threads</a> (August 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/357658/">KS2009: How Google uses Linux</a> (October 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/360199/">JLS: Increasing VFS scalability</a> (November 3, 2009)</p> <p class="IndexEntry"> <a href="/Articles/378911/">Big reader locks</a> (March 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/384936/">CPUS*PIDS = mess</a> (April 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/400629/">One billion files on Linux</a> (August 18, 2010)</p> <p class="IndexEntry"> <a href="/Articles/401738/">VFS scalability patches in 2.6.36</a> (August 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410874/">Dueling inode scalability patches</a> (October 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/411929/">Resolving the inode scalability discussion</a> (October 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412847/">KS2010: Scalability</a> (November 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/419811/">Dcache scalability and RCU-walk</a> (December 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/440347/">Dcache scalability and security modules</a> (April 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/547782/">LSFMM: Lock scaling</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/568076/">Split PMD locks</a> (September 25, 2013)</p> <p class="IndexEntry"> <a href="/Articles/569686/">Optimizing CPU hotplug locking</a> (October 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/570386/">Revisiting CPU hotplug locking</a> (October 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572099/">Scalability techniques</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/636334/">Memory-management scalability</a> (March 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/827180/">Lockless algorithms for mere mortals</a> (July 28, 2020)</p> <p class="IndexEntry"> <a href="/Articles/874643/">The balance between features and performance in the block layer</a> (November 5, 2021)</p> <p class="IndexPrimary"> <a name="Scattergather_chaining"><a href="#Scattergather_chaining">Scatter/gather chaining</a></a></p> <p class="IndexEntry"> <a href="/Articles/234617/">Scatterlist chaining</a> (May 16, 2007)</p> <p class="IndexEntry"> <a href="/Articles/256368/">The chained scatterlist API</a> (October 29, 2007)</p> <p class="IndexEntry"> <a href="/Articles/263343/">Rationalizing scatter/gather chains</a> (December 28, 2007)</p> <p class="IndexPrimary"> <a name="Scheduler"><a href="#Scheduler">Scheduler</a></a></p> <p class="IndexEntry"> <a href="/Articles/80911/">Scheduling domains</a> (April 19, 2004)</p> <p class="IndexEntry"> <a href="/Articles/87729/">The staircase scheduler</a> (June 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/96554/">Scheduler tweaks get serious</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/105366/">When should a process be migrated?</a> (October 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/109458/">Schedulers, pluggable and realtime</a> (November 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/176635/">Solving starvation problems in the scheduler</a> (March 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/186438/">SMPnice</a> (June 6, 2006)</p> <p class="IndexEntry"> <a href="/Articles/224865/">The Rotating Staircase Deadline Scheduler</a> (March 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/226054/">RSDL hits a snag</a> (March 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/288056/">TASK_KILLABLE</a> (July 1, 2008)</p> <p class="IndexEntry"> <a href="/Articles/296578/">High- (but not too high-) resolution timeouts</a> (September 2, 2008)</p> <p class="IndexEntry"> <a href="/Articles/350123/">The offline scheduler</a> (September 2, 2009)</p> <p class="IndexEntry"> <a href="/Articles/351499/">Some notes from the BFS discussion</a> (September 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/352863/">Various scheduler-related topics</a> (September 15, 2009)</p> <p class="IndexEntry"> <a href="/Articles/357471/">KS2009: The state of the scheduler</a> (October 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/362357/">Some approaches to parallelism avoidance</a> (November 17, 2009)</p> <p class="IndexEntry"> <a href="/Articles/378859/">Who let the hogs out?</a> (March 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/413046/">KS2010: Scheduler issues</a> (November 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/419961/">Directed yield</a> (December 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/482344/">The Linaro Connect scheduler minisummit</a> (February 22, 2012)</p> <p class="IndexEntry"> <a href="/Articles/487701/">Linsched for 3.3</a> (March 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/518329/">How 3.6 nearly broke PostgreSQL</a> (October 2, 2012)</p> <p class="IndexEntry"> <a href="/Articles/720227/">The MuQSS CPU scheduler</a> (April 20, 2017)</p> <p class="IndexEntry"> <a href="/Articles/725376/">Shrinking the scheduler</a> (June 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/728942/">Reconsidering the scheduler's wake_wide() heuristic</a> (July 27, 2017)</p> <p class="IndexEntry"> <a href="/Articles/734039/">Notes from the LPC scheduler microconference</a> (September 18, 2017)</p> <p class="IndexEntry"> <a href="/Articles/750774/">wait_var_event()</a> (April 3, 2018)</p> <p class="IndexEntry"> <a href="/Articles/762043/">Scheduler utilization clamping</a> (August 8, 2018)</p> <p class="IndexEntry"> <a href="/Articles/764482/">Coscheduling: simultaneous scheduling in control groups</a> (September 10, 2018)</p> <p class="IndexEntry"> <a href="/Articles/788380/">Telling the scheduler about thermal pressure</a> (May 16, 2019)</p> <p class="IndexEntry"> <a href="/Articles/792471/">TurboSched: the return of small-task packing</a> (July 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/805317/">Fixing SCHED_IDLE</a> (November 26, 2019)</p> <p class="IndexEntry"> <a href="/Articles/809545/">Scheduling for the Android display pipeline</a> (January 16, 2020)</p> <p class="IndexEntry"> <a href="/Articles/816298/">A full task-isolation mode for the kernel</a> (April 6, 2020)</p> <p class="IndexEntry"> <a href="/Articles/821123/">Imbalance detection and fairness in the CPU scheduler</a> (May 22, 2020)</p> <p class="IndexEntry"> <a href="/Articles/836503/">Migration disable for the mainline</a> (November 9, 2020)</p> <p class="IndexEntry"> <a href="/Articles/838339/">Scheduling for asymmetric Arm systems</a> (November 30, 2020)</p> <p class="IndexEntry"> <a href="/Articles/864603/">Kernel topics on the radar</a> (August 2, 2021)</p> <p class="IndexEntry"> <a href="/Articles/873244/">Controlling the CPU scheduler with BPF</a> (October 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/873334/">Synchronized GPU priority scheduling</a> (October 22, 2021)</p> <p class="IndexEntry"> <a href="/Articles/880367/">Fixing a corner case in asymmetric CPU packing</a> (January 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/909611/">Hybrid scheduling gets more complicated</a> (September 30, 2022)</p> <p class="IndexEntry"> <a href="/Articles/934114/">Addressing priority inversion with proxy execution</a> (June 9, 2023)</p> <p class="IndexEntry"> <a href="/Articles/948870/">Deferred scheduling for user-space critical sections</a> (October 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/994322/">The long road to lazy preemption</a> (October 18, 2024)</p> <p class="IndexSecondary"> <a name="Scheduler-and_power_management"></a><a href="#Scheduler-and_power_management">and power management</a></p> <p class="IndexEntry"> <a href="/Articles/474915/">Rethinking power-aware scheduling</a> (January 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/512487/">The return of power-aware scheduling</a> (August 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/520857/">Small-task packing</a> (October 24, 2012)</p> <p class="IndexEntry"> <a href="/Articles/546664/">Toward a more power-efficient scheduler</a> (April 10, 2013)</p> <p class="IndexEntry"> <a href="/Articles/552885/">Power-aware scheduling meets a line in the sand</a> (June 5, 2013)</p> <p class="IndexEntry"> <a href="/Articles/554956/">A power-aware scheduling update</a> (June 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/570353/">A new direction for power-aware scheduling</a> (October 15, 2013)</p> <p class="IndexEntry"> <a href="/Articles/571414/">The power-aware scheduling mini-summit</a> (October 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/600419/">Another attempt at power-aware scheduling</a> (June 4, 2014)</p> <p class="IndexEntry"> <a href="/Articles/602479/">Teaching the scheduler about power management</a> (June 18, 2014)</p> <p class="IndexEntry"> <a href="/Articles/609561/">The power-aware scheduling miniconference</a> (August 27, 2014)</p> <p class="IndexEntry"> <a href="/Articles/618074/">Toward better CPU idle-time predictions</a> (October 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/655479/">Steps toward power-aware scheduling</a> (August 25, 2015)</p> <p class="IndexEntry"> <a href="/Articles/673641/">Next-interrupt prediction</a> (January 27, 2016)</p> <p class="IndexEntry"> <a href="/Articles/706374/">Scheduling for Android devices</a> (November 15, 2016)</p> <p class="IndexEntry"> <a href="/Articles/716303/">Per-task CPU-frequency control</a> (March 8, 2017)</p> <p class="IndexEntry"> <a href="/Articles/717221/">Notes from Linaro Connect</a> (March 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/749900/">Energy-aware scheduling on asymmetric systems</a> (March 22, 2018)</p> <p class="IndexEntry"> <a href="/Articles/820825/">Evaluating vendor changes to the scheduler</a> (May 19, 2020)</p> <p class="IndexEntry"> <a href="/Articles/899303/">Removing the scheduler's energy-margin heuristic</a> (July 1, 2022)</p> <p class="IndexEntry"> <a href="/Articles/989272/">The trouble with iowait</a> (September 10, 2024)</p> <p class="IndexSecondary"> <a name="Scheduler-big.LITTLE"></a><a href="#Scheduler-big.LITTLE">big.LITTLE</a></p> <p class="IndexEntry"> <a href="/Articles/481055/">Linux support for ARM big.LITTLE</a> (February 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/501501/">A big.LITTLE scheduler update</a> (June 12, 2012)</p> <p class="IndexSecondary"> <a name="Scheduler-Completely_fair_scheduler"></a><a href="#Scheduler-Completely_fair_scheduler">Completely fair scheduler</a></p> <p class="IndexEntry"> <a href="/Articles/230574/">Schedulers: the plot thickens</a> (April 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/231672/">This week in the scheduling discussion</a> (April 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/240474/">CFS group scheduling</a> (July 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/254711/">Fair user scheduling and other scheduler patches</a> (October 16, 2007)</p> <p class="IndexEntry"> <a href="/Articles/309400/">Variations on fair I/O schedulers</a> (December 3, 2008)</p> <p class="IndexEntry"> <a href="/Articles/404993/">Improving scheduler latency</a> (September 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/428230/">CFS bandwidth control</a> (February 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/844976/">The burstable CFS bandwidth controller</a> (February 8, 2021)</p> <p class="IndexEntry"> <a href="/Articles/925371/">An EEVDF CPU scheduler for Linux</a> (March 9, 2023)</p> <p class="IndexSecondary"> <a name="Scheduler-Core_scheduling"></a><a href="#Scheduler-Core_scheduling">Core scheduling</a></p> <p class="IndexEntry"> <a href="/Articles/780703/">Core scheduling</a> (February 28, 2019)</p> <p class="IndexEntry"> <a href="/Articles/799454/">Many uses for Core scheduling</a> (September 20, 2019)</p> <p class="IndexEntry"> <a href="/Articles/820321/">Completing and merging core scheduling</a> (May 13, 2020)</p> <p class="IndexEntry"> <a href="/Articles/861251/">Core scheduling lands in 5.14</a> (July 1, 2021)</p> <p class="IndexSecondary"> <a name="Scheduler-CPU_affinity"></a><a href="#Scheduler-CPU_affinity">CPU affinity</a></p> <p class="IndexEntry"> <a href="/Articles/792502/">Soft CPU affinity</a> (July 4, 2019)</p> <p class="IndexSecondary"> <a name="Scheduler-Deadline_scheduling"></a><a href="#Scheduler-Deadline_scheduling">Deadline scheduling</a></p> <p class="IndexEntry"> <a href="/Articles/356576/">Deadline scheduling for Linux</a> (October 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/378044/">A new deadline scheduler patch</a> (March 10, 2010)</p> <p class="IndexEntry"> <a href="/Articles/396634/">Adding periods to SCHED_DEADLINE</a> (July 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/398470/">The IRMOS realtime scheduler</a> (August 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/412745/">KS2010: Deadline scheduling</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/491722/">SCHED_DEADLINE returns</a> (April 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/575497/">Deadline scheduling: coming soon?</a> (December 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/716982/">A deadline scheduler update</a> (March 14, 2017)</p> <p class="IndexEntry"> <a href="/Articles/743740/">Deadline scheduling part 1 — overview and theory</a> (January 16, 2018)</p> <p class="IndexEntry"> <a href="/Articles/743946/">Deadline scheduler part 2 — details and usage</a> (January 19, 2018)</p> <p class="IndexEntry"> <a href="/Articles/820882/">The deadline scheduler and CPU idle states</a> (May 22, 2020)</p> <p class="IndexEntry"> <a href="/Articles/821578/">Capacity awareness for the deadline scheduler</a> (May 29, 2020)</p> <p class="IndexSecondary"> <a name="Scheduler-EEVDF"></a><a href="#Scheduler-EEVDF">EEVDF</a></p> <p class="IndexEntry"> <a href="/Articles/925371/">An EEVDF CPU scheduler for Linux</a> (March 9, 2023)</p> <p class="IndexEntry"> <a href="/Articles/969062/">Completing the EEVDF scheduler</a> (April 11, 2024)</p> <p class="IndexEntry"> <a href="/Articles/981371/">Reports from OSPM 2024, part 1</a> (July 11, 2024)</p> <p class="IndexSecondary"> <a name="Scheduler-Extensible_scheduler_class"></a><a href="#Scheduler-Extensible_scheduler_class">Extensible scheduler class</a></p> <p class="IndexEntry"> <a href="/Articles/922405/">The extensible scheduler class</a> (February 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/966618/">Improving performance with SCHED_EXT and IOCost</a> (April 1, 2024)</p> <p class="IndexEntry"> <a href="/Articles/972710/">Another push for sched_ext</a> (May 9, 2024)</p> <p class="IndexEntry"> <a href="/Articles/974387/">What's scheduled for sched_ext</a> (May 23, 2024)</p> <p class="IndexEntry"> <a href="/Articles/991205/">Sched_ext at LPC 2024</a> (September 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/1007947/">Improved load-time checking for BPF kfuncs</a> (February 7, 2025)</p> <p class="IndexSecondary"> <a name="Scheduler-Filtered_wakeups"></a><a href="#Scheduler-Filtered_wakeups">Filtered wakeups</a></p> <p class="IndexEntry"> <a href="/Articles/83633/">Filtered wakeups</a> (May 5, 2004)</p> <p class="IndexSecondary"> <a name="Scheduler-Group_scheduling"></a><a href="#Scheduler-Group_scheduling">Group scheduling</a></p> <p class="IndexEntry"> <a href="/Articles/240474/">CFS group scheduling</a> (July 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/415740/">TTY-based group scheduling</a> (November 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/418884/">Group scheduling and alternatives</a> (December 6, 2010)</p> <p class="IndexEntry"> <a href="/Articles/420407/">Realtime group scheduling doesn't know JACK</a> (December 19, 2010)</p> <p class="IndexEntry"> <a href="/Articles/433904/">A group scheduling demonstration</a> (March 16, 2011)</p> <p class="IndexSecondary"> <a name="Scheduler-Latency"></a><a href="#Scheduler-Latency">Latency</a></p> <p class="IndexEntry"> <a href="/Articles/120797/">Low latency for audio applications</a> (January 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/404993/">Improving scheduler latency</a> (September 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/820659/">The many faces of &quot;latency nice&quot;</a> (May 18, 2020)</p> <p class="IndexEntry"> <a href="/Articles/887842/">Improved response times with latency nice</a> (March 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/945422/">Revisiting the kernel's preemption model, part 2</a> (October 2, 2023)</p> <p class="IndexSecondary"> <a name="Scheduler-Load_tracking"></a><a href="#Scheduler-Load_tracking">Load tracking</a></p> <p class="IndexEntry"> <a href="/Articles/531853/">Per-entity load tracking</a> (January 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/639543/">Load tracking in the scheduler</a> (April 15, 2015)</p> <p class="IndexEntry"> <a href="/Articles/741171/">Toward better CPU load estimation</a> (December 11, 2017)</p> <p class="IndexEntry"> <a href="/Articles/816388/">Frequency-invariant utilization tracking for x86</a> (April 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820575/">Utilization inversion and proxy execution</a> (May 15, 2020)</p> <p class="IndexSecondary"> <a name="Scheduler-NUMA"></a><a href="#Scheduler-NUMA">NUMA</a></p> <p class="IndexEntry"> <a href="/Articles/486858/">Toward better NUMA scheduling</a> (March 16, 2012)</p> <p class="IndexEntry"> <a href="/Articles/488709/">AutoNUMA: the other approach to NUMA scheduling</a> (March 27, 2012)</p> <p class="IndexEntry"> <a href="/Articles/522093/">A potential NUMA scheduling solution</a> (October 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/524977/">NUMA in a hurry</a> (November 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/568870/">NUMA scheduling progress</a> (October 1, 2013)</p> <p class="IndexSecondary"> <a name="Scheduler-Realtime"></a><a href="#Scheduler-Realtime">Realtime</a></p> <p class="IndexEntry"> <a href="/Articles/296419/">SCHED_FIFO and realtime throttling</a> (September 1, 2008)</p> <p class="IndexEntry"> <a href="/Articles/818388/">Controlling realtime priorities in kernel threads</a> (April 23, 2020)</p> <p class="IndexEntry"> <a href="/Articles/931789/">1½ Topics: realtime throttling and user-space adaptive spinning</a> (May 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/934415/">Deadline servers as a realtime throttling replacement</a> (June 12, 2023)</p> <p class="IndexSecondary"> <a name="Scheduler-Testing_and_benchmarking"></a><a href="#Scheduler-Testing_and_benchmarking">Testing and benchmarking</a></p> <p class="IndexEntry"> <a href="/Articles/304845/">Tracking tbench troubles</a> (October 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/307746/">Tbench troubles II</a> (November 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/464296/">KS2011: Scheduler testing</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/725238/">A survey of scheduler benchmarks</a> (June 14, 2017)</p> <p class="IndexSecondary"> <a name="Scheduler-User-managed_concurrency_groups"></a><a href="#Scheduler-User-managed_concurrency_groups">User-managed concurrency groups</a></p> <p class="IndexEntry"> <a href="/Articles/879398/">User-managed concurrency groups</a> (December 28, 2021)</p> <p class="IndexPrimary"> <a name="Schedutil_governor"><a href="#Schedutil_governor">Schedutil governor</a></a></p> <p class="IndexEntry"> <a href="/Articles/682391/">Improvements in CPU frequency management</a> (April 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/816388/">Frequency-invariant utilization tracking for x86</a> (April 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820872/">Saving frequency scaling in the data center</a> (May 21, 2020)</p> <p class="IndexPrimary"> <a name="scnprintf"><a href="#scnprintf">scnprintf()</a></a></p> <p class="IndexEntry"> <a href="/Articles/69419/">snprintf() confusion</a> (February 3, 2004)</p> <p class="IndexPrimary"> <a name="SCSI"><a href="#SCSI">SCSI</a></a></p> <p class="IndexEntry"> <a href="/Articles/75928/">Lots of SCSI disks</a> (March 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/420691/">Shooting at SCSI targets</a> (December 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/548116/">LSFMM: A storage technology update</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548295/">LSFMM: Unit attentions and thin provisioning thresholds</a> (April 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548296/">LSFMM: I/O hints</a> (April 24, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548353/">LSFMM: Error returns</a> (May 1, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548368/">LSFMM: Reducing SCSI latency</a> (April 25, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548510/">LSFMM: SCSI testing</a> (April 25, 2013)</p> <p class="IndexEntry"> <a href="/Articles/684264/">A storage standards update</a> (April 20, 2016)</p> <p class="IndexSecondary"> <a name="SCSI-Block_SCSI_generic_bsg"></a><a href="#SCSI-Block_SCSI_generic_bsg">Block SCSI generic (bsg)</a></p> <p class="IndexEntry"> <a href="/Articles/96587/">Recent patches of interest</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/760345/">The problem with the asynchronous bsg interface</a> (July 19, 2018)</p> <p class="IndexSecondary"> <a name="SCSI-Command_filtering"></a><a href="#SCSI-Command_filtering">Command filtering</a></p> <p class="IndexEntry"> <a href="/Articles/98379/">2.6.8 and CD recording</a> (August 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/193516/">SCSI command filtering</a> (July 31, 2006)</p> <p class="IndexEntry"> <a href="/Articles/474067/">A privilege escalation via SCSI pass-through</a> (January 4, 2012)</p> <p class="IndexEntry"> <a href="/Articles/535075/">Filtering SCSI commands</a> (January 30, 2013)</p> <p class="IndexPrimary"> <a name="SDIO"><a href="#SDIO">SDIO</a></a></p> <p class="IndexEntry"> <a href="/Articles/242744/">SDIO support coming</a> (July 24, 2007)</p> <p class="IndexPrimary"> <a name="Security"><a href="#Security">Security</a></a></p> <p class="IndexEntry"> <a href="/Articles/67216/">A weak cryptoloop implementation in Linux?</a> (January 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/72982/">The trouble with backporting fixes</a> (February 26, 2004)</p> <p class="IndexEntry"> <a href="/Articles/75990/">A new Adore root kit</a> (March 17, 2004)</p> <p class="IndexEntry"> <a href="/Articles/94572/">Kernel Summit: Security</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/120647/">Securely renting out your CPU with Linux</a> (January 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/122579/">read() and write() access checking</a> (February 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/122764/">More hooks for kernel events</a> (February 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/123737/">The 2.4-hf tree launches</a> (February 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/126943/">The kernel gets a formal security contact</a> (March 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/128741/">Attack of the killer CD</a> (March 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/128853/">RHEL, kernel vulnerabilities, and days of risk</a> (March 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144681/">OLS: Linux and trusted computing</a> (July 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/178634/">On the safety of the sysfs interfaces</a> (April 5, 2006)</p> <p class="IndexEntry"> <a href="/Articles/283103/">Appropriate sources of entropy</a> (May 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/290227/">Handling kernel security problems</a> (July 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/297500/">System calls and rootkits</a> (September 10, 2008)</p> <p class="IndexEntry"> <a href="/Articles/315974/">LCA: The security panel</a> (January 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/341033/">Rootless X</a> (July 15, 2009)</p> <p class="IndexEntry"> <a href="/Articles/359219/">/proc and directory permissions</a> (October 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/390323/">Symbolic links in &quot;sticky&quot; directories</a> (June 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/400746/">An ancient kernel hole is closed</a> (August 18, 2010)</p> <p class="IndexEntry"> <a href="/Articles/413102/">KS2010: Security</a> (November 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/432234/">Protecting /proc/slabinfo</a> (March 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/446528/">On vsyscalls and the vDSO</a> (June 8, 2011)</p> <p class="IndexEntry"> <a href="/Articles/463683/">Limiting system calls via control groups?</a> (October 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/464233/">KS2011: Kernel.org report</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/503660/">Tightening security: not for the impatient</a> (June 27, 2012)</p> <p class="IndexEntry"> <a href="/Articles/546686/">Randomizing the kernel</a> (April 10, 2013)</p> <p class="IndexEntry"> <a href="/Articles/562294/">Unreviewed code in 3.11</a> (August 7, 2013)</p> <p class="IndexEntry"> <a href="/Articles/566123/">Opening up kernel security bug handling</a> (September 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/569861/">Two LSS talks</a> (October 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572128/">Security practices</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/651700/">Domesticating applications, OpenBSD style</a> (July 21, 2015)</p> <p class="IndexEntry"> <a href="/Articles/654418/">Nested NMIs lead to CVE-2015-3290</a> (August 26, 2015)</p> <p class="IndexEntry"> <a href="/Articles/662219/">Kernel security: beyond bug fixing</a> (October 28, 2015)</p> <p class="IndexEntry"> <a href="/Articles/662839/">Developer workflow security</a> (November 3, 2015)</p> <p class="IndexEntry"> <a href="/Articles/662907/">Security part 2</a> (November 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/676803/">Sigreturn-oriented programming and its mitigation</a> (February 24, 2016)</p> <p class="IndexEntry"> <a href="/Articles/693038/">Two approaches to reference count hardening</a> (July 7, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717754/">Inline encryption support for block devices</a> (March 22, 2017)</p> <p class="IndexEntry"> <a href="/Articles/725860/">Attacking the kernel via its command line</a> (June 20, 2017)</p> <p class="IndexEntry"> <a href="/Articles/752683/">Supporting Intel/AMD memory encryption</a> (April 25, 2018)</p> <p class="IndexEntry"> <a href="/Articles/776801/">Defending against page-cache attacks</a> (January 17, 2019)</p> <p class="IndexEntry"> <a href="/Articles/778437/">Fixing page-cache side channels, second attempt</a> (February 5, 2019)</p> <p class="IndexEntry"> <a href="/Articles/853717/">Intentionally buggy commits for fame—and papers</a> (April 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/939097/">Unmaintained filesystems as a threat vector</a> (July 28, 2023)</p> <p class="IndexEntry"> <a href="/Articles/941764/">Defending mounted filesystems from the root user</a> (August 21, 2023)</p> <p class="IndexEntry"> <a href="/Articles/946389/">BPF and security</a> (October 4, 2023)</p> <p class="IndexEntry"> <a href="/Articles/948129/">mseal() and what comes after</a> (October 20, 2023)</p> <p class="IndexSecondary"> <a name="Security-Address-space_layout_randomization"></a><a href="#Security-Address-space_layout_randomization">Address-space layout randomization</a></p> <p class="IndexEntry"> <a href="/Articles/121845/">Address space randomization in 2.6</a> (February 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/667790/">Increasing the range of address-space layout randomization</a> (December 16, 2015)</p> <p class="IndexEntry"> <a href="/Articles/962782/">When ELF notes reveal too much</a> (February 22, 2024)</p> <p class="IndexSecondary"> <a name="Security-Control-flow_integrity"></a><a href="#Security-Control-flow_integrity">Control-flow integrity</a></p> <p class="IndexEntry"> <a href="/Articles/758245/">Kernel support for control-flow enforcement</a> (June 25, 2018)</p> <p class="IndexEntry"> <a href="/Articles/810077/">Control-flow integrity for the kernel</a> (January 22, 2020)</p> <p class="IndexEntry"> <a href="/Articles/856514/">Control-flow integrity in 5.13</a> (May 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/885220/">Shadow stacks for user space</a> (February 21, 2022)</p> <p class="IndexEntry"> <a href="/Articles/889475/">Indirect branch tracking for Intel CPUs</a> (March 31, 2022)</p> <p class="IndexEntry"> <a href="/Articles/898040/">A new LLVM CFI implementation</a> (June 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/900099/">Kernel support for hardware-based control-flow integrity</a> (July 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/915728/">The intersection of shadow stacks and CRIU</a> (December 16, 2022)</p> <p class="IndexEntry"> <a href="/Articles/926649/">User-space shadow stacks (maybe) for 6.4</a> (March 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/940403/">Shadow stacks for 64-bit Arm systems</a> (August 7, 2023)</p> <p class="IndexEntry"> <a href="/Articles/953794/">Controlling shadow-stack allocation in clone3()</a> (December 7, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1011680/">A hole in FineIBT protection</a> (February 27, 2025)</p> <p class="IndexSecondary"> <a name="Security-CVE_numbers"></a><a href="#Security-CVE_numbers">CVE numbers</a></p> <p class="IndexEntry"> <a href="/Articles/801157/">What to do about CVE numbers</a> (October 4, 2019)</p> <p class="IndexEntry"> <a href="/Articles/961978/">A turning point for CVE numbers</a> (February 14, 2024)</p> <p class="IndexEntry"> <a href="/Articles/978711/">How kernel CVE numbers are assigned</a> (June 19, 2024)</p> <p class="IndexSecondary"> <a name="Security-Filesystem_encryption"></a><a href="#Security-Filesystem_encryption">Filesystem encryption</a></p> <p class="IndexEntry"> <a href="/Articles/639427/">Ext4 encryption</a> (April 8, 2015)</p> <p class="IndexEntry"> <a href="/Articles/797309/">Inline encryption for filesystems</a> (August 27, 2019)</p> <p class="IndexEntry"> <a href="/Articles/918893/">Per-extent encrypted keys for fscrypt</a> (January 5, 2023)</p> <p class="IndexSecondary"> <a name="Security-Integrity_verification"></a><a href="#Security-Integrity_verification">Integrity verification</a></p> <p class="IndexEntry"> <a href="/Articles/137306/">The Integrity Measurement Architecture</a> (May 24, 2005)</p> <p class="IndexEntry"> <a href="/Articles/227937/">Integrity management in the kernel</a> (March 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/394170/">The return of EVM</a> (June 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/459420/">dm-verity</a> (September 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/488906/">IMA appraisal extension</a> (March 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516334/">LSS: Integrity for directories and special files</a> (September 19, 2012)</p> <p class="IndexEntry"> <a href="/Articles/699551/">Toward measured boot out of the box</a> (September 8, 2016)</p> <p class="IndexEntry"> <a href="/Articles/752614/">File-level integrity</a> (April 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/763729/">Protecting files with fs-verity</a> (August 30, 2018)</p> <p class="IndexEntry"> <a href="/Articles/775872/">A setback for fs-verity</a> (January 3, 2019)</p> <p class="IndexEntry"> <a href="/Articles/790185/">Yet another try for fs-verity</a> (June 3, 2019)</p> <p class="IndexEntry"> <a href="/Articles/818842/">Authenticated Btrfs</a> (April 30, 2020)</p> <p class="IndexSecondary"> <a name="Security-Kernel_hardening"></a><a href="#Security-Kernel_hardening">Kernel hardening</a></p> <p class="IndexEntry"> <a href="/Articles/334747/">Sanitizing kernel memory</a> (May 27, 2009)</p> <p class="IndexEntry"> <a href="/Articles/335698/">Page sanitization, part 2</a> (June 3, 2009)</p> <p class="IndexEntry"> <a href="/Articles/444503/">Kernel address randomization</a> (May 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/458805/">LSS: The kernel hardening roundtable</a> (September 15, 2011)</p> <p class="IndexEntry"> <a href="/Articles/569635/">Kernel address space layout randomization</a> (October 9, 2013)</p> <p class="IndexEntry"> <a href="/Articles/666550/">Post-init read-only memory</a> (December 2, 2015)</p> <p class="IndexEntry"> <a href="/Articles/668876/">Two PaX features move toward the mainline</a> (December 23, 2015)</p> <p class="IndexEntry"> <a href="/Articles/695991/">Hardened usercopy</a> (August 3, 2016)</p> <p class="IndexEntry"> <a href="/Articles/696216/">Disallowing perf_event_open()</a> (August 3, 2016)</p> <p class="IndexEntry"> <a href="/Articles/700647/">Exclusive page-frame ownership</a> (September 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/712161/">A pair of GCC plugins</a> (January 25, 2017)</p> <p class="IndexEntry"> <a href="/Articles/722293/">Randomizing structure layout</a> (May 11, 2017)</p> <p class="IndexEntry"> <a href="/Articles/724319/">The &quot;rare write&quot; mechanism</a> (June 1, 2017)</p> <p class="IndexEntry"> <a href="/Articles/727322/">Hardened usercopy whitelisting</a> (July 7, 2017)</p> <p class="IndexEntry"> <a href="/Articles/728675/">Faster reference-count overflow protection</a> (July 24, 2017)</p> <p class="IndexEntry"> <a href="/Articles/731082/">A canary for timer-expiration functions</a> (August 16, 2017)</p> <p class="IndexEntry"> <a href="/Articles/732201/">A return-oriented programming defense from OpenBSD</a> (August 30, 2017)</p> <p class="IndexEntry"> <a href="/Articles/735589/">What's the best way to prevent kernel pointer leaks?</a> (October 5, 2017)</p> <p class="IndexEntry"> <a href="/Articles/735887/">Improving the kernel timers API</a> (October 9, 2017)</p> <p class="IndexEntry"> <a href="/Articles/740455/">Restricting automatic kernel-module loading</a> (December 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/748642/">Preventing kernel-stack leaks</a> (March 7, 2018)</p> <p class="IndexEntry"> <a href="/Articles/749707/">A &quot;runtime guard&quot; for the kernel</a> (March 21, 2018)</p> <p class="IndexEntry"> <a href="/Articles/750215/">Read-only dynamic data</a> (March 27, 2018)</p> <p class="IndexEntry"> <a href="/Articles/753154/">The slab and protected-memory allocators</a> (May 1, 2018)</p> <p class="IndexEntry"> <a href="/Articles/762510/">The importance of being noisy</a> (August 13, 2018)</p> <p class="IndexEntry"> <a href="/Articles/763641/">C considered dangerous</a> (August 29, 2018)</p> <p class="IndexEntry"> <a href="/Articles/764325/">Trying to get STACKLEAK into the kernel</a> (September 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/786558/">Bounce buffers for untrusted devices</a> (April 26, 2019)</p> <p class="IndexEntry"> <a href="/Articles/794944/">An end to implicit fall-throughs in the kernel</a> (August 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/804982/">Some near-term arm64 hardening patches</a> (November 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/812438/">Finer-grained kernel address-space layout randomization</a> (February 19, 2020)</p> <p class="IndexEntry"> <a href="/Articles/816085/">Per-system-call kernel-stack offset randomization</a> (March 27, 2020)</p> <p class="IndexEntry"> <a href="/Articles/819834/">Blocking userfaultfd() kernel-fault handling</a> (May 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/826554/">Memory protection keys for the kernel</a> (July 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/864521/">Strict memcpy() bounds checking for the kernel</a> (July 30, 2021)</p> <p class="IndexEntry"> <a href="/Articles/865918/">A firewall for device drivers</a> (August 13, 2021)</p> <p class="IndexEntry"> <a href="/Articles/870045/">Two security improvements for GCC</a> (September 24, 2021)</p> <p class="IndexEntry"> <a href="/Articles/883352/">Stray-write protection for persistent memory</a> (February 3, 2022)</p> <p class="IndexEntry"> <a href="/Articles/914878/">Averting excessive oopses</a> (November 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/934460/">Hardening magic links</a> (June 14, 2023)</p> <p class="IndexEntry"> <a href="/Articles/938637/">Randomness for kmalloc()</a> (July 24, 2023)</p> <p class="IndexEntry"> <a href="/Articles/946041/">GCC features to help harden the kernel</a> (October 5, 2023)</p> <p class="IndexEntry"> <a href="/Articles/959189/">Better handling of integer wraparound in the kernel</a> (January 26, 2024)</p> <p class="IndexEntry"> <a href="/Articles/963734/">A sandbox mode for the kernel</a> (February 29, 2024)</p> <p class="IndexEntry"> <a href="/Articles/965837/">Hardening the kernel against heap-spraying attacks</a> (March 21, 2024)</p> <p class="IndexEntry"> <a href="/Articles/986174/">Per-call-site slab caches for heap-spraying protection</a> (August 20, 2024)</p> <p class="IndexEntry"> <a href="/Articles/996344/">Progress on toolchain security features</a> (November 12, 2024)</p> <p class="IndexSecondary"> <a name="Security-Key_management"></a><a href="#Security-Key_management">Key management</a></p> <p class="IndexEntry"> <a href="/Articles/408439/">Trusted and encrypted keys</a> (October 6, 2010)</p> <p class="IndexSecondary"> <a name="Security-Language_interpreters"></a><a href="#Security-Language_interpreters">Language interpreters</a></p> <p class="IndexEntry"> <a href="/Articles/820000/">O_MAYEXEC — explicitly opening files for execution</a> (May 11, 2020)</p> <p class="IndexEntry"> <a href="/Articles/832959/">From O_MAYEXEC to trusted_for()</a> (October 1, 2020)</p> <p class="IndexEntry"> <a href="/Articles/982085/">Restricting execution of scripts — the third approach</a> (July 19, 2024)</p> <p class="IndexSecondary"> <a name="Security-Meltdown_and_Spectre"></a><a href="#Security-Meltdown_and_Spectre">Meltdown and Spectre</a></p> <p class="IndexEntry"> <a href="/Articles/738975/">KAISER: hiding the kernel from user space</a> (November 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/741878/">The current state of kernel page-table isolation</a> (December 20, 2017)</p> <p class="IndexEntry"> <a href="/Articles/742702/">Notes from the Intelpocalypse</a> (January 4, 2018)</p> <p class="IndexEntry"> <a href="/Articles/743265/">Addressing Meltdown and Spectre in the kernel</a> (January 5, 2018)</p> <p class="IndexEntry"> <a href="/Articles/743363/">A look at the handling of Meltdown and Spectre</a> (January 9, 2018)</p> <p class="IndexEntry"> <a href="/Articles/744287/">Meltdown/Spectre mitigation for 4.15 and beyond</a> (January 15, 2018)</p> <p class="IndexEntry"> <a href="/Articles/746551/">Meltdown and Spectre mitigations — a February update</a> (February 5, 2018)</p> <p class="IndexEntry"> <a href="/Articles/749217/">The strange story of the ARM Meltdown-fix backport</a> (March 15, 2018)</p> <p class="IndexEntry"> <a href="/Articles/752408/">Finding Spectre vulnerabilities with smatch</a> (April 20, 2018)</p> <p class="IndexEntry"> <a href="/Articles/752587/">The impact of page-table isolation on I/O performance</a> (April 24, 2018)</p> <p class="IndexEntry"> <a href="/Articles/752621/">A page-table isolation update</a> (April 25, 2018)</p> <p class="IndexEntry"> <a href="/Articles/759423/">Spectre V1 defense in GCC</a> (July 10, 2018)</p> <p class="IndexEntry"> <a href="/Articles/762570/">Meltdown strikes back: the L1 terminal fault vulnerability</a> (August 14, 2018)</p> <p class="IndexEntry"> <a href="/Articles/763058/">The sidechannel LSM</a> (August 21, 2018)</p> <p class="IndexEntry"> <a href="/Articles/764209/">Strengthening user-space Spectre v2 protection</a> (September 5, 2018)</p> <p class="IndexEntry"> <a href="/Articles/764593/">Toward better handling of hardware vulnerabilities</a> (September 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/768418/">Fighting Spectre with cache flushes</a> (October 15, 2018)</p> <p class="IndexEntry"> <a href="/Articles/769417/">Improving the handling of embargoed hardware-security bugs</a> (October 25, 2018)</p> <p class="IndexEntry"> <a href="/Articles/773118/">Taming STIBP</a> (November 29, 2018)</p> <p class="IndexEntry"> <a href="/Articles/795637/">Grand Schemozzle: Spectre continues to haunt</a> (August 8, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803823/">Generalizing address-space isolation</a> (November 5, 2019)</p> <p class="IndexEntry"> <a href="/Articles/860597/">Spectre revisits BPF</a> (June 24, 2021)</p> <p class="IndexEntry"> <a href="/Articles/877845/">Blocking straight-line speculation — eventually</a> (December 9, 2021)</p> <p class="IndexEntry"> <a href="/Articles/886494/">Generalized address-space isolation</a> (March 3, 2022)</p> <p class="IndexEntry"> <a href="/Articles/901834/">Stuffing the return stack buffer</a> (July 22, 2022)</p> <p class="IndexEntry"> <a href="/Articles/909469/">A call to reconsider address-space isolation</a> (September 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/919683/">Support for Intel's LASS</a> (January 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/974390/">Another try for address-space isolation</a> (May 21, 2024)</p> <p class="IndexSecondary"> <a name="Security-Memory_encryption"></a><a href="#Security-Memory_encryption">Memory encryption</a></p> <p class="IndexEntry"> <a href="/Articles/686808/">Two approaches to x86 memory encryption</a> (May 11, 2016)</p> <p class="IndexEntry"> <a href="/Articles/786487/">SGX: when 20 patch versions aren't enough</a> (April 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/798748/">SGX and security modules</a> (September 11, 2019)</p> <p class="IndexSecondary"> <a name="Security-Namespaces"></a><a href="#Security-Namespaces">Namespaces</a></p> <p class="IndexEntry"> <a href="/Articles/626665/">User namespaces and setgroups()</a> (December 17, 2014)</p> <p class="IndexEntry"> <a href="/Articles/673597/">Controlling access to user namespaces</a> (January 27, 2016)</p> <p class="IndexSecondary"> <a name="Security-Patch_verification"></a><a href="#Security-Patch_verification">Patch verification</a></p> <p class="IndexEntry"> <a href="/Articles/473220/">Pull requests with signed tags</a> (December 21, 2011)</p> <p class="IndexEntry"> <a href="/Articles/737093/">Patch flow into the mainline for 4.14</a> (October 24, 2017)</p> <p class="IndexEntry"> <a href="/Articles/798230/">Maintaining the kernel's web of trust</a> (September 4, 2019)</p> <p class="IndexEntry"> <a href="/Articles/813646/">Attestation for kernel patches</a> (March 2, 2020)</p> <p class="IndexEntry"> <a href="/Articles/854645/">An update on the UMN affair</a> (April 29, 2021)</p> <p class="IndexSecondary"> <a name="Security-Random_number_generation"></a><a href="#Security-Random_number_generation">Random number generation</a></p> <p class="IndexEntry"> <a href="/Articles/182874/">On the safety of Linux random numbers</a> (May 9, 2006)</p> <p class="IndexEntry"> <a href="/Articles/507115/">Random numbers for embedded devices</a> (July 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/567055/">The search for truly random numbers in the kernel</a> (September 18, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572129/">Plenary day lightning talks</a> (October 29, 2013)</p> <p class="IndexEntry"> <a href="/Articles/586427/">Adding CPU randomness to the entropy pool</a> (February 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/606141/">A system call for random numbers: getrandom()</a> (July 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/686033/">Replacing /dev/urandom</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/724643/">Waiting for entropy</a> (June 6, 2017)</p> <p class="IndexEntry"> <a href="/Articles/760584/">Initializing the entropy pool using RDRAND and friends</a> (July 24, 2018)</p> <p class="IndexEntry"> <a href="/Articles/828705/">Theoretical vs. practical cryptography in the kernel</a> (August 13, 2020)</p> <p class="IndexEntry"> <a href="/Articles/887207/">Random numbers and virtual-machine forks</a> (March 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/919008/">A vDSO implementation of getrandom()</a> (January 6, 2023)</p> <p class="IndexEntry"> <a href="/Articles/980447/">Another try for getrandom() in the vDSO</a> (July 4, 2024)</p> <p class="IndexEntry"> <a href="/Articles/983186/">What became of getrandom() in the vDSO</a> (July 25, 2024)</p> <p class="IndexSecondary"> <a name="Security-SCSI_command_filtering"></a><a href="#Security-SCSI_command_filtering">SCSI command filtering</a></p> <p class="IndexEntry"> <a href="/Articles/98379/">2.6.8 and CD recording</a> (August 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/193516/">SCSI command filtering</a> (July 31, 2006)</p> <p class="IndexSecondary"> <a name="Security-seccomp"></a><a href="#Security-seccomp">seccomp</a></p> <p class="IndexEntry"> <a href="/Articles/332974/">Seccomp and sandboxing</a> (May 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/441232/">Expanding seccomp</a> (May 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/443099/">Seccomp: replacing security modules?</a> (May 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/444745/">Seccomp filters: permission denied</a> (May 25, 2011)</p> <p class="IndexEntry"> <a href="/Articles/450291/">Seccomp filters: No clear path</a> (July 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/475043/">Yet another new approach to seccomp</a> (January 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/494252/">A library for seccomp filters</a> (April 25, 2012)</p> <p class="IndexEntry"> <a href="/Articles/600250/">Seccomp filters for multi-threaded programs</a> (May 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/634391/">Python bindings added for libseccomp 2.2.0</a> (March 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/738694/">The inherent fragility of seccomp()</a> (November 10, 2017)</p> <p class="IndexEntry"> <a href="/Articles/756233/">Deferring seccomp decisions to user space</a> (June 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/795128/">vDSO, 32-bit time, and seccomp</a> (August 2, 2019)</p> <p class="IndexEntry"> <a href="/Articles/799557/">Deep argument inspection for seccomp</a> (September 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/800916/">PostgreSQL considers seccomp() filters</a> (October 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/822256/">Seccomp and deep argument inspection</a> (June 10, 2020)</p> <p class="IndexEntry"> <a href="/Articles/824380/">Emulating Windows system calls in Linux</a> (June 25, 2020)</p> <p class="IndexEntry"> <a href="/Articles/834785/">Constant-action bitmaps for seccomp()</a> (October 22, 2020)</p> <p class="IndexEntry"> <a href="/Articles/851813/">Seccomp user-space notification and signals</a> (April 9, 2021)</p> <p class="IndexEntry"> <a href="/Articles/857228/">eBPF seccomp() filters</a> (May 31, 2021)</p> <p class="IndexEntry"> <a href="/Articles/878768/">SA_IMMUTABLE and the hazards of messing with signals</a> (December 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/899281/">System-call interception for unprivileged containers</a> (June 29, 2022)</p> <p class="IndexEntry"> <a href="/Articles/1005662/">The trouble with the new uretprobes</a> (January 23, 2025)</p> <p class="IndexSecondary"> <a name="Security-Security_modules"></a><a href="#Security-Security_modules">Security modules</a></p> <p class="IndexEntry"> <a href="/Articles/110432/">Stackable security modules</a> (November 10, 2004)</p> <p class="IndexEntry"> <a href="/Articles/111247/">Trustees Linux</a> (November 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/118785/">Merging the realtime security module</a> (January 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/138042/">Time to remove LSM?</a> (May 31, 2005)</p> <p class="IndexEntry"> <a href="/Articles/153366/">securityfs</a> (September 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/154277/">Complete coverage in Linux security modules</a> (October 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160157/">Some trusted computing security modules</a> (November 15, 2005)</p> <p class="IndexEntry"> <a href="/Articles/239962/">Linux security non-modules and AppArmor</a> (June 27, 2007)</p> <p class="IndexEntry"> <a href="/Articles/244531/">Smack for simplified access control</a> (August 8, 2007)</p> <p class="IndexEntry"> <a href="/Articles/252562/">SMACK meets the One True Security Module</a> (October 2, 2007)</p> <p class="IndexEntry"> <a href="/Articles/255650/">LSM: loadable or static?</a> (October 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/273822/">The return of authoritative hooks</a> (March 18, 2008)</p> <p class="IndexEntry"> <a href="/Articles/277833/">TOMOYO Linux and pathname-based security</a> (April 14, 2008)</p> <p class="IndexEntry"> <a href="/Articles/316940/">Snet and the LSM API</a> (January 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/368730/">Restricting the network</a> (January 6, 2010)</p> <p class="IndexEntry"> <a href="/Articles/369609/">FBAC-LSM</a> (January 13, 2010)</p> <p class="IndexEntry"> <a href="/Articles/393008/">LSM stacking (again)</a> (June 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/419161/">Pathname-based hooks for SELinux?</a> (December 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/426921/">Supporting multiple LSMs</a> (February 9, 2011)</p> <p class="IndexEntry"> <a href="/Articles/428140/">Security modules and ioctl()</a> (February 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/440347/">Dcache scalability and security modules</a> (April 27, 2011)</p> <p class="IndexEntry"> <a href="/Articles/458652/">LSS: LSM roundtable</a> (September 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/518345/">Another LSM stacking approach</a> (October 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/526983/">The return of loadable security modules?</a> (November 28, 2012)</p> <p class="IndexEntry"> <a href="/Articles/563178/">KPortReserve and the multi-LSM problem</a> (August 14, 2013)</p> <p class="IndexEntry"> <a href="/Articles/635771/">Progress in security module stacking</a> (March 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/674949/">Writing your own security module</a> (February 10, 2016)</p> <p class="IndexEntry"> <a href="/Articles/682302/">The LoadPin security module</a> (April 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686789/">Safename: restricting &quot;dangerous&quot; file names</a> (May 11, 2016)</p> <p class="IndexEntry"> <a href="/Articles/703876/">Sandboxing with the Landlock security module</a> (October 19, 2016)</p> <p class="IndexEntry"> <a href="/Articles/741261/">Process tagging with ptags</a> (December 13, 2017)</p> <p class="IndexEntry"> <a href="/Articles/763058/">The sidechannel LSM</a> (August 21, 2018)</p> <p class="IndexEntry"> <a href="/Articles/767398/">XFS, LSM, and low-level management APIs</a> (October 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/798157/">Kernel runtime security instrumentation</a> (September 4, 2019)</p> <p class="IndexEntry"> <a href="/Articles/804906/">LSM stacking and the future</a> (November 20, 2019)</p> <p class="IndexEntry"> <a href="/Articles/808048/">KRSI — the other BPF security module</a> (December 27, 2019)</p> <p class="IndexEntry"> <a href="/Articles/809841/">KRSI and proprietary BPF programs</a> (January 17, 2020)</p> <p class="IndexEntry"> <a href="/Articles/813261/">Impedance matching for BPF and LSM</a> (February 26, 2020)</p> <p class="IndexEntry"> <a href="/Articles/817472/">The integrity policy enforcement security module</a> (April 16, 2020)</p> <p class="IndexEntry"> <a href="/Articles/849531/">Handling brute force attacks in the kernel</a> (March 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/859908/">Landlock (finally) sets sail</a> (June 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/902466/">Security requirements for new kernel features</a> (July 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/903580/">A security-module hook for user-namespace creation</a> (August 4, 2022)</p> <p class="IndexEntry"> <a href="/Articles/912775/">Still waiting for stackable security modules</a> (October 31, 2022)</p> <p class="IndexEntry"> <a href="/Articles/919059/">Adding system calls for Linux security modules</a> (January 4, 2023)</p> <p class="IndexEntry"> <a href="/Articles/927463/">Disabling SELinux's runtime disable</a> (April 20, 2023)</p> <p class="IndexEntry"> <a href="/Articles/929746/">Unprivileged BPF and authoritative security hooks</a> (April 27, 2023)</p> <p class="IndexEntry"> <a href="/Articles/970070/">A change in direction for security-module stacking?</a> (April 23, 2024)</p> <p class="IndexEntry"> <a href="/Articles/979683/">Eliminating indirect calls for security modules</a> (July 2, 2024)</p> <p class="IndexSecondary"> <a name="Security-Security_technologies"></a><a href="#Security-Security_technologies">Security technologies</a></p> <p class="IndexEntry"> <a href="/Articles/87814/">x86 NX support</a> (June 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/92617/">Cryptographic signatures on kernel modules</a> (July 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/134513/">Defending against fork bombs</a> (May 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144107/">Kernel Summit 2005: The ExecShield patches</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/153322/">Rule set based access control</a> (September 27, 2005)</p> <p class="IndexEntry"> <a href="/Articles/181508/">The AppArmor debate begins</a> (April 26, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191737/">Kernel Summit 2006: Security</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/199004/">A bid to resurrect Linux capabilities</a> (September 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/211883/">File-based capabilities</a> (November 29, 2006)</p> <p class="IndexEntry"> <a href="/Articles/241980/">USB device authorization</a> (July 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/251469/">Credential records</a> (September 25, 2007)</p> <p class="IndexEntry"> <a href="/Articles/260918/">Kernel-based malware scanning</a> (December 4, 2007)</p> <p class="IndexEntry"> <a href="/Articles/280058/">Ksplice: kernel patches without reboots</a> (April 29, 2008)</p> <p class="IndexEntry"> <a href="/Articles/292872/">The TALPA molehill</a> (August 6, 2008)</p> <p class="IndexEntry"> <a href="/Articles/295568/">TALPA strides forward</a> (August 27, 2008)</p> <p class="IndexEntry"> <a href="/Articles/311850/">Followups: performance counters, ksplice, and fsnotify</a> (December 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/313621/">The future for grsecurity</a> (January 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/318705/">DazukoFS: a stackable filesystem for virus scanning</a> (February 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/339399/">The fanotify API</a> (July 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/381158/">Toward a saner execve()</a> (March 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/422487/">Extending the use of RO and NX</a> (January 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/430462/">Capabilities for loading network modules</a> (March 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/435917/">Fighting fork bombs</a> (March 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/462437/">Securely deleting files from ext4 filesystems</a> (October 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/470906/">Loading signed kernel modules</a> (December 7, 2011)</p> <p class="IndexEntry"> <a href="/Articles/472071/">Fixing the symlink race problem</a> (December 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/475678/">System call filtering and no_new_privs</a> (January 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/517475/">Supervisor mode access prevention</a> (September 26, 2012)</p> <p class="IndexEntry"> <a href="/Articles/525592/">The module signing endgame</a> (November 21, 2012)</p> <p class="IndexEntry"> <a href="/Articles/577164/">A proposal for &quot;silent&quot; port knocking</a> (December 18, 2013)</p> <p class="IndexEntry"> <a href="/Articles/577432/">Known-exploit detection for the kernel</a> (December 18, 2013)</p> <p class="IndexEntry"> <a href="/Articles/582712/">Supporting Intel MPX in Linux</a> (January 29, 2014)</p> <p class="IndexEntry"> <a href="/Articles/603116/">Reworking kexec for signatures</a> (June 25, 2014)</p> <p class="IndexEntry"> <a href="/Articles/604015/">Capsicum for Linux</a> (July 2, 2014)</p> <p class="IndexEntry"> <a href="/Articles/643797/">Memory protection keys</a> (May 13, 2015)</p> <p class="IndexEntry"> <a href="/Articles/667156/">Memory protection keys v5</a> (December 9, 2015)</p> <p class="IndexEntry"> <a href="/Articles/704920/">Defending against Rowhammer in the kernel</a> (October 28, 2016)</p> <p class="IndexEntry"> <a href="/Articles/705262/">The status of kernel hardening</a> (November 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/718888/">ARM pointer authentication</a> (April 5, 2017)</p> <p class="IndexEntry"> <a href="/Articles/721848/">Grsecurity goes private</a> (May 4, 2017)</p> <p class="IndexEntry"> <a href="/Articles/781283/">Two topics in user-space access</a> (March 5, 2019)</p> <p class="IndexEntry"> <a href="/Articles/920384/">Hiding a process's executable from itself</a> (January 23, 2023)</p> <p class="IndexSecondary"> <a name="Security-System_calls"></a><a href="#Security-System_calls">System calls</a></p> <p class="IndexEntry"> <a href="/Articles/958438/">mseal() gets closer</a> (January 19, 2024)</p> <p class="IndexSecondary"> <a name="Security-UEFI_secure_boot"></a><a href="#Security-UEFI_secure_boot">UEFI secure boot</a></p> <p class="IndexEntry"> <a href="/Articles/514985/">Preparing the kernel for UEFI secure boot</a> (September 6, 2012)</p> <p class="IndexEntry"> <a href="/Articles/523367/">UEFI secure boot kernel restrictions</a> (November 7, 2012)</p> <p class="IndexEntry"> <a href="/Articles/532778/">Signing ELF binaries</a> (January 16, 2013)</p> <p class="IndexEntry"> <a href="/Articles/540287/">Loading keys from Microsoft PE binaries</a> (February 27, 2013)</p> <p class="IndexEntry"> <a href="/Articles/566169/">BSD-style securelevel comes to Linux — again</a> (September 11, 2013)</p> <p class="IndexEntry"> <a href="/Articles/708179/">Locking down module parameters</a> (December 7, 2016)</p> <p class="IndexEntry"> <a href="/Articles/750730/">Kernel lockdown in 4.17?</a> (April 2, 2018)</p> <p class="IndexEntry"> <a href="/Articles/751061/">Kernel lockdown locked out — for now</a> (April 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/784674/">The return of the lockdown patches</a> (April 3, 2019)</p> <p class="IndexEntry"> <a href="/Articles/791863/">Lockdown as a security module</a> (June 24, 2019)</p> <p class="IndexEntry"> <a href="/Articles/938422/">Much ado about SBAT</a> (July 20, 2023)</p> <p class="IndexSecondary"> <a name="Security-Vulnerabilities"></a><a href="#Security-Vulnerabilities">Vulnerabilities</a></p> <p class="IndexEntry"> <a href="/Articles/65136/">Subverting mremap()</a> (January 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/71742/">A new mremap() vulnerability</a> (February 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/81560/">TCP vulnerability: cancel red alert</a> (April 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/89586/">A nasty FPU bug</a> (June 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/115720/">Anatomy of a kernel vulnerability</a> (December 15, 2004)</p> <p class="IndexEntry"> <a href="/Articles/118952/">Linux kernel security</a> (January 12, 2005)</p> <p class="IndexEntry"> <a href="/Articles/126986/">A hole in PaX</a> (March 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/136273/">Is hyperthreading dangerous?</a> (May 17, 2005)</p> <p class="IndexEntry"> <a href="/Articles/156063/">A survey of recent kernel vulnerabilities</a> (October 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/191080/">Denial of reality vulnerabilities</a> (July 12, 2006)</p> <p class="IndexEntry"> <a href="/Articles/268783/">vmsplice(): the making of a local root exploit</a> (February 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/271688/">The rest of the vmsplice() exploit story</a> (March 4, 2008)</p> <p class="IndexEntry"> <a href="/Articles/328572/">Another Linux capabilities hole found</a> (April 15, 2009)</p> <p class="IndexEntry"> <a href="/Articles/329266/">A privilege escalation flaw in udev</a> (April 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/330866/">Linux ASLR vulnerabilities</a> (April 29, 2009)</p> <p class="IndexEntry"> <a href="/Articles/342330/">Fun with NULL pointers, part 1</a> (July 20, 2009)</p> <p class="IndexEntry"> <a href="/Articles/342420/">Fun with NULL pointers, part 2</a> (July 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/360328/">Another null pointer exploit</a> (November 4, 2009)</p> <p class="IndexEntry"> <a href="/Articles/372321/">The x86_64 DOS hole</a> (February 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/404043/">Another old security problem</a> (September 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/406466/">The hazards of 32/64-bit compatibility</a> (September 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410606/">Kernel vulnerabilities: old or new?</a> (October 19, 2010)</p> <p class="IndexEntry"> <a href="/Articles/417989/">Structure holes and information leaks</a> (December 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/429321/">debugfs: rules not welcome</a> (February 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/451985/">RLIMIT_NPROC and setuid()</a> (July 20, 2011)</p> <p class="IndexEntry"> <a href="/Articles/476947/">A /proc/PID/mem vulnerability</a> (January 25, 2012)</p> <p class="IndexEntry"> <a href="/Articles/538898/">A story of three kernel vulnerabilities</a> (February 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/550901/">An unexpected perf feature</a> (May 21, 2013)</p> <p class="IndexEntry"> <a href="/Articles/584020/">An x32 local exploit</a> (February 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/630762/">A crypto module loading vulnerability</a> (January 28, 2015)</p> <p class="IndexEntry"> <a href="/Articles/661448/">Looking at a few recent kernel security holes</a> (October 21, 2015)</p> <p class="IndexEntry"> <a href="/Articles/696716/">Four new Android privilege escalations</a> (August 10, 2016)</p> <p class="IndexEntry"> <a href="/Articles/715811/">The case of the prematurely freed SKB</a> (February 28, 2017)</p> <p class="IndexEntry"> <a href="/Articles/725832/">Preventing stack guard-page hopping</a> (June 19, 2017)</p> <p class="IndexEntry"> <a href="/Articles/726580/">Ripples from Stack Clash</a> (June 28, 2017)</p> <p class="IndexEntry"> <a href="/Articles/727703/">Rethinking the Stack Clash fix</a> (July 13, 2017)</p> <p class="IndexEntry"> <a href="/Articles/736348/">unsafe_put_user() turns out to be unsafe</a> (October 13, 2017)</p> <p class="IndexEntry"> <a href="/Articles/782381/">The Thunderclap vulnerabilities</a> (March 6, 2019)</p> <p class="IndexEntry"> <a href="/Articles/786044/">Avoiding page reference-count overflows</a> (April 16, 2019)</p> <p class="IndexEntry"> <a href="/Articles/791409/">The TCP SACK panic</a> (June 19, 2019)</p> <p class="IndexEntry"> <a href="/Articles/849638/">Patching until the COWs come home (part 1)</a> (March 22, 2021)</p> <p class="IndexEntry"> <a href="/Articles/849876/">Patching until the COWs come home (part 2)</a> (March 25, 2021)</p> <p class="IndexEntry"> <a href="/Articles/863729/">The Sequoia seq_file vulnerability</a> (July 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/882799/">Handling argc==0 in the kernel</a> (January 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/896829/">What constitutes disclosure of a kernel vulnerability?</a> (June 3, 2022)</p> <p class="IndexEntry"> <a href="/Articles/910435/">Fingerprinting systems with TCP source-port selection</a> (October 6, 2022)</p> <p class="IndexEntry"> <a href="/Articles/983169/">May the FOLL_FORCE not be with you</a> (July 26, 2024)</p> <p class="IndexPrimary"> <a name="Seeking"><a href="#Seeking">Seeking</a></a></p> <p class="IndexSecondary"> <a name="Seeking-Safely"></a><a href="#Seeking-Safely">Safely</a></p> <p class="IndexEntry"> <a href="/Articles/97154/">Safe seeks</a> (August 10, 2004)</p> <p class="IndexPrimary"> <a name="SELinux"><a href="#SELinux">SELinux</a></a></p> <p class="IndexEntry"> <a href="/Articles/79326/">The lightweight auditing framework</a> (April 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/191737/">Kernel Summit 2006: Security</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/300070/">Newer kernels and older SELinux policies</a> (September 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/419161/">Pathname-based hooks for SELinux?</a> (December 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/927463/">Disabling SELinux's runtime disable</a> (April 20, 2023)</p> <p class="IndexPrimary"> <a name="Semaphores"><a href="#Semaphores">Semaphores</a></a></p> <p class="IndexEntry"> <a href="/Articles/130506/">Time for a new semaphore type?</a> (April 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/163842/">Reworking the semaphore interface</a> (December 14, 2005)</p> <p class="IndexEntry"> <a href="/Articles/165039/">Semaphores and mutexes</a> (December 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/166195/">Goodbye semaphores?</a> (January 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/167034/">The mutex API</a> (January 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/273731/">Generic semaphores</a> (March 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/281938/">The big kernel lock strikes again</a> (May 13, 2008)</p> <p class="IndexEntry"> <a href="/Articles/369511/">Speculating on page faults</a> (January 12, 2010)</p> <p class="IndexEntry"> <a href="/Articles/928026/">The shrinking role of semaphores</a> (April 7, 2023)</p> <p class="IndexPrimary"> <a name="send_kevent"><a href="#send_kevent">send_kevent()</a></a></p> <p class="IndexEntry"> <a href="/Articles/95347/">A kernel events layer</a> (July 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/101210/">Figuring out kernel event reporting</a> (September 8, 2004)</p> <p class="IndexPrimary"> <a name="seq_file"><a href="#seq_file">seq_file</a></a></p> <p class="IndexEntry"> <a href="/Articles/159101/">A seq_file API tweak</a> (November 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/863729/">The Sequoia seq_file vulnerability</a> (July 21, 2021)</p> <p class="IndexPrimary"> <a name="Serial_ATA"><a href="#Serial_ATA">Serial ATA</a></a></p> <p class="IndexEntry"> <a href="/Articles/77981/">Big block transfers: good or bad?</a> (March 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/183734/">Big serial ATA changes</a> (May 16, 2006)</p> <p class="IndexPrimary"> <a name="set_fs"><a href="#set_fs">set_fs()</a></a></p> <p class="IndexEntry"> <a href="/Articles/722267/">A farewell to set_fs()?</a> (May 10, 2017)</p> <p class="IndexEntry"> <a href="/Articles/832121/">Saying goodbye to set_fs()</a> (September 24, 2020)</p> <p class="IndexEntry"> <a href="/Articles/896267/">splice() and the ghost of set_fs()</a> (May 26, 2022)</p> <p class="IndexPrimary"> <a name="set_fs_root"><a href="#set_fs_root">set_fs_root()</a></a></p> <p class="IndexEntry"> <a href="/Articles/118835/">The abrupt un-exporting of symbols</a> (January 12, 2005)</p> <p class="IndexPrimary"> <a name="Shared_subtrees"><a href="#Shared_subtrees">Shared subtrees</a></a></p> <p class="IndexEntry"> <a href="/Articles/159077/">Shared subtrees</a> (November 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/689856/">Mount namespaces and shared subtrees</a> (June 8, 2016)</p> <p class="IndexEntry"> <a href="/Articles/690679/">Mount namespaces, mount propagation, and unbindable mounts</a> (June 15, 2016)</p> <p class="IndexPrimary"> <a name="Shingled_magnetic_recording"><a href="#Shingled_magnetic_recording">Shingled magnetic recording</a></a></p> <p class="IndexEntry"> <a href="/Articles/548116/">LSFMM: A storage technology update</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591782/">Support for shingled magnetic recording devices</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/637035/">Filesystem support for SMR devices</a> (March 18, 2015)</p> <p class="IndexPrimary"> <a name="signalfd"><a href="#signalfd">signalfd()</a></a></p> <p class="IndexEntry"> <a href="/Articles/225714/">Kernel events without kevents</a> (March 13, 2007)</p> <p class="IndexPrimary"> <a name="Signal_handling"><a href="#Signal_handling">Signal handling</a></a></p> <p class="IndexEntry"> <a href="/Articles/272048/">GCC 4.3.0 exposes a kernel bug</a> (March 7, 2008)</p> <p class="IndexEntry"> <a href="/Articles/878768/">SA_IMMUTABLE and the hazards of messing with signals</a> (December 17, 2021)</p> <p class="IndexEntry"> <a href="/Articles/880498/">VSTATUS, with or without SIGINFO</a> (January 6, 2022)</p> <p class="IndexPrimary"> <a name="skb_reserve"><a href="#skb_reserve">skb_reserve()</a></a></p> <p class="IndexEntry"> <a href="/Articles/89597/">On the alignment of IP packets</a> (June 15, 2004)</p> <p class="IndexPrimary"> <a name="Skiplists"><a href="#Skiplists">Skiplists</a></a></p> <p class="IndexEntry"> <a href="/Articles/551896/">A kernel skiplist implementation (Part 1)</a> (May 30, 2013)</p> <p class="IndexEntry"> <a href="/Articles/553047/">Skiplists II: API and benchmarks</a> (June 12, 2013)</p> <p class="IndexPrimary"> <a name="Slab_allocator"><a href="#Slab_allocator">Slab allocator</a></a></p> <p class="IndexEntry"> <a href="/Articles/229984/">The SLUB allocator</a> (April 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/263329/">Some snags for SLUB</a> (December 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/311502/">SLQB - and then there were four</a> (December 16, 2008)</p> <p class="IndexEntry"> <a href="/Articles/388296/">The SLEB allocator</a> (May 19, 2010)</p> <p class="IndexEntry"> <a href="/Articles/394211/">Slab allocator of the week: SLUB+Queuing</a> (June 29, 2010)</p> <p class="IndexEntry"> <a href="/Articles/565097/">Cramming more into struct page</a> (August 28, 2013)</p> <p class="IndexEntry"> <a href="/Articles/629152/">Toward a more efficient slab allocator</a> (January 13, 2015)</p> <p class="IndexPrimary"> <a name="sleep_on"><a href="#sleep_on">sleep_on()</a></a></p> <p class="IndexEntry"> <a href="/Articles/68118/">sleep_on() in 2.6.</a> (January 27, 2004)</p> <p class="IndexPrimary"> <a name="Slow_work"><a href="#Slow_work">Slow work</a></a></p> <p class="IndexEntry"> <a href="/Articles/329464/">The slow work mechanism</a> (April 22, 2009)</p> <p class="IndexPrimary"> <a name="Smatch"><a href="#Smatch">Smatch</a></a></p> <p class="IndexEntry"> <a href="/Articles/691882/">Smatch: pluggable static analysis for C</a> (June 22, 2016)</p> <p class="IndexEntry"> <a href="/Articles/696624/">Better types in C using sparse and smatch</a> (August 10, 2016)</p> <p class="IndexPrimary"> <a name="smbfs"><a href="#smbfs">smbfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/183693/">On the future of smbfs</a> (May 15, 2006)</p> <p class="IndexPrimary"> <a name="Soft_updates"><a href="#Soft_updates">Soft updates</a></a></p> <p class="IndexEntry"> <a href="/Articles/339337/">Soft updates, hard problems</a> (July 1, 2009)</p> <p class="IndexPrimary"> <a name="Software_suspend"><a href="#Software_suspend">Software suspend</a></a></p> <p class="IndexEntry"> <a href="/Articles/69575/">Software Suspend 2.0</a> (February 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/75951/">Which is the real software suspend?</a> (March 16, 2004)</p> <p class="IndexEntry"> <a href="/Articles/94071/">Software suspend: and then there were two</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/96587/">Recent patches of interest</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/98420/">Power management: looking for a direction</a> (August 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/113555/">Merging swsusp2</a> (December 1, 2004)</p> <p class="IndexEntry"> <a href="/Articles/145036/">A pair of suspend2 patches</a> (July 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/146079/">A new path to the refrigerator</a> (August 3, 2005)</p> <p class="IndexEntry"> <a href="/Articles/153203/">User-space software suspend</a> (September 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160380/">A software suspend decision point</a> (November 16, 2005)</p> <p class="IndexEntry"> <a href="/Articles/170212/">Two software suspend image writing patches</a> (February 1, 2006)</p> <p class="IndexEntry"> <a href="/Articles/170822/">Software suspend - again</a> (February 6, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191657/">Kernel Summit 2006: Software suspend</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/242107/">Yet another approach to software suspend</a> (July 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/274008/">A new suspend/hibernate infrastructure</a> (March 19, 2008)</p> <p class="IndexEntry"> <a href="/Articles/333007/">TuxOnIce: in from the cold?</a> (May 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/580451/">Supporting connected standby</a> (January 15, 2014)</p> <p class="IndexEntry"> <a href="/Articles/594864/">3.15 Merge window, part 2</a> (April 16, 2014)</p> <p class="IndexEntry"> <a href="/Articles/701639/">A low-level hibernation bug hunt</a> (September 28, 2016)</p> <p class="IndexEntry"> <a href="/Articles/821158/">Hibernation in the cloud</a> (May 25, 2020)</p> <p class="IndexPrimary"> <a name="Solid-state_storage_devices"><a href="#Solid-state_storage_devices">Solid-state storage devices</a></a></p> <p class="IndexEntry"> <a href="/Articles/293658/">Block layer discard requests</a> (August 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/347511/">The trouble with discard</a> (August 18, 2009)</p> <p class="IndexEntry"> <a href="/Articles/353411/">Log-structured file systems: There's one in every SSD</a> (September 18, 2009)</p> <p class="IndexEntry"> <a href="/Articles/408428/">Solid-state storage devices and the block layer</a> (October 4, 2010)</p> <p class="IndexEntry"> <a href="/Articles/417809/">The best way to throw blocks away</a> (December 1, 2010)</p> <p class="IndexEntry"> <a href="/Articles/428584/">Optimizing Linux with cheap flash drives</a> (February 18, 2011)</p> <p class="IndexEntry"> <a href="/Articles/437014/">Future storage technologies and Linux</a> (April 6, 2011)</p> <p class="IndexEntry"> <a href="/Articles/502472/">Supporting block I/O contexts</a> (June 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/547903/">LFCS: Preparing Linux for nonvolatile memory devices</a> (April 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/619058/">Supporting solid-state hybrid drives</a> (November 5, 2014)</p> <p class="IndexEntry"> <a href="/Articles/641247/">Taking control of SSDs with LightNVM</a> (April 22, 2015)</p> <p class="IndexPrimary"> <a name="Sorting"><a href="#Sorting">Sorting</a></a></p> <p class="IndexEntry"> <a href="/Articles/127858/">Some more 2.6.12 API changes</a> (March 16, 2005)</p> <p class="IndexPrimary"> <a name="sparse"><a href="#sparse">sparse</a></a></p> <p class="IndexEntry"> <a href="/Articles/87538/">Finding kernel problems automatically</a> (June 1, 2004)</p> <p class="IndexEntry"> <a href="/Articles/205624/">Using sparse for endianness verification</a> (October 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/208312/">Sparse gets a maintainer</a> (November 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/670237/">Protecting private structure members</a> (January 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/689907/">Sparse: a look under the hood</a> (June 8, 2016)</p> <p class="IndexPrimary"> <a name="Spinlocks"><a href="#Spinlocks">Spinlocks</a></a></p> <p class="IndexEntry"> <a href="/Articles/97537/">Out-of-lining spinlocks</a> (August 11, 2004)</p> <p class="IndexEntry"> <a href="/Articles/109505/">Unified spinlock initialization</a> (November 3, 2004)</p> <p class="IndexEntry"> <a href="/Articles/120614/">Some 2.6.11 API changes</a> (January 25, 2005)</p> <p class="IndexEntry"> <a href="/Articles/185666/">The kernel lock validator</a> (May 31, 2006)</p> <p class="IndexEntry"> <a href="/Articles/267968/">Ticket spinlocks</a> (February 6, 2008)</p> <p class="IndexEntry"> <a href="/Articles/271817/">Realtime adaptive locks</a> (March 5, 2008)</p> <p class="IndexEntry"> <a href="/Articles/274695/">Atomic context and kernel API design</a> (March 25, 2008)</p> <p class="IndexEntry"> <a href="/Articles/310391/">A new realtime tree</a> (December 9, 2008)</p> <p class="IndexEntry"> <a href="/Articles/345076/">The realtime preemption endgame</a> (August 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/354690/">The realtime preemption mini-summit</a> (September 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/364583/">Eliminating rwlocks and IRQF_DISABLED</a> (December 1, 2009)</p> <p class="IndexEntry"> <a href="/Articles/531254/">Improving ticket spinlocks</a> (January 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/590243/">MCS locks and qspinlocks</a> (March 11, 2014)</p> <p class="IndexEntry"> <a href="/Articles/852138/">NUMA-aware qspinlocks</a> (April 12, 2021)</p> <p class="IndexSecondary"> <a name="Spinlocks-User-space"></a><a href="#Spinlocks-User-space">User-space</a></p> <p class="IndexEntry"> <a href="/Articles/931789/">1½ Topics: realtime throttling and user-space adaptive spinning</a> (May 13, 2023)</p> <p class="IndexEntry"> <a href="/Articles/944895/">User-space spinlocks with help from rseq()</a> (September 22, 2023)</p> <p class="IndexEntry"> <a href="/Articles/948870/">Deferred scheduling for user-space critical sections</a> (October 27, 2023)</p> <p class="IndexPrimary"> <a name="splice"><a href="#splice">splice()</a></a></p> <p class="IndexEntry"> <a href="/Articles/118750/">Circular pipes</a> (January 11, 2005)</p> <p class="IndexEntry"> <a href="/Articles/119682/">The evolution of pipe buffers</a> (January 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/164887/">Some new system calls</a> (December 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/178199/">Two new system calls: splice() and sync_file_range()</a> (April 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/179492/">tee() with your splice()?</a> (April 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/181169/">The splice() weekly news</a> (April 24, 2006)</p> <p class="IndexEntry"> <a href="/Articles/268783/">vmsplice(): the making of a local root exploit</a> (February 12, 2008)</p> <p class="IndexEntry"> <a href="/Articles/567086/">Copy offloading with splice()</a> (September 18, 2013)</p> <p class="IndexEntry"> <a href="/Articles/592061/">Some vmsplice() issues</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/787187/">Toward a reverse splice()</a> (May 1, 2019)</p> <p class="IndexEntry"> <a href="/Articles/923237/">Rethinking splice()</a> (February 17, 2023)</p> <p class="IndexPrimary"> <a name="Stable_pages"><a href="#Stable_pages">Stable pages</a></a></p> <p class="IndexEntry"> <a href="/Articles/429295/">Notes from the block layer</a> (February 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/442355/">Stable pages</a> (May 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/486311/">The trouble with stable pages</a> (March 13, 2012)</p> <p class="IndexEntry"> <a href="/Articles/528031/">Optimizing stable pages</a> (December 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548091/">LSFMM: Page forking</a> (April 23, 2013)</p> <p class="IndexPrimary"> <a name="Stack_unwinder"><a href="#Stack_unwinder">Stack unwinder</a></a></p> <p class="IndexEntry"> <a href="/Articles/728339/">The ORCs are coming</a> (July 20, 2017)</p> <p class="IndexPrimary"> <a name="Staging_tree"><a href="#Staging_tree">Staging tree</a></a></p> <p class="IndexEntry"> <a href="/Articles/285594/">A new kernel tree: linux-staging</a> (June 11, 2008)</p> <p class="IndexEntry"> <a href="/Articles/301192/">Moving the -staging tree</a> (October 1, 2008)</p> <p class="IndexEntry"> <a href="/Articles/351480/">News from the staging tree</a> (September 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/356776/">On the driver life cycle</a> (October 13, 2009)</p> <p class="IndexEntry"> <a href="/Articles/357805/">KS2009: Staging, linux-next, and the development process</a> (October 21, 2009)</p> <p class="IndexEntry"> <a href="/Articles/359208/">Staging drivers out</a> (October 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/756565/">Will staging lose its Lustre?</a> (June 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/798258/">What happens to kernel staging-tree code</a> (September 5, 2019)</p> <p class="IndexPrimary"> <a name="Staircase_scheduler"><a href="#Staircase_scheduler">Staircase scheduler</a></a></p> <p class="IndexEntry"> <a href="/Articles/87729/">The staircase scheduler</a> (June 2, 2004)</p> <p class="IndexEntry"> <a href="/Articles/96554/">Scheduler tweaks get serious</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/224865/">The Rotating Staircase Deadline Scheduler</a> (March 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/226054/">RSDL hits a snag</a> (March 14, 2007)</p> <p class="IndexPrimary"> <a name="Static_calls"><a href="#Static_calls">Static calls</a></a></p> <p class="IndexEntry"> <a href="/Articles/815908/">Avoiding retpolines with static calls</a> (March 26, 2020)</p> <p class="IndexPrimary"> <a name="Static_keys"><a href="#Static_keys">Static keys</a></a></p> <p class="IndexEntry"> <a href="/Articles/484527/">very_unlikely() very unliked</a> (February 29, 2012)</p> <p class="IndexPrimary"> <a name="Storage_management"><a href="#Storage_management">Storage management</a></a></p> <p class="IndexEntry"> <a href="/Articles/932415/">Fanotify and hierarchical storage management</a> (May 23, 2023)</p> <p class="IndexEntry"> <a href="/Articles/981392/">Hierarchical storage management, fanotify, FUSE, and more</a> (July 16, 2024)</p> <p class="IndexPrimary"> <a name="String_processing"><a href="#String_processing">String processing</a></a></p> <p class="IndexEntry"> <a href="/Articles/435022/">Converting strings to integers</a> (March 23, 2011)</p> <p class="IndexEntry"> <a href="/Articles/501492/">The word-at-a-time interface</a> (June 12, 2012)</p> <p class="IndexEntry"> <a href="/Articles/643376/">Improving kernel string handling</a> (May 6, 2015)</p> <p class="IndexEntry"> <a href="/Articles/659214/">strscpy() and the hazards of improved interfaces</a> (October 7, 2015)</p> <p class="IndexEntry"> <a href="/Articles/892611/">Printbuf rebuffed for now</a> (April 28, 2022)</p> <p class="IndexEntry"> <a href="/Articles/905777/">Ushering out strlcpy()</a> (August 25, 2022)</p> <p class="IndexEntry"> <a href="/Articles/948408/">Better string handling for the kernel</a> (October 26, 2023)</p> <p class="IndexPrimary"> <a name="struct_file_operations"><a href="#struct_file_operations">struct file_operations</a></a></p> <p class="IndexEntry"> <a href="/Articles/77190/">A new file_operations method</a> (March 24, 2004)</p> <p class="IndexEntry"> <a href="/Articles/98463/">The end of the fcntl() method</a> (August 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/972081/">The file_operations structure gets smaller</a> (May 3, 2024)</p> <p class="IndexPrimary"> <a name="Sucker_tree"><a href="#Sucker_tree">Sucker tree</a></a></p> <p class="IndexEntry"> <a href="/Articles/126763/">Is the kernel development process broken?</a> (March 9, 2005)</p> <p class="IndexEntry"> <a href="/Articles/559113/">Some stable tree grumbles</a> (July 17, 2013)</p> <p class="IndexPrimary"> <a name="Swappiness_parameter"><a href="#Swappiness_parameter">Swappiness parameter</a></a></p> <p class="IndexEntry"> <a href="/Articles/83588/">2.6 swapping behavior</a> (May 5, 2004)</p> <p class="IndexPrimary"> <a name="Swimwear"><a href="#Swimwear">Swimwear</a></a></p> <p class="IndexEntry"> <a href="/Articles/67163/">Quote of the week</a> (January 21, 2004)</p> <p class="IndexPrimary"> <a name="swiotlb"><a href="#swiotlb">swiotlb</a></a></p> <p class="IndexEntry"> <a href="/Articles/91870/">DMA issues, part 2</a> (June 30, 2004)</p> <p class="IndexEntry"> <a href="/Articles/156144/">What's holding up 2.6.14: two difficult bugs</a> (October 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/272693/">A better DMA memory allocator</a> (March 10, 2008)</p> <p class="IndexEntry"> <a href="/Articles/889593/">A security fix briefly breaks DMA</a> (April 1, 2022)</p> <p class="IndexEntry"> <a href="/Articles/940973/">A more dynamic software I/O TLB</a> (August 24, 2023)</p> <p class="IndexPrimary"> <a name="Symbolic_links"><a href="#Symbolic_links">Symbolic links</a></a></p> <p class="IndexEntry"> <a href="/Articles/91959/">Supporting deeper symbolic links</a> (June 30, 2004)</p> <p class="IndexEntry"> <a href="/Articles/294667/">Standards, the kernel, and Postfix</a> (August 20, 2008)</p> <p class="IndexEntry"> <a href="/Articles/503660/">Tightening security: not for the impatient</a> (June 27, 2012)</p> <p class="IndexEntry"> <a href="/Articles/899543/">The trouble with symbolic links</a> (July 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/939217/">Flags for fchmodat()</a> (July 27, 2023)</p> <p class="IndexPrimary"> <a name="sync_file_range"><a href="#sync_file_range">sync_file_range()</a></a></p> <p class="IndexEntry"> <a href="/Articles/178199/">Two new system calls: splice() and sync_file_range()</a> (April 3, 2006)</p> <p class="IndexPrimary"> <a name="synchronize_kernel"><a href="#synchronize_kernel">synchronize_kernel()</a></a></p> <p class="IndexEntry"> <a href="/Articles/134484/">API change: synchronize_kernel() deprecated</a> (May 3, 2005)</p> <p class="IndexPrimary"> <a name="Sysctl"><a href="#Sysctl">Sysctl</a></a></p> <p class="IndexEntry"> <a href="/Articles/204935/">The death and possible rebirth of sysctl()</a> (October 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/247243/">Re-deprecating sysctl()</a> (August 29, 2007)</p> <p class="IndexEntry"> <a href="/Articles/361453/">Removing binary sysctl</a> (November 11, 2009)</p> <p class="IndexEntry"> <a href="/Articles/785263/">Managing sysctl knobs with BPF</a> (April 9, 2019)</p> <p class="IndexPrimary"> <a name="Sysfs"><a href="#Sysfs">Sysfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/69523/">Trimming down sysfs</a> (February 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/70680/">Safe sysfs support</a> (February 11, 2004)</p> <p class="IndexEntry"> <a href="/Articles/104393/">Driver core functions: GPL only</a> (September 29, 2004)</p> <p class="IndexEntry"> <a href="/Articles/140787/">A big set of driver core changes</a> (June 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/154557/">Nested classes</a> (October 5, 2005)</p> <p class="IndexEntry"> <a href="/Articles/172986/">Sysfs and a stable kernel ABI</a> (February 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/174660/">Some upcoming sysfs enhancements</a> (March 7, 2006)</p> <p class="IndexEntry"> <a href="/Articles/178634/">On the safety of the sysfs interfaces</a> (April 5, 2006)</p> <p class="IndexEntry"> <a href="/Articles/229774/">Toward a safer sysfs</a> (April 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248376/">KS2007: The greater kernel ecosystem and user-space APIs</a> (September 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/295587/">Sysfs and namespaces</a> (August 26, 2008)</p> <p class="IndexEntry"> <a href="/Articles/646617/">A tour of /sys/devices</a> (June 3, 2015)</p> <p class="IndexEntry"> <a href="/Articles/647757/">Enforcing mount options for sysfs and proc</a> (June 10, 2015)</p> <p class="IndexSecondary"> <a name="Sysfs-Events_layer"></a><a href="#Sysfs-Events_layer">Events layer</a></p> <p class="IndexEntry"> <a href="/Articles/101210/">Figuring out kernel event reporting</a> (September 8, 2004)</p> <p class="IndexSecondary"> <a name="Sysfs-Moving_module_parameters"></a><a href="#Sysfs-Moving_module_parameters">Moving module parameters</a></p> <p class="IndexEntry"> <a href="/Articles/96587/">Recent patches of interest</a> (August 4, 2004)</p> <p class="IndexPrimary"> <a name="Syslets"><a href="#Syslets">Syslets</a></a></p> <p class="IndexEntry"> <a href="/Articles/221913/">Alternatives to fibrils</a> (February 13, 2007)</p> <p class="IndexEntry"> <a href="/Articles/223899/">Threadlets</a> (February 27, 2007)</p> <p class="IndexEntry"> <a href="/Articles/236206/">The return of syslets</a> (May 30, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248929/">KS2007: Realtime and syslets</a> (September 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/259068/">sys_indirect()</a> (November 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/261473/">Simpler syslets</a> (December 10, 2007)</p> <p class="IndexEntry"> <a href="/Articles/316806/">LCA: A new approach to asynchronous I/O</a> (January 27, 2009)</p> <p class="IndexEntry"> <a href="/Articles/548352/">LSFMM: Reducing io_submit() latency</a> (May 1, 2013)</p> <p class="IndexPrimary"> <a name="sys_reiser4"><a href="#sys_reiser4">sys_reiser4()</a></a></p> <p class="IndexEntry"> <a href="/Articles/99232/">Looking at reiser4</a> (August 25, 2004)</p> <p class="IndexPrimary"> <a name="System_calls"><a href="#System_calls">System calls</a></a></p> <p class="IndexEntry"> <a href="/Articles/122579/">read() and write() access checking</a> (February 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/164887/">Some new system calls</a> (December 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/236843/">Fun with file descriptors</a> (June 4, 2007)</p> <p class="IndexEntry"> <a href="/Articles/237722/">More fun with file descriptors</a> (June 12, 2007)</p> <p class="IndexEntry"> <a href="/Articles/259068/">sys_indirect()</a> (November 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/260172/">System call updates: indirect(), timerfd(), and hijack()</a> (November 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/281965/">Extending system calls</a> (May 14, 2008)</p> <p class="IndexEntry"> <a href="/Articles/297500/">System calls and rootkits</a> (September 10, 2008)</p> <p class="IndexEntry"> <a href="/Articles/331808/">The two sides of reflink()</a> (May 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/333783/">This week's reflink() API</a> (May 19, 2009)</p> <p class="IndexEntry"> <a href="/Articles/394298/">xstat() and fxstat()</a> (June 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/463683/">Limiting system calls via control groups?</a> (October 19, 2011)</p> <p class="IndexEntry"> <a href="/Articles/550621/">copy_range()</a> (May 15, 2013)</p> <p class="IndexEntry"> <a href="/Articles/585415/">Flags as a system call API design pattern</a> (February 12, 2014)</p> <p class="IndexEntry"> <a href="/Articles/588444/">Proper handling of unknown flags in system calls</a> (February 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/604287/">Anatomy of a system call, part 1</a> (July 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/604515/">Anatomy of a system call, part 2</a> (July 16, 2014)</p> <p class="IndexEntry"> <a href="/Articles/612483/">Non-blocking buffered file read operations</a> (September 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/670231/">The return of preadv2()/pwritev2()</a> (January 6, 2016)</p> <p class="IndexEntry"> <a href="/Articles/683118/">This is why we can't have safe cancellation points</a> (April 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/685791/">task_diag and statx()</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/686106/">xstat()</a> (May 4, 2016)</p> <p class="IndexEntry"> <a href="/Articles/707602/">statx() v3</a> (November 30, 2016)</p> <p class="IndexEntry"> <a href="/Articles/752422/">Rewiring x86 system-call dispatch</a> (April 23, 2018)</p> <p class="IndexEntry"> <a href="/Articles/758594/">Revisiting the MAP_SHARED_VALIDATE hack</a> (June 29, 2018)</p> <p class="IndexEntry"> <a href="/Articles/789023/">New system calls: pidfd_open() and close_range()</a> (May 23, 2019)</p> <p class="IndexEntry"> <a href="/Articles/792628/">clone3(), fchmodat4(), and fsinfo()</a> (July 5, 2019)</p> <p class="IndexEntry"> <a href="/Articles/799331/">System-call wrappers for glibc</a> (September 19, 2019)</p> <p class="IndexEntry"> <a href="/Articles/808997/">Grabbing file descriptors with pidfd_getfd()</a> (January 9, 2020)</p> <p class="IndexEntry"> <a href="/Articles/809125/">configfd() and shifting bind mounts</a> (January 10, 2020)</p> <p class="IndexEntry"> <a href="/Articles/810076/">process_madvise(), pidfd capabilities, and the revenge of the PIDs</a> (January 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/813172/">watch_mount(), watch_sb(), and fsinfo() (again)</a> (February 24, 2020)</p> <p class="IndexEntry"> <a href="/Articles/815118/">Filesystem-oriented flags: sad, messy and not going away</a> (March 16, 2020)</p> <p class="IndexEntry"> <a href="/Articles/824380/">Emulating Windows system calls in Linux</a> (June 25, 2020)</p> <p class="IndexEntry"> <a href="/Articles/826313/">Emulating Windows system calls, take 2</a> (July 17, 2020)</p> <p class="IndexEntry"> <a href="/Articles/829212/">Rethinking fsinfo()</a> (August 21, 2020)</p> <p class="IndexEntry"> <a href="/Articles/830666/">Conventions for extensible system calls</a> (September 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/890449/">Gathering multiple system parameters in a single call</a> (April 6, 2022)</p> <p class="IndexEntry"> <a href="/Articles/890957/">trusted_for() bounces off the merge window</a> (April 12, 2022)</p> <p class="IndexEntry"> <a href="/Articles/934469/">Retrieving mount and filesystem information in user space</a> (June 14, 2023)</p> <p class="IndexEntry"> <a href="/Articles/944214/">Why glibc's fstat() is slow</a> (September 14, 2023)</p> <p class="IndexEntry"> <a href="/Articles/948129/">mseal() and what comes after</a> (October 20, 2023)</p> <p class="IndexEntry"> <a href="/Articles/950569/">listmount() and statmount()</a> (November 10, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1005662/">The trouble with the new uretprobes</a> (January 23, 2025)</p> <p class="IndexSecondary"> <a name="System_calls-bdflush"></a><a href="#System_calls-bdflush">bdflush()</a></p> <p class="IndexEntry"> <a href="/Articles/861431/">Bye-bye bdflush()</a> (July 5, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-cachestat"></a><a href="#System_calls-cachestat">cachestat()</a></p> <p class="IndexEntry"> <a href="/Articles/917096/">Checking page-cache status with cachestat()</a> (December 6, 2022)</p> <p class="IndexSecondary"> <a name="System_calls-chroot"></a><a href="#System_calls-chroot">chroot()</a></p> <p class="IndexEntry"> <a href="/Articles/849125/">Unprivileged chroot()</a> (March 15, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-clone"></a><a href="#System_calls-clone">clone()</a></p> <p class="IndexEntry"> <a href="/Articles/531381/">Namespaces in operation, part 2: the namespaces API</a> (January 8, 2013)</p> <p class="IndexEntry"> <a href="/Articles/638613/">Attaching file descriptors to processes with CLONE_FD</a> (April 1, 2015)</p> <p class="IndexEntry"> <a href="/Articles/953794/">Controlling shadow-stack allocation in clone3()</a> (December 7, 2023)</p> <p class="IndexSecondary"> <a name="System_calls-close_range"></a><a href="#System_calls-close_range">close_range()</a></p> <p class="IndexEntry"> <a href="/Articles/837816/">epoll_pwait2(), close_range(), and encoded I/O</a> (November 20, 2020)</p> <p class="IndexSecondary"> <a name="System_calls-copy_file_range"></a><a href="#System_calls-copy_file_range">copy_file_range()</a></p> <p class="IndexEntry"> <a href="/Articles/659523/">copy_file_range()</a> (October 7, 2015)</p> <p class="IndexEntry"> <a href="/Articles/774114/">Kernel quality control, or the lack thereof</a> (December 7, 2018)</p> <p class="IndexEntry"> <a href="/Articles/789623/">The Linux &quot;copy problem&quot;</a> (May 29, 2019)</p> <p class="IndexEntry"> <a href="/Articles/846403/">How useful should copy_file_range() be?</a> (February 18, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-execve"></a><a href="#System_calls-execve">execve()</a></p> <p class="IndexEntry"> <a href="/Articles/381158/">Toward a saner execve()</a> (March 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/381158/">Toward a saner execve()</a> (March 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/882799/">Handling argc==0 in the kernel</a> (January 28, 2022)</p> <p class="IndexSecondary"> <a name="System_calls-execveat"></a><a href="#System_calls-execveat">execveat()</a></p> <p class="IndexEntry"> <a href="/Articles/999770/">The kernel's command-line commotion</a> (November 27, 2024)</p> <p class="IndexSecondary"> <a name="System_calls-fchmodat"></a><a href="#System_calls-fchmodat">fchmodat()</a></p> <p class="IndexEntry"> <a href="/Articles/939217/">Flags for fchmodat()</a> (July 27, 2023)</p> <p class="IndexSecondary"> <a name="System_calls-fincore"></a><a href="#System_calls-fincore">fincore()</a></p> <p class="IndexEntry"> <a href="/Articles/371538/">fincore()</a> (January 27, 2010)</p> <p class="IndexSecondary"> <a name="System_calls-iopl"></a><a href="#System_calls-iopl">iopl()</a></p> <p class="IndexEntry"> <a href="/Articles/804143/">Emulated iopl()</a> (November 8, 2019)</p> <p class="IndexSecondary"> <a name="System_calls-kcmp"></a><a href="#System_calls-kcmp">kcmp()</a></p> <p class="IndexEntry"> <a href="/Articles/478111/">Preparing for user-space checkpoint/restore</a> (January 31, 2012)</p> <p class="IndexEntry"> <a href="/Articles/525675/">LCE: Checkpoint/restore in user space: are we there yet?</a> (November 20, 2012)</p> <p class="IndexEntry"> <a href="/Articles/845448/">kcmp() breaks loose</a> (February 11, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-madvise"></a><a href="#System_calls-madvise">madvise()</a></p> <p class="IndexEntry"> <a href="/Articles/1011366/">Guard pages for file-backed memory</a> (March 3, 2025)</p> <p class="IndexSecondary"> <a name="System_calls-memfd_secret"></a><a href="#System_calls-memfd_secret">memfd_secret()</a></p> <p class="IndexEntry"> <a href="/Articles/812325/">Keeping secrets in memfd areas</a> (February 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/835342/">Two address-space-isolation patches get closer</a> (October 27, 2020)</p> <p class="IndexEntry"> <a href="/Articles/865256/">memfd_secret() in 5.14</a> (August 6, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-mmap"></a><a href="#System_calls-mmap">mmap()</a></p> <p class="IndexEntry"> <a href="/Articles/860419/">Suppressing SIGBUS signals</a> (June 25, 2021)</p> <p class="IndexEntry"> <a href="/Articles/866493/">The shrinking role of ETXTBSY</a> (August 19, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-mshare"></a><a href="#System_calls-mshare">mshare()</a></p> <p class="IndexEntry"> <a href="/Articles/895217/">Sharing page tables with mshare()</a> (May 17, 2022)</p> <p class="IndexEntry"> <a href="/Articles/974512/">Merging msharefs</a> (May 22, 2024)</p> <p class="IndexSecondary"> <a name="System_calls-open"></a><a href="#System_calls-open">open()</a></p> <p class="IndexEntry"> <a href="/Articles/926782/">The curious case of O_DIRECTORY|O_CREAT</a> (March 27, 2023)</p> <p class="IndexSecondary"> <a name="System_calls-openat2"></a><a href="#System_calls-openat2">openat2()</a></p> <p class="IndexEntry"> <a href="/Articles/796868/">Restricting path name lookup with openat2()</a> (August 22, 2019)</p> <p class="IndexEntry"> <a href="/Articles/843163/">Avoiding blocking file-name lookups</a> (January 21, 2021)</p> <p class="IndexEntry"> <a href="/Articles/971825/">Inheritable credentials for directory file descriptors</a> (May 2, 2024)</p> <p class="IndexSecondary"> <a name="System_calls-pidfd_send_signal"></a><a href="#System_calls-pidfd_send_signal">pidfd_send_signal()</a></p> <p class="IndexEntry"> <a href="/Articles/773459/">Toward race-free process signaling</a> (December 6, 2018)</p> <p class="IndexEntry"> <a href="/Articles/784831/">Rethinking race-free process signaling</a> (April 4, 2019)</p> <p class="IndexSecondary"> <a name="System_calls-process_mrelease"></a><a href="#System_calls-process_mrelease">process_mrelease()</a></p> <p class="IndexEntry"> <a href="/Articles/864184/">Hastening process cleanup with process_mrelease()</a> (July 26, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-process_vm_exec"></a><a href="#System_calls-process_vm_exec">process_vm_exec()</a></p> <p class="IndexEntry"> <a href="/Articles/852662/">Running code within another process's address space</a> (April 16, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-quotactl_fd"></a><a href="#System_calls-quotactl_fd">quotactl_fd()</a></p> <p class="IndexEntry"> <a href="/Articles/859679/">quotactl_path() becomes quotactl_fd()</a> (June 14, 2021)</p> <p class="IndexSecondary"> <a name="System_calls-readfile"></a><a href="#System_calls-readfile">readfile()</a></p> <p class="IndexEntry"> <a href="/Articles/813827/">Two new ways to read a file quickly</a> (March 6, 2020)</p> <p class="IndexSecondary"> <a name="System_calls-ringbuffer"></a><a href="#System_calls-ringbuffer">ringbuffer()</a></p> <p class="IndexEntry"> <a href="/Articles/976836/">A generic ring buffer for the kernel</a> (June 6, 2024)</p> <p class="IndexSecondary"> <a name="System_calls-setns"></a><a href="#System_calls-setns">setns()</a></p> <p class="IndexEntry"> <a href="/Articles/531381/">Namespaces in operation, part 2: the namespaces API</a> (January 8, 2013)</p> <p class="IndexSecondary"> <a name="System_calls-signalfd"></a><a href="#System_calls-signalfd">signalfd()</a></p> <p class="IndexEntry"> <a href="/Articles/531939/">Checkpoint/restore and signals</a> (January 9, 2013)</p> <p class="IndexSecondary"> <a name="System_calls-timer_create"></a><a href="#System_calls-timer_create">timer_create()</a></p> <p class="IndexEntry"> <a href="/Articles/1012490/">Timer IDs, CRIU, and ABI challenges</a> (March 6, 2025)</p> <p class="IndexSecondary"> <a name="System_calls-unshare"></a><a href="#System_calls-unshare">unshare()</a></p> <p class="IndexEntry"> <a href="/Articles/531381/">Namespaces in operation, part 2: the namespaces API</a> (January 8, 2013)</p> <p class="IndexSecondary"> <a name="System_calls-Virtual"></a><a href="#System_calls-Virtual">Virtual</a></p> <p class="IndexEntry"> <a href="/Articles/615809/">Implementing virtual system calls</a> (October 15, 2014)</p> <p class="IndexPrimary"> <a name="SystemTap"><a href="#SystemTap">SystemTap</a></a></p> <p class="IndexEntry"> <a href="/Articles/244536/">On DTrace envy</a> (August 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/245671/">Kernel markers</a> (August 15, 2007)</p> <p class="IndexEntry"> <a href="/Articles/250480/">A generic tracing interface</a> (September 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/271796/">File monitoring with Mortadelo and SystemTap</a> (March 5, 2008)</p> <p class="IndexEntry"> <a href="/Articles/287906/">More DTrace envy</a> (July 2, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291091/">Tracing: no shortage of options</a> (July 22, 2008)</p> <p class="IndexEntry"> <a href="/Articles/315022/">A SystemTap update</a> (January 21, 2009)</p> <p class="IndexPrimary"> <a name="Tainting"><a href="#Tainting">Tainting</a></a></p> <p class="IndexEntry"> <a href="/Articles/82305/">Being honest with MODULE_LICENSE</a> (April 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/184879/">Tainting from user space</a> (May 24, 2006)</p> <p class="IndexPrimary"> <a name="TASK_KILLABLE"><a href="#TASK_KILLABLE">TASK_KILLABLE</a></a></p> <p class="IndexEntry"> <a href="/Articles/288056/">TASK_KILLABLE</a> (July 1, 2008)</p> <p class="IndexPrimary"> <a name="Tasklets"><a href="#Tasklets">Tasklets</a></a></p> <p class="IndexEntry"> <a href="/Articles/239633/">Eliminating tasklets</a> (June 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/830964/">Modernizing the tasklet API</a> (September 14, 2020)</p> <p class="IndexEntry"> <a href="/Articles/960041/">The end of tasklets</a> (February 5, 2024)</p> <p class="IndexPrimary"> <a name="Task_watchers"><a href="#Task_watchers">Task watchers</a></a></p> <p class="IndexEntry"> <a href="/Articles/208117/">Task watchers</a> (November 7, 2006)</p> <p class="IndexPrimary"> <a name="TCP"><a href="#TCP">TCP</a></a></p> <p class="IndexEntry"> <a href="/Articles/92727/">TCP window scaling and broken routers</a> (July 7, 2004)</p> <p class="IndexEntry"> <a href="/Articles/148697/">Linux and TCP offload engines</a> (August 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/508865/">TCP Fast Open: expediting web services</a> (August 1, 2012)</p> <p class="IndexPrimary"> <a name="tee"><a href="#tee">tee()</a></a></p> <p class="IndexEntry"> <a href="/Articles/179492/">tee() with your splice()?</a> (April 11, 2006)</p> <p class="IndexPrimary"> <a name="Textsearch"><a href="#Textsearch">Textsearch</a></a></p> <p class="IndexEntry"> <a href="/Articles/143447/">Some 2.6.13 API changes</a> (July 12, 2005)</p> <p class="IndexPrimary"> <a name="Thermal_management"><a href="#Thermal_management">Thermal management</a></a></p> <p class="IndexEntry"> <a href="/Articles/244595/">Tripping over trip points</a> (August 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/788380/">Telling the scheduler about thermal pressure</a> (May 16, 2019)</p> <p class="IndexEntry"> <a href="/Articles/820570/">Testing scheduler thermal properties for avionics</a> (May 15, 2020)</p> <p class="IndexPrimary"> <a name="Thrashing"><a href="#Thrashing">Thrashing</a></a></p> <p class="IndexEntry"> <a href="/Articles/96621/">Token-based thrashing control</a> (August 4, 2004)</p> <p class="IndexPrimary"> <a name="Threadlets"><a href="#Threadlets">Threadlets</a></a></p> <p class="IndexEntry"> <a href="/Articles/223899/">Threadlets</a> (February 27, 2007)</p> <p class="IndexPrimary"> <a name="Timekeeping"><a href="#Timekeeping">Timekeeping</a></a></p> <p class="IndexEntry"> <a href="/Articles/120850/">A new core time subsystem</a> (January 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/180375/">Virtual time</a> (April 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/209101/">Counting on the time stamp counter</a> (November 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/563285/">Pondering 2038</a> (August 14, 2013)</p> <p class="IndexEntry"> <a href="/Articles/599580/">2038 is closer than it seems</a> (May 21, 2014)</p> <p class="IndexEntry"> <a href="/Articles/648313/">Leap-second issues, 2015 edition</a> (June 17, 2015)</p> <p class="IndexEntry"> <a href="/Articles/924746/">Kernel time APIs for Rust</a> (March 2, 2023)</p> <p class="IndexPrimary"> <a name="timerfd"><a href="#timerfd">timerfd()</a></a></p> <p class="IndexEntry"> <a href="/Articles/225714/">Kernel events without kevents</a> (March 13, 2007)</p> <p class="IndexEntry"> <a href="/Articles/245533/">timerfd() and system call review</a> (August 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/251413/">The new timerfd() API</a> (September 25, 2007)</p> <p class="IndexEntry"> <a href="/Articles/260172/">System call updates: indirect(), timerfd(), and hijack()</a> (November 28, 2007)</p> <p class="IndexPrimary"> <a name="Timer_frequency"><a href="#Timer_frequency">Timer frequency</a></a></p> <p class="IndexEntry"> <a href="/Articles/115554/">Boot-time clock frequency selection</a> (December 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/138969/">The dynamic tick patch</a> (June 7, 2005)</p> <p class="IndexEntry"> <a href="/Articles/145973/">How fast should HZ be?</a> (August 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/149877/">The state of the dynamic tick patch</a> (August 31, 2005)</p> <p class="IndexPrimary"> <a name="Timers"><a href="#Timers">Timers</a></a></p> <p class="IndexEntry"> <a href="/Articles/84836/">Deleting timers quickly</a> (May 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/136425/">A new kernel timer API</a> (May 18, 2005)</p> <p class="IndexEntry"> <a href="/Articles/152436/">A new approach to kernel timers</a> (September 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/156325/">On the merging of ktimers</a> (October 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/167897/">The high-resolution timer API</a> (January 16, 2006)</p> <p class="IndexEntry"> <a href="/Articles/212724/">The timer API: size or type safety?</a> (December 5, 2006)</p> <p class="IndexEntry"> <a href="/Articles/228143/">Deferrable timers</a> (March 28, 2007)</p> <p class="IndexEntry"> <a href="/Articles/296578/">High- (but not too high-) resolution timeouts</a> (September 2, 2008)</p> <p class="IndexEntry"> <a href="/Articles/369549/">Timer slack</a> (January 12, 2010)</p> <p class="IndexEntry"> <a href="/Articles/388188/">The trouble with the TSC</a> (May 19, 2010)</p> <p class="IndexEntry"> <a href="/Articles/429925/">Waking systems from suspend</a> (March 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/461592/">Greedy hrtimer expiration</a> (October 4, 2011)</p> <p class="IndexEntry"> <a href="/Articles/463357/">Timer slack for slacker developers</a> (October 17, 2011)</p> <p class="IndexEntry"> <a href="/Articles/482168/">Short sleeps suffering from slack</a> (February 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/504744/">Leaping seconds and looping servers</a> (July 2, 2012)</p> <p class="IndexEntry"> <a href="/Articles/574962/">The tick broadcast framework</a> (November 26, 2013)</p> <p class="IndexEntry"> <a href="/Articles/588086/">Deferrable timers for user space</a> (February 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/646950/">Reinventing the timer wheel</a> (June 3, 2015)</p> <p class="IndexEntry"> <a href="/Articles/735887/">Improving the kernel timers API</a> (October 9, 2017)</p> <p class="IndexEntry"> <a href="/Articles/913568/">Better CPU selection for timer expiration</a> (November 7, 2022)</p> <p class="IndexPrimary"> <a name="TOMOYO_Linux"><a href="#TOMOYO_Linux">TOMOYO Linux</a></a></p> <p class="IndexEntry"> <a href="/Articles/277833/">TOMOYO Linux and pathname-based security</a> (April 14, 2008)</p> <p class="IndexPrimary"> <a name="Tracing"><a href="#Tracing">Tracing</a></a></p> <p class="IndexEntry"> <a href="/Articles/244536/">On DTrace envy</a> (August 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/250480/">A generic tracing interface</a> (September 19, 2007)</p> <p class="IndexEntry"> <a href="/Articles/287906/">More DTrace envy</a> (July 2, 2008)</p> <p class="IndexEntry"> <a href="/Articles/291091/">Tracing: no shortage of options</a> (July 22, 2008)</p> <p class="IndexEntry"> <a href="/Articles/298685/">KS2008: Tracing</a> (September 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/300992/">Low-level tracing plumbing</a> (September 30, 2008)</p> <p class="IndexEntry"> <a href="/Articles/330402/">On the value of static tracepoints</a> (April 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/340400/">A lockless ring-buffer</a> (July 8, 2009)</p> <p class="IndexEntry"> <a href="/Articles/346470/">Fun with tracepoints</a> (August 12, 2009)</p> <p class="IndexEntry"> <a href="/Articles/365833/">Minimizing instrumentation impacts</a> (December 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/370322/">Uprobes: not quite there yet</a> (January 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/379903/">Using the TRACE_EVENT() macro (Part 1)</a> (March 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/381064/">Using the TRACE_EVENT() macro (Part 2)</a> (March 31, 2010)</p> <p class="IndexEntry"> <a href="/Articles/383362/">Using the TRACE_EVENT() macro (Part 3)</a> (April 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/384118/">ELC: Using LTTng</a> (April 21, 2010)</p> <p class="IndexEntry"> <a href="/Articles/387257/">Uprobes returns - again</a> (May 11, 2010)</p> <p class="IndexEntry"> <a href="/Articles/388978/">One ring buffer to rule them all?</a> (May 26, 2010)</p> <p class="IndexEntry"> <a href="/Articles/401769/">Statistics and tracepoints</a> (August 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/417772/">Conditional tracepoints</a> (November 30, 2010)</p> <p class="IndexEntry"> <a href="/Articles/425583/">Using KernelShark to analyze the real-time scheduler</a> (February 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/433568/">Uprobes: 11th time is the charm?</a> (March 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/464268/">KS2011: Tracing for large-scale data centers</a> (October 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/471973/">LTTng rejection, next generation</a> (December 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/491510/">LTTng 2.0: Tracing for power users and developers - part 1</a> (April 11, 2012)</p> <p class="IndexEntry"> <a href="/Articles/492296/">LTTng 2.0: Tracing for power users and developers - part 2</a> (April 18, 2012)</p> <p class="IndexEntry"> <a href="/Articles/499190/">Uprobes in 3.5</a> (May 30, 2012)</p> <p class="IndexEntry"> <a href="/Articles/551314/">Ktap — yet another kernel tracer</a> (May 22, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572788/">Ktap almost gets into 3.13</a> (November 6, 2013)</p> <p class="IndexEntry"> <a href="/Articles/648154/">Adding Processor Trace support to Linux</a> (July 1, 2015)</p> <p class="IndexEntry"> <a href="/Articles/714511/">Inter-event tracing</a> (February 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/734453/">Notes from the LPC tracing microconference</a> (September 21, 2017)</p> <p class="IndexEntry"> <a href="/Articles/794846/">KernelShark releases version 1.0</a> (July 31, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803347/">Unifying kernel tracing</a> (October 30, 2019)</p> <p class="IndexEntry"> <a href="/Articles/817988/">How to unbreak LTTng</a> (April 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/889607/">User events — but not quite yet</a> (April 18, 2022)</p> <p class="IndexEntry"> <a href="/Articles/927595/">User trace events, one year later</a> (April 3, 2023)</p> <p class="IndexSecondary"> <a name="Tracing-ABI_issues"></a><a href="#Tracing-ABI_issues">ABI issues</a></p> <p class="IndexEntry"> <a href="/Articles/354865/">TRACE_EVENT_ABI</a> (September 30, 2009)</p> <p class="IndexEntry"> <a href="/Articles/412685/">KS2010: ABI status for tracepoints</a> (November 2, 2010)</p> <p class="IndexEntry"> <a href="/Articles/442113/">Ftrace, perf, and the tracing ABI</a> (May 11, 2011)</p> <p class="IndexEntry"> <a href="/Articles/705270/">Tracepoint challenges</a> (November 2, 2016)</p> <p class="IndexEntry"> <a href="/Articles/737530/">Another attempt to address the tracepoint ABI problem</a> (October 27, 2017)</p> <p class="IndexEntry"> <a href="/Articles/747256/">Dynamic function tracing events</a> (February 15, 2018)</p> <p class="IndexSecondary"> <a name="Tracing-Ftrace"></a><a href="#Tracing-Ftrace">Ftrace</a></p> <p class="IndexEntry"> <a href="/Articles/343766/">Dynamic probes with ftrace</a> (July 28, 2009)</p> <p class="IndexEntry"> <a href="/Articles/365835/">Debugging the kernel using Ftrace - part 1</a> (December 9, 2009)</p> <p class="IndexEntry"> <a href="/Articles/366796/">Debugging the kernel using Ftrace - part 2</a> (December 22, 2009)</p> <p class="IndexEntry"> <a href="/Articles/370423/">Secrets of the Ftrace function tracer</a> (January 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/410200/">trace-cmd: A front-end for Ftrace</a> (October 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/608497/">Ftrace: The hidden light switch</a> (August 13, 2014)</p> <p class="IndexEntry"> <a href="/Articles/635522/">Ftrace and histograms: a fork in the road</a> (March 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/831207/">Accurate timestamps for the ftrace ring buffer</a> (September 22, 2020)</p> <p class="IndexSecondary"> <a name="Tracing-Last_branch_records"></a><a href="#Tracing-Last_branch_records">Last branch records</a></p> <p class="IndexEntry"> <a href="/Articles/680985/">An introduction to last branch records</a> (March 23, 2016)</p> <p class="IndexEntry"> <a href="/Articles/680996/">Advanced usage of last branch records</a> (March 30, 2016)</p> <p class="IndexSecondary"> <a name="Tracing-with_BPF"></a><a href="#Tracing-with_BPF">with BPF</a></p> <p class="IndexEntry"> <a href="/Articles/575531/">BPF tracing filters</a> (December 4, 2013)</p> <p class="IndexEntry"> <a href="/Articles/595565/">Ktap or BPF?</a> (April 23, 2014)</p> <p class="IndexEntry"> <a href="/Articles/683504/">Tracepoints with BPF</a> (April 13, 2016)</p> <p class="IndexEntry"> <a href="/Articles/753601/">Using user-space tracepoints with BPF</a> (May 11, 2018)</p> <p class="IndexEntry"> <a href="/Articles/793749/">Kernel analysis with bpftrace</a> (July 18, 2019)</p> <p class="IndexEntry"> <a href="/Articles/803258/">Type checking for BPF tracing</a> (October 28, 2019)</p> <p class="IndexEntry"> <a href="/Articles/835426/">Relief for insomniac tracepoints</a> (October 29, 2020)</p> <p class="IndexPrimary"> <a name="Transactional_memory"><a href="#Transactional_memory">Transactional memory</a></a></p> <p class="IndexEntry"> <a href="/Articles/568984/">Transactional memory in the dentry cache</a> (October 2, 2013)</p> <p class="IndexEntry"> <a href="/Articles/572099/">Scalability techniques</a> (October 29, 2013)</p> <p class="IndexPrimary"> <a name="Transcendent_memory"><a href="#Transcendent_memory">Transcendent memory</a></a></p> <p class="IndexEntry"> <a href="/Articles/340080/">Transcendent memory</a> (July 8, 2009)</p> <p class="IndexEntry"> <a href="/Articles/386090/">Cleancache and Frontswap</a> (May 4, 2010)</p> <p class="IndexEntry"> <a href="/Articles/397574/">zcache: a compressed page cache</a> (July 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/454795/">Transcendent memory in a nutshell</a> (August 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/465317/">Frontswap gets broadsided</a> (November 2, 2011)</p> <p class="IndexEntry"> <a href="/Articles/477067/">The zsmalloc allocator</a> (January 25, 2012)</p> <p class="IndexEntry"> <a href="/Articles/537422/">The zswap compressed swap cache</a> (February 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/545244/">In-kernel memory compression</a> (April 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548109/">LSFMM: In-kernel memory compression</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/551401/">Merging zswap</a> (May 22, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591961/">Compressed swap</a> (March 26, 2014)</p> <p class="IndexPrimary"> <a name="Translation_table_maps_TTM"><a href="#Translation_table_maps_TTM">Translation table maps (TTM)</a></a></p> <p class="IndexEntry"> <a href="/Articles/257417/">Memory management for graphics processors</a> (November 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/283793/">GEM v. TTM</a> (May 28, 2008)</p> <p class="IndexEntry"> <a href="/Articles/300066/">LPC: The future of Linux graphics</a> (September 24, 2008)</p> <p class="IndexPrimary"> <a name="Trapfs"><a href="#Trapfs">Trapfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/109400/">Trapfs - an automounter on the cheap</a> (November 3, 2004)</p> <p class="IndexPrimary"> <a name="Triggers"><a href="#Triggers">Triggers</a></a></p> <p class="IndexEntry"> <a href="/Articles/294465/">Triggers: less busy busy-waiting</a> (August 18, 2008)</p> <p class="IndexPrimary"> <a name="Trusted_computing"><a href="#Trusted_computing">Trusted computing</a></a></p> <p class="IndexEntry"> <a href="/Articles/144681/">OLS: Linux and trusted computing</a> (July 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/160157/">Some trusted computing security modules</a> (November 15, 2005)</p> <p class="IndexPrimary"> <a name="TSC"><a href="#TSC">TSC</a></a></p> <p class="IndexEntry"> <a href="/Articles/209101/">Counting on the time stamp counter</a> (November 13, 2006)</p> <p class="IndexPrimary"> <a name="TTY_layer"><a href="#TTY_layer">TTY layer</a></a></p> <p class="IndexEntry"> <a href="/Articles/343828/">A tempest in a tty pot</a> (July 29, 2009)</p> <p class="IndexEntry"> <a href="/Articles/700489/">The need for TTY slave devices</a> (September 14, 2016)</p> <p class="IndexEntry"> <a href="/Articles/721074/">An alternative TTY layer</a> (April 27, 2017)</p> <p class="IndexPrimary"> <a name="UBIFS"><a href="#UBIFS">UBIFS</a></a></p> <p class="IndexEntry"> <a href="/Articles/276025/">UBIFS</a> (April 2, 2008)</p> <p class="IndexPrimary"> <a name="udev"><a href="#udev">udev</a></a></p> <p class="IndexEntry"> <a href="/Articles/65195/">The future of device numbers</a> (January 6, 2004)</p> <p class="IndexEntry"> <a href="/Articles/331818/">The return of devfs</a> (May 6, 2009)</p> <p class="IndexEntry"> <a href="/Articles/456217/">The udev tail wags the dog</a> (August 24, 2011)</p> <p class="IndexEntry"> <a href="/Articles/518942/">Udev and firmware</a> (October 10, 2012)</p> <p class="IndexEntry"> <a href="/Articles/611226/">Slow probing + udev + SIGKILL = trouble</a> (September 9, 2014)</p> <p class="IndexEntry"> <a href="/Articles/837033/">Systemd catches up with bind events</a> (November 13, 2020)</p> <p class="IndexPrimary"> <a name="UDPCP"><a href="#UDPCP">UDPCP</a></a></p> <p class="IndexEntry"> <a href="/Articles/422649/">How not to get a protocol implementation merged</a> (January 12, 2011)</p> <p class="IndexPrimary"> <a name="umwait"><a href="#umwait">umwait</a></a></p> <p class="IndexEntry"> <a href="/Articles/790920/">Short waits with umwait</a> (June 13, 2019)</p> <p class="IndexPrimary"> <a name="uninitialized_var"><a href="#uninitialized_var">uninitialized_var()</a></a></p> <p class="IndexEntry"> <a href="/Articles/529954/">Removing uninitialized_var()</a> (December 19, 2012)</p> <p class="IndexPrimary"> <a name="Unionfs"><a href="#Unionfs">Unionfs</a></a></p> <p class="IndexEntry"> <a href="/Articles/217084/">Unionfs</a> (January 10, 2007)</p> <p class="IndexEntry"> <a href="/Articles/265240/">State of the unionfs</a> (January 15, 2008)</p> <p class="IndexEntry"> <a href="/Articles/327738/">Unioning file systems: Implementations, part 2</a> (April 7, 2009)</p> <p class="IndexPrimary"> <a name="Union_mounts"><a href="#Union_mounts">Union mounts</a></a></p> <p class="IndexEntry"> <a href="/Articles/312641/">Unifying filesystems with union mounts</a> (December 24, 2008)</p> <p class="IndexEntry"> <a href="/Articles/325369/">Union file systems: Implementations, part I</a> (March 25, 2009)</p> <p class="IndexEntry"> <a href="/Articles/327738/">Unioning file systems: Implementations, part 2</a> (April 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/396020/">A brief history of union mounts</a> (July 14, 2010)</p> <p class="IndexPrimary"> <a name="unshare"><a href="#unshare">unshare()</a></a></p> <p class="IndexEntry"> <a href="/Articles/135321/">A system call for unsharing</a> (May 10, 2005)</p> <p class="IndexEntry"> <a href="/Articles/164887/">Some new system calls</a> (December 20, 2005)</p> <p class="IndexEntry"> <a href="/Articles/176453/">The last-minute unshare() discussion</a> (March 21, 2006)</p> <p class="IndexEntry"> <a href="/Articles/190966/">execns()</a> (July 11, 2006)</p> <p class="IndexPrimary"> <a name="Uprobes"><a href="#Uprobes">Uprobes</a></a></p> <p class="IndexEntry"> <a href="/Articles/370322/">Uprobes: not quite there yet</a> (January 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/387257/">Uprobes returns - again</a> (May 11, 2010)</p> <p class="IndexEntry"> <a href="/Articles/433568/">Uprobes: 11th time is the charm?</a> (March 16, 2011)</p> <p class="IndexEntry"> <a href="/Articles/499190/">Uprobes in 3.5</a> (May 30, 2012)</p> <p class="IndexPrimary"> <a name="USB"><a href="#USB">USB</a></a></p> <p class="IndexEntry"> <a href="/Articles/160944/">Dynamic USB device IDs</a> (November 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/186331/">Putting a lid on USB power</a> (June 5, 2006)</p> <p class="IndexEntry"> <a href="/Articles/241980/">USB device authorization</a> (July 17, 2007)</p> <p class="IndexEntry"> <a href="/Articles/395712/">The USB composite framework</a> (July 14, 2010)</p> <p class="IndexEntry"> <a href="/Articles/693027/">USB charging, part 1: requirements</a> (July 7, 2016)</p> <p class="IndexEntry"> <a href="/Articles/694062/">USB charging, part 2: implementation</a> (July 13, 2016)</p> <p class="IndexPrimary"> <a name="__user"><a href="#__user">__user</a></a></p> <p class="IndexEntry"> <a href="/Articles/87538/">Finding kernel problems automatically</a> (June 1, 2004)</p> <p class="IndexPrimary"> <a name="userfaultfd"><a href="#userfaultfd">userfaultfd()</a></a></p> <p class="IndexEntry"> <a href="/Articles/615086/">Page faults in user space: MADV_USERFAULT, remap_anon_range(), and userfaultfd()</a> (October 7, 2014)</p> <p class="IndexEntry"> <a href="/Articles/636226/">User-space page fault handling</a> (March 11, 2015)</p> <p class="IndexEntry"> <a href="/Articles/718198/">The next steps for userfaultfd()</a> (March 29, 2017)</p> <p class="IndexEntry"> <a href="/Articles/787308/">Write-protect for userfaultfd()</a> (May 2, 2019)</p> <p class="IndexEntry"> <a href="/Articles/819834/">Blocking userfaultfd() kernel-fault handling</a> (May 8, 2020)</p> <p class="IndexEntry"> <a href="/Articles/895453/">Preserving guest memory across kexec</a> (May 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/897260/">/dev/userfaultfd</a> (June 13, 2022)</p> <p class="IndexEntry"> <a href="/Articles/940704/">An ioctl() call to detect memory writes</a> (August 10, 2023)</p> <p class="IndexPrimary"> <a name="User-managed_concurrency_groups"><a href="#User-managed_concurrency_groups">User-managed concurrency groups</a></a></p> <p class="IndexEntry"> <a href="/Articles/864603/">Kernel topics on the radar</a> (August 2, 2021)</p> <p class="IndexEntry"> <a href="/Articles/879398/">User-managed concurrency groups</a> (December 28, 2021)</p> <p class="IndexPrimary"> <a name="User-mode_Linux"><a href="#User-mode_Linux">User-mode Linux</a></a></p> <p class="IndexEntry"> <a href="/Articles/94571/">Kernel Summit: Virtualization support</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/144765/">OLS: Xen and UML</a> (July 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/183894/">Book Review: User Mode Linux</a> (May 16, 2006)</p> <p class="IndexPrimary"> <a name="User-space_API"><a href="#User-space_API">User-space API</a></a></p> <p class="IndexEntry"> <a href="/Articles/191654/">Kernel Summit 2006: The user-space API</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/227818/">Application-friendly kernel interfaces</a> (March 26, 2007)</p> <p class="IndexEntry"> <a href="/Articles/245533/">timerfd() and system call review</a> (August 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248376/">KS2007: The greater kernel ecosystem and user-space APIs</a> (September 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/251413/">The new timerfd() API</a> (September 25, 2007)</p> <p class="IndexEntry"> <a href="/Articles/311630/">System calls and 64-bit architectures</a> (December 17, 2008)</p> <p class="IndexEntry"> <a href="/Articles/374794/">Extended error reporting</a> (February 17, 2010)</p> <p class="IndexEntry"> <a href="/Articles/406466/">The hazards of 32/64-bit compatibility</a> (September 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/456731/">The x32 system call ABI</a> (August 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/507794/">The UAPI header file split</a> (July 25, 2012)</p> <p class="IndexEntry"> <a href="/Articles/520012/">EPOLL_CTL_DISABLE and multithreaded applications</a> (October 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/544298/">A kernel change breaks GlusterFS</a> (March 27, 2013)</p> <p class="IndexEntry"> <a href="/Articles/604287/">Anatomy of a system call, part 1</a> (July 9, 2014)</p> <p class="IndexSecondary"> <a name="User-space_API-Design"></a><a href="#User-space_API-Design">Design</a></p> <p class="IndexEntry"> <a href="/Articles/520198/">EPOLL_CTL_DISABLE, epoll, and API design</a> (October 23, 2012)</p> <p class="IndexSecondary"> <a name="User-space_API-Error_reporting"></a><a href="#User-space_API-Error_reporting">Error reporting</a></p> <p class="IndexEntry"> <a href="/Articles/532771/">Making EPERM friendlier</a> (January 19, 2013)</p> <p class="IndexEntry"> <a href="/Articles/657341/">Extended system call error reporting</a> (September 16, 2015)</p> <p class="IndexSecondary"> <a name="User-space_API-Testing"></a><a href="#User-space_API-Testing">Testing</a></p> <p class="IndexEntry"> <a href="/Articles/514054/">KS2012: Regression testing</a> (August 30, 2012)</p> <p class="IndexEntry"> <a href="/Articles/536173/">LCA: The Trinity fuzz tester</a> (February 6, 2013)</p> <p class="IndexPrimary"> <a name="UTF-8_encoding"><a href="#UTF-8_encoding">UTF-8 encoding</a></a></p> <p class="IndexEntry"> <a href="/Articles/71472/">The kernel and character set encodings</a> (February 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/784041/">Case-insensitive ext4</a> (March 27, 2019)</p> <p class="IndexPrimary"> <a name="Utrace"><a href="#Utrace">Utrace</a></a></p> <p class="IndexEntry"> <a href="/Articles/224772/">Introducing utrace</a> (March 7, 2007)</p> <p class="IndexEntry"> <a href="/Articles/325180/">The return of utrace</a> (March 25, 2009)</p> <p class="IndexEntry"> <a href="/Articles/364584/">Another mainline push for utrace</a> (December 2, 2009)</p> <p class="IndexEntry"> <a href="/Articles/370322/">Uprobes: not quite there yet</a> (January 20, 2010)</p> <p class="IndexEntry"> <a href="/Articles/371210/">Back to the drawing board for utrace?</a> (January 27, 2010)</p> <p class="IndexEntry"> <a href="/Articles/371501/">Replacing ptrace()</a> (January 27, 2010)</p> <p class="IndexPrimary"> <a name="v9fs"><a href="#v9fs">v9fs</a></a></p> <p class="IndexEntry"> <a href="/Articles/137439/">A filesystem from Plan 9 space</a> (May 25, 2005)</p> <p class="IndexPrimary"> <a name="Variable-length_arrays"><a href="#Variable-length_arrays">Variable-length arrays</a></a></p> <p class="IndexEntry"> <a href="/Articles/749064/">Variable-length arrays and the max() mess</a> (March 12, 2018)</p> <p class="IndexEntry"> <a href="/Articles/908817/">Safer flexible arrays for the kernel</a> (September 22, 2022)</p> <p class="IndexEntry"> <a href="/Articles/936728/">Documenting counted-by relationships in kernel data structures</a> (July 3, 2023)</p> <p class="IndexPrimary"> <a name="vDSO"><a href="#vDSO">vDSO</a></a></p> <p class="IndexEntry"> <a href="/Articles/446528/">On vsyscalls and the vDSO</a> (June 8, 2011)</p> <p class="IndexEntry"> <a href="/Articles/615809/">Implementing virtual system calls</a> (October 15, 2014)</p> <p class="IndexEntry"> <a href="/Articles/795128/">vDSO, 32-bit time, and seccomp</a> (August 2, 2019)</p> <p class="IndexPrimary"> <a name="Vectored_IO"><a href="#Vectored_IO">Vectored I/O</a></a></p> <p class="IndexEntry"> <a href="/Articles/170954/">Asynchronous I/O and vectored operations</a> (February 7, 2006)</p> <p class="IndexEntry"> <a href="/Articles/202449/">API changes: interrupt handlers and vectored I/O</a> (October 2, 2006)</p> <p class="IndexPrimary"> <a name="Video4Linux2"><a href="#Video4Linux2">Video4Linux2</a></a></p> <p class="IndexEntry"> <a href="/Articles/203924/">The Video4Linux2 API: an introduction</a> (October 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/204545/">Video4Linux2 part 2: registration and open()</a> (October 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/206765/">Video4Linux2 part 3: Basic ioctl() handling</a> (October 30, 2006)</p> <p class="IndexEntry"> <a href="/Articles/213798/">Video4Linux2 part 4: inputs and outputs</a> (December 13, 2006)</p> <p class="IndexEntry"> <a href="/Articles/218798/">Video4Linux2 part 5a: colors and formats</a> (January 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/227533/">Video4Linux2 part 5b: format negotiation</a> (March 23, 2007)</p> <p class="IndexEntry"> <a href="/Articles/235023/">Video4Linux2 part 6a: Basic frame I/O</a> (May 18, 2007)</p> <p class="IndexEntry"> <a href="/Articles/240667/">Video4Linux2 part 6b: Streaming I/O</a> (July 5, 2007)</p> <p class="IndexEntry"> <a href="/Articles/247126/">Video4Linux2 part 7: Controls</a> (August 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/320472/">On the management of the Video4Linux subsystem tree</a> (February 24, 2009)</p> <p class="IndexEntry"> <a href="/Articles/353044/">Video buffer pools</a> (September 16, 2009)</p> <p class="IndexEntry"> <a href="/Articles/363349/">Videobuf: buffer management for V4L2 drivers</a> (November 23, 2009)</p> <p class="IndexEntry"> <a href="/Articles/380150/">The end for Video4Linux1</a> (March 24, 2010)</p> <p class="IndexEntry"> <a href="/Articles/389081/">2.6.35 Video4Linux2 enhancements</a> (May 25, 2010)</p> <p class="IndexEntry"> <a href="/Articles/415714/">The media controller subsystem</a> (November 16, 2010)</p> <p class="IndexEntry"> <a href="/Articles/447435/">The videobuf2 API</a> (June 14, 2011)</p> <p class="IndexEntry"> <a href="/Articles/970565/">Giving Rust a chance for in-kernel codecs</a> (April 26, 2024)</p> <p class="IndexPrimary"> <a name="Virtualization"><a href="#Virtualization">Virtualization</a></a></p> <p class="IndexEntry"> <a href="/Articles/94571/">Kernel Summit: Virtualization support</a> (July 21, 2004)</p> <p class="IndexEntry"> <a href="/Articles/144109/">Kernel Summit 2005: Virtualization</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144765/">OLS: Xen and UML</a> (July 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/164121/">SMP alternatives</a> (December 14, 2005)</p> <p class="IndexEntry"> <a href="/Articles/175706/">The VMI virtualization interface</a> (March 15, 2006)</p> <p class="IndexEntry"> <a href="/Articles/180375/">Virtual time</a> (April 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191923/">Kernel Summit 2006: Paravirtualization and containers</a> (July 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/194543/">Connecting Linux to hypervisors</a> (August 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/197433/">Resource beancounters</a> (August 29, 2006)</p> <p class="IndexEntry"> <a href="/Articles/198380/">Guest page hinting</a> (September 6, 2006)</p> <p class="IndexEntry"> <a href="/Articles/345296/">AlacrityVM</a> (August 5, 2009)</p> <p class="IndexEntry"> <a href="/Articles/382299/">Memory management for virtualization</a> (April 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/419713/">Unmapped page cache control</a> (December 13, 2010)</p> <p class="IndexEntry"> <a href="/Articles/419961/">Directed yield</a> (December 15, 2010)</p> <p class="IndexEntry"> <a href="/Articles/474088/">Safe device assignment with VFIO</a> (January 3, 2012)</p> <p class="IndexEntry"> <a href="/Articles/816918/">VMX virtualization runs afoul of split-lock detection</a> (April 7, 2020)</p> <p class="IndexEntry"> <a href="/Articles/820830/">Bao: a lightweight static partitioning hypervisor</a> (May 20, 2020)</p> <p class="IndexEntry"> <a href="/Articles/868505/">Extended attributes for special files</a> (September 9, 2021)</p> <p class="IndexEntry"> <a href="/Articles/887207/">Random numbers and virtual-machine forks</a> (March 11, 2022)</p> <p class="IndexEntry"> <a href="/Articles/895453/">Preserving guest memory across kexec</a> (May 20, 2022)</p> <p class="IndexEntry"> <a href="/Articles/931528/">Live migration of virtual machines over CXL</a> (May 15, 2023)</p> <p class="IndexEntry"> <a href="/Articles/1015997/">Memory persistence over kexec</a> (April 1, 2025)</p> <p class="IndexSecondary"> <a name="Virtualization-Containers"></a><a href="#Virtualization-Containers">Containers</a></p> <p class="IndexEntry"> <a href="/Articles/168093/">Containers and PID virtualization</a> (January 17, 2006)</p> <p class="IndexEntry"> <a href="/Articles/171017/">PID virtualization: a wealth of choices</a> (February 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/179361/">Containers and lightweight virtualization</a> (April 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/184673/">Virtualization: now what?</a> (May 22, 2006)</p> <p class="IndexEntry"> <a href="/Articles/190966/">execns()</a> (July 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/200073/">Another container implementation</a> (September 19, 2006)</p> <p class="IndexEntry"> <a href="/Articles/219794/">Network namespaces</a> (January 30, 2007)</p> <p class="IndexEntry"> <a href="/Articles/236038/">Process containers</a> (May 29, 2007)</p> <p class="IndexEntry"> <a href="/Articles/257297/">Process IDs in a multi-namespace world</a> (November 6, 2007)</p> <p class="IndexEntry"> <a href="/Articles/287435/">Freezing filesystems and containers</a> (June 25, 2008)</p> <p class="IndexEntry"> <a href="/Articles/377109/">Divorcing namespaces from processes</a> (March 3, 2010)</p> <p class="IndexEntry"> <a href="/Articles/407495/">Namespace file descriptors</a> (September 29, 2010)</p> <p class="IndexEntry"> <a href="/Articles/462669/">Running distributions in containers</a> (October 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/524952/">LCE: The failure of operating systems and how we can fix it</a> (November 14, 2012)</p> <p class="IndexEntry"> <a href="/Articles/684832/">Quickly: Filesystems and containers / Self-encrypting drives</a> (April 27, 2016)</p> <p class="IndexSecondary"> <a name="Virtualization-Jailhouse"></a><a href="#Virtualization-Jailhouse">Jailhouse</a></p> <p class="IndexEntry"> <a href="/Articles/578295/">Understanding the Jailhouse hypervisor, part 1</a> (January 1, 2014)</p> <p class="IndexEntry"> <a href="/Articles/578852/">Understanding the Jailhouse hypervisor, part 2</a> (January 7, 2014)</p> <p class="IndexSecondary"> <a name="Virtualization-KVM"></a><a href="#Virtualization-KVM">KVM</a></p> <p class="IndexEntry"> <a href="/Articles/206014/">Patch summary: regulatory domains, network channels, and virtualization</a> (October 25, 2006)</p> <p class="IndexEntry"> <a href="/Articles/216794/">Some KVM developments</a> (January 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/223839/">KVM 15</a> (February 26, 2007)</p> <p class="IndexEntry"> <a href="/Articles/379869/">KVM, QEMU, and kernel project management</a> (March 23, 2010)</p> <p class="IndexEntry"> <a href="/Articles/438182/">The native KVM tool</a> (April 12, 2011)</p> <p class="IndexEntry"> <a href="/Articles/456132/">Merging the kvm tool</a> (August 23, 2011)</p> <p class="IndexEntry"> <a href="/Articles/539262/">No kvmtool in the mainline</a> (February 20, 2013)</p> <p class="IndexEntry"> <a href="/Articles/557132/">Supporting KVM on the ARM architecture</a> (July 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/656807/">Realtime KVM</a> (September 10, 2015)</p> <p class="IndexEntry"> <a href="/Articles/856685/">Why RISC-V doesn't (yet) support KVM</a> (May 20, 2021)</p> <p class="IndexEntry"> <a href="/Articles/890224/">Private memory for KVM guests</a> (April 7, 2022)</p> <p class="IndexEntry"> <a href="/Articles/902585/">Direct host system calls from KVM</a> (July 29, 2022)</p> <p class="IndexSecondary"> <a name="Virtualization-Lguest"></a><a href="#Virtualization-Lguest">Lguest</a></p> <p class="IndexEntry"> <a href="/Articles/218766/">An introduction to lguest</a> (January 23, 2007)</p> <p class="IndexSecondary"> <a name="Virtualization-Library_mode"></a><a href="#Virtualization-Library_mode">Library mode</a></p> <p class="IndexEntry"> <a href="/Articles/639333/">Running the kernel in library mode</a> (April 8, 2015)</p> <p class="IndexSecondary"> <a name="Virtualization-Network"></a><a href="#Virtualization-Network">Network</a></p> <p class="IndexEntry"> <a href="/Articles/469775/">Routing Open vSwitch into the mainline</a> (November 30, 2011)</p> <p class="IndexSecondary"> <a name="Virtualization-virtio"></a><a href="#Virtualization-virtio">virtio</a></p> <p class="IndexEntry"> <a href="/Articles/239238/">An API for virtual I/O: virtio</a> (July 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/580186/">Standardizing virtio</a> (January 15, 2014)</p> <p class="IndexEntry"> <a href="/Articles/788333/">A filesystem for virtualization</a> (May 14, 2019)</p> <p class="IndexEntry"> <a href="/Articles/805235/">Virtio without the &quot;virt&quot;</a> (November 22, 2019)</p> <p class="IndexEntry"> <a href="/Articles/865216/">Hardening virtio</a> (August 9, 2021)</p> <p class="IndexSecondary"> <a name="Virtualization-Xen"></a><a href="#Virtualization-Xen">Xen</a></p> <p class="IndexEntry"> <a href="/Articles/112391/">Xen is coming</a> (November 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/183105/">The Xen patches</a> (May 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/321696/">Xen: finishing the job</a> (March 4, 2009)</p> <p class="IndexEntry"> <a href="/Articles/335812/">Xen again</a> (June 3, 2009)</p> <p class="IndexPrimary"> <a name="vmalloc"><a href="#vmalloc">vmalloc()</a></a></p> <p class="IndexEntry"> <a href="/Articles/304188/">Reworking vmap()</a> (October 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/692208/">Virtually mapped kernel stacks</a> (June 22, 2016)</p> <p class="IndexEntry"> <a href="/Articles/855226/">A pair of memory-allocation improvements in 5.13</a> (May 6, 2021)</p> <p class="IndexEntry"> <a href="/Articles/875587/">Some upcoming memory-management patches</a> (November 12, 2021)</p> <p class="IndexEntry"> <a href="/Articles/892743/">The BPF allocator runs into trouble</a> (April 29, 2022)</p> <p class="IndexPrimary"> <a name="vm_insert_page"><a href="#vm_insert_page">vm_insert_page()</a></a></p> <p class="IndexEntry"> <a href="/Articles/162860/">The evolution of driver page remapping</a> (December 6, 2005)</p> <p class="IndexPrimary"> <a name="vmsplice"><a href="#vmsplice">vmsplice()</a></a></p> <p class="IndexEntry"> <a href="/Articles/181169/">The splice() weekly news</a> (April 24, 2006)</p> <p class="IndexEntry"> <a href="/Articles/182369/">Briefly: patch quality, CKRM, likely(), and vmsplice()</a> (May 3, 2006)</p> <p class="IndexEntry"> <a href="/Articles/592061/">Some vmsplice() issues</a> (March 26, 2014)</p> <p class="IndexPrimary"> <a name="VM_UNPAGED"><a href="#VM_UNPAGED">VM_UNPAGED</a></a></p> <p class="IndexEntry"> <a href="/Articles/161204/">PG_reserved, VM_RESERVED, and VM_UNPAGED</a> (November 22, 2005)</p> <p class="IndexEntry"> <a href="/Articles/162860/">The evolution of driver page remapping</a> (December 6, 2005)</p> <p class="IndexPrimary"> <a name="volatile"><a href="#volatile">volatile</a></a></p> <p class="IndexEntry"> <a href="/Articles/233479/">The trouble with volatile</a> (May 9, 2007)</p> <p class="IndexEntry"> <a href="/Articles/508991/">ACCESS_ONCE()</a> (August 1, 2012)</p> <p class="IndexPrimary"> <a name="Volatile_ranges"><a href="#Volatile_ranges">Volatile ranges</a></a></p> <p class="IndexEntry"> <a href="/Articles/468896/">POSIX_FADV_VOLATILE</a> (November 22, 2011)</p> <p class="IndexEntry"> <a href="/Articles/500382/">Volatile ranges with fallocate()</a> (June 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/516537/">KS2012: memcg/mm: Volatile ranges</a> (September 17, 2012)</p> <p class="IndexEntry"> <a href="/Articles/522135/">Many more words on volatile ranges</a> (November 5, 2012)</p> <p class="IndexEntry"> <a href="/Articles/548108/">LSFMM: Coprocessors, exit times, and volatile ranges, and more</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/590991/">Volatile ranges and MADV_FREE</a> (March 19, 2014)</p> <p class="IndexEntry"> <a href="/Articles/592042/">Volatile ranges</a> (March 26, 2014)</p> <p class="IndexEntry"> <a href="/Articles/602650/">The volatile volatile ranges patch set</a> (June 18, 2014)</p> <p class="IndexPrimary"> <a name="Voluntary_preemption"><a href="#Voluntary_preemption">Voluntary preemption</a></a></p> <p class="IndexEntry"> <a href="/Articles/93604/">Addressing latency problems in 2.6</a> (July 14, 2004)</p> <p class="IndexEntry"> <a href="/Articles/95334/">Voluntary preemption and hardware interrupts</a> (July 27, 2004)</p> <p class="IndexEntry"> <a href="/Articles/96554/">Scheduler tweaks get serious</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/98445/">Update from the latency front</a> (August 18, 2004)</p> <p class="IndexEntry"> <a href="/Articles/106010/">Approaches to realtime Linux</a> (October 12, 2004)</p> <p class="IndexEntry"> <a href="/Articles/563185/">Optimizing preemption</a> (August 14, 2013)</p> <p class="IndexPrimary"> <a name="vringfd"><a href="#vringfd">vringfd()</a></a></p> <p class="IndexEntry"> <a href="/Articles/276856/">vringfd()</a> (April 7, 2008)</p> <p class="IndexPrimary"> <a name="Wait_queues"><a href="#Wait_queues">Wait queues</a></a></p> <p class="IndexEntry"> <a href="/Articles/83633/">Filtered wakeups</a> (May 5, 2004)</p> <p class="IndexEntry"> <a href="/Articles/577370/">Simple wait queues</a> (December 18, 2013)</p> <p class="IndexEntry"> <a href="/Articles/661424/">The return of simple wait queues</a> (October 21, 2015)</p> <p class="IndexPrimary"> <a name="Warnings"><a href="#Warnings">Warnings</a></a></p> <p class="IndexEntry"> <a href="/Articles/876209/">What to do in response to a kernel warning</a> (November 18, 2021)</p> <p class="IndexEntry"> <a href="/Articles/969923/">Warning about WARN_ON()</a> (April 18, 2024)</p> <p class="IndexPrimary"> <a name="Wayland_and_Weston"><a href="#Wayland_and_Weston">Wayland and Weston</a></a></p> <p class="IndexEntry"> <a href="/Articles/517375/">XDC2012: Graphics stack security</a> (September 25, 2012)</p> <p class="IndexPrimary"> <a name="Web_sites"><a href="#Web_sites">Web sites</a></a></p> <p class="IndexEntry"> <a href="/Articles/155351/">Two new web sites</a> (October 11, 2005)</p> <p class="IndexPrimary"> <a name="Window_scaling"><a href="#Window_scaling">Window scaling</a></a></p> <p class="IndexEntry"> <a href="/Articles/92727/">TCP window scaling and broken routers</a> (July 7, 2004)</p> <p class="IndexPrimary"> <a name="Windows_Management_Instrumentation_WMI"><a href="#Windows_Management_Instrumentation_WMI">Windows Management Instrumentation (WMI)</a></a></p> <p class="IndexEntry"> <a href="/Articles/391230/">Writing a WMI driver - an introduction</a> (June 8, 2010)</p> <p class="IndexEntry"> <a href="/Articles/725725/">User-space access to WMI functions</a> (June 19, 2017)</p> <p class="IndexPrimary"> <a name="Wireless_extensions"><a href="#Wireless_extensions">Wireless extensions</a></a></p> <p class="IndexEntry"> <a href="/Articles/90894/">Reworking the wireless extensions</a> (June 23, 2004)</p> <p class="IndexEntry"> <a href="/Articles/167270/">Linux and wireless networking</a> (January 11, 2006)</p> <p class="IndexEntry"> <a href="/Articles/179305/">The 2006 Wireless Networking Summit</a> (April 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/191652/">Kernel Summit 2006: Mini-summit summaries</a> (July 18, 2006)</p> <p class="IndexEntry"> <a href="/Articles/202838/">The final wireless extension?</a> (October 4, 2006)</p> <p class="IndexEntry"> <a href="/Articles/628531/">Haunted by ancient history</a> (January 6, 2015)</p> <p class="IndexPrimary"> <a name="Word-at-a-time"><a href="#Word-at-a-time">Word-at-a-time</a></a></p> <p class="IndexEntry"> <a href="/Articles/501492/">The word-at-a-time interface</a> (June 12, 2012)</p> <p class="IndexPrimary"> <a name="Workqueues"><a href="#Workqueues">Workqueues</a></a></p> <p class="IndexEntry"> <a href="/Articles/82525/">Single-threaded workqueues</a> (April 28, 2004)</p> <p class="IndexEntry"> <a href="/Articles/96587/">Recent patches of interest</a> (August 4, 2004)</p> <p class="IndexEntry"> <a href="/Articles/126823/">Some 2.6.12 API changes</a> (March 8, 2005)</p> <p class="IndexEntry"> <a href="/Articles/145036/">A pair of suspend2 patches</a> (July 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/197409/">Workqueues and internal API conventions</a> (August 29, 2006)</p> <p class="IndexEntry"> <a href="/Articles/211279/">Workqueues get a rework</a> (November 27, 2006)</p> <p class="IndexEntry"> <a href="/Articles/239633/">Eliminating tasklets</a> (June 24, 2007)</p> <p class="IndexEntry"> <a href="/Articles/355700/">Concurrency-managed workqueues</a> (October 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/367895/">Turbulence for concurrency-managed workqueues</a> (December 23, 2009)</p> <p class="IndexEntry"> <a href="/Articles/393171/">Concurrency-managed workqueues and thread priorities</a> (June 22, 2010)</p> <p class="IndexEntry"> <a href="/Articles/403891/">Working on workqueues</a> (September 7, 2010)</p> <p class="IndexEntry"> <a href="/Articles/511421/">Making workqueues non-reentrant</a> (August 15, 2012)</p> <p class="IndexEntry"> <a href="/Articles/731052/">Power-efficient workqueues</a> (August 18, 2017)</p> <p class="IndexEntry"> <a href="/Articles/803070/">Redesigned workqueues for io_uring</a> (October 25, 2019)</p> <p class="IndexEntry"> <a href="/Articles/937416/">A pair of workqueue improvements</a> (July 7, 2023)</p> <p class="IndexEntry"> <a href="/Articles/960041/">The end of tasklets</a> (February 5, 2024)</p> <p class="IndexSecondary"> <a name="Workqueues-Lazy"></a><a href="#Workqueues-Lazy">Lazy</a></p> <p class="IndexEntry"> <a href="/Articles/348357/">In brief</a> (August 26, 2009)</p> <p class="IndexPrimary"> <a name="Write_barriers"><a href="#Write_barriers">Write barriers</a></a></p> <p class="IndexEntry"> <a href="/Articles/77074/">The return of write barriers</a> (March 24, 2004)</p> <p class="IndexEntry"> <a href="/Articles/157208/">Some block layer patches</a> (October 26, 2005)</p> <p class="IndexEntry"> <a href="/Articles/283161/">Barriers and journaling filesystems</a> (May 21, 2008)</p> <p class="IndexEntry"> <a href="/Articles/400541/">The end of block barriers</a> (August 18, 2010)</p> <p class="IndexPrimary"> <a name="Write_throttling"><a href="#Write_throttling">Write throttling</a></a></p> <p class="IndexEntry"> <a href="/Articles/152635/">Predictive per-task write throttling</a> (September 21, 2005)</p> <p class="IndexEntry"> <a href="/Articles/245600/">Smarter write throttling</a> (August 14, 2007)</p> <p class="IndexEntry"> <a href="/Articles/261626/">Writeout throttling</a> (December 11, 2007)</p> <p class="IndexEntry"> <a href="/Articles/456904/">No-I/O dirty throttling</a> (August 31, 2011)</p> <p class="IndexPrimary"> <a name="x32"><a href="#x32">x32</a></a></p> <p class="IndexEntry"> <a href="/Articles/456731/">The x32 system call ABI</a> (August 29, 2011)</p> <p class="IndexEntry"> <a href="/Articles/584020/">An x32 local exploit</a> (February 5, 2014)</p> <p class="IndexPrimary"> <a name="x86_64"><a href="#x86_64">x86_64</a></a></p> <p class="IndexEntry"> <a href="/Articles/138063/">Files with negative offsets</a> (May 31, 2005)</p> <p class="IndexEntry"> <a href="/Articles/243704/">i386 and x86_64: back together?</a> (July 31, 2007)</p> <p class="IndexEntry"> <a href="/Articles/248400/">KS2007: Hardware support and the i386/x86_64 merger</a> (September 6, 2007)</p> <p class="IndexPrimary"> <a name="XArray"><a href="#XArray">XArray</a></a></p> <p class="IndexEntry"> <a href="/Articles/745073/">The XArray data structure</a> (January 24, 2018)</p> <p class="IndexEntry"> <a href="/Articles/757342/">XArray and the mainline</a> (June 13, 2018)</p> <p class="IndexPrimary"> <a name="Xen"><a href="#Xen">Xen</a></a></p> <p class="IndexEntry"> <a href="/Articles/112391/">Xen is coming</a> (November 22, 2004)</p> <p class="IndexEntry"> <a href="/Articles/117736/">alloc_skb_from_cache()</a> (January 4, 2005)</p> <p class="IndexEntry"> <a href="/Articles/125831/">Toward the merging of Xen</a> (March 2, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144109/">Kernel Summit 2005: Virtualization</a> (July 19, 2005)</p> <p class="IndexEntry"> <a href="/Articles/144765/">OLS: Xen and UML</a> (July 23, 2005)</p> <p class="IndexEntry"> <a href="/Articles/183105/">The Xen patches</a> (May 10, 2006)</p> <p class="IndexEntry"> <a href="/Articles/194543/">Connecting Linux to hypervisors</a> (August 8, 2006)</p> <p class="IndexEntry"> <a href="/Articles/321696/">Xen: finishing the job</a> (March 4, 2009)</p> <p class="IndexEntry"> <a href="/Articles/335812/">Xen again</a> (June 3, 2009)</p> <p class="IndexPrimary"> <a name="xgetdents"><a href="#xgetdents">xgetdents()</a></a></p> <p class="IndexEntry"> <a href="/Articles/606995/">Two paths to a better readdir()</a> (July 30, 2014)</p> <p class="IndexPrimary"> <a name="Year_2038_problem"><a href="#Year_2038_problem">Year 2038 problem</a></a></p> <p class="IndexEntry"> <a href="/Articles/563285/">Pondering 2038</a> (August 14, 2013)</p> <p class="IndexEntry"> <a href="/Articles/599580/">2038 is closer than it seems</a> (May 21, 2014)</p> <p class="IndexEntry"> <a href="/Articles/607741/">Year 2038 preparations in 3.17</a> (August 6, 2014)</p> <p class="IndexEntry"> <a href="/Articles/643234/">System call conversion for year 2038</a> (May 5, 2015)</p> <p class="IndexEntry"> <a href="/Articles/662958/">Lightning talks</a> (November 4, 2015)</p> <p class="IndexEntry"> <a href="/Articles/672576/">Heading toward 2038-safe filesystems</a> (January 21, 2016)</p> <p class="IndexEntry"> <a href="/Articles/717076/">2038: only 21 years away</a> (March 15, 2017)</p> <p class="IndexEntry"> <a href="/Articles/757042/">Year-2038 work in 4.18</a> (June 11, 2018)</p> <p class="IndexEntry"> <a href="/Articles/776435/">Approaching the kernel year-2038 end game</a> (January 11, 2019)</p> <p class="IndexPrimary"> <a name="Zero_page"><a href="#Zero_page">Zero page</a></a></p> <p class="IndexEntry"> <a href="/Articles/340370/">Some ado about zero</a> (July 7, 2009)</p> <p class="IndexEntry"> <a href="/Articles/517465/">Adding a huge zero page</a> (September 26, 2012)</p> <p class="IndexPrimary"> <a name="zswap"><a href="#zswap">zswap</a></a></p> <p class="IndexEntry"> <a href="/Articles/537422/">The zswap compressed swap cache</a> (February 12, 2013)</p> <p class="IndexEntry"> <a href="/Articles/545244/">In-kernel memory compression</a> (April 3, 2013)</p> <p class="IndexEntry"> <a href="/Articles/548109/">LSFMM: In-kernel memory compression</a> (April 23, 2013)</p> <p class="IndexEntry"> <a href="/Articles/551401/">Merging zswap</a> (May 22, 2013)</p> <p class="IndexEntry"> <a href="/Articles/591961/">Compressed swap</a> (March 26, 2014)</p> </div> <!-- ArticleText --> </div> <!-- middlecolumn --> <div class="rightcol not-print"> <div id="azk93271_right_zone"></div> </div> </div> <!-- maincolumn --> <br clear="all"> <center> <P> <span class="ReallySmall"> Copyright &copy; 2025, Eklektix, Inc.<BR> Comments and public postings are copyrighted by their creators.<br> Linux is a registered trademark of Linus Torvalds<br> </span> </center> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10