<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in mm.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>42d3b66d4cdbacfc9d120d2301b8de89cc29a914 - Merge drm/drm-next into drm-xe-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#42d3b66d4cdbacfc9d120d2301b8de89cc29a914</link>
        <description>Merge drm/drm-next into drm-xe-nextBackmerging to bring in 7.00-rc3. Important ahead GPU SVM merging THPsupport.Signed-off-by: Matthew Brost &lt;matthew.brost@intel.com&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Thu, 12 Mar 2026 15:17:56 +0100</pubDate>
        <dc:creator>Matthew Brost &lt;matthew.brost@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>f09812b85fa6f41058bcc46e70ac406bf9b0493a - Merge drm/drm-next into drm-intel-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#f09812b85fa6f41058bcc46e70ac406bf9b0493a</link>
        <description>Merge drm/drm-next into drm-intel-nextSync with v7.0-rc1 which contains a few treewide changes affecting i915.Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Wed, 25 Feb 2026 12:23:04 +0100</pubDate>
        <dc:creator>Jani Nikula &lt;jani.nikula@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>8b85987d3cf50178f67618122d9f3bb202f62f42 - Merge drm/drm-next into drm-misc-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#8b85987d3cf50178f67618122d9f3bb202f62f42</link>
        <description>Merge drm/drm-next into drm-misc-nextLet&apos;s merge 7.0-rc1 to start the new drm-misc-next windowSigned-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Mon, 23 Feb 2026 11:48:20 +0100</pubDate>
        <dc:creator>Maxime Ripard &lt;mripard@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>c17ee635fd3a482b2ad2bf5e269755c2eae5f25e - Merge drm/drm-fixes into drm-misc-fixes</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#c17ee635fd3a482b2ad2bf5e269755c2eae5f25e</link>
        <description>Merge drm/drm-fixes into drm-misc-fixes7.0-rc1 was just released, let&apos;s merge it to kick the new release cycle.Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Mon, 23 Feb 2026 10:09:45 +0100</pubDate>
        <dc:creator>Maxime Ripard &lt;mripard@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a9aabb3b839aba094ed80861054993785c61462c - Merge tag &apos;rust-6.20-7.0&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#a9aabb3b839aba094ed80861054993785c61462c</link>
        <description>Merge tag &apos;rust-6.20-7.0&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linuxPull rust updates from Miguel Ojeda: &quot;Toolchain and infrastructure:   - Add &apos;__rust_helper&apos; annotation to the C helpers     This is needed to inline these helpers into Rust code   - Remove imports available via the prelude, treewide     This was possible thanks to a new lint in Klint that Gary has     implemented -- more Klint-related changes, including initial     upstream support, are coming   - Deduplicate pin-init flags  &apos;kernel&apos; crate:   - Add support for calling a function exactly once with the new     &apos;do_once_lite!&apos; macro (and &apos;OnceLite&apos; type)     Based on this, add &apos;pr_*_once!&apos; macros to print only once   - Add &apos;impl_flags!&apos; macro for defining common bitflags operations:         impl_flags!(             /// Represents multiple permissions.             #[derive(Debug, Clone, Default, Copy, PartialEq, Eq)]             pub struct Permissions(u32);             /// Represents a single permission.             #[derive(Debug, Clone, Copy, PartialEq, Eq)]             pub enum Permission {                 /// Read permission.                 Read = 1 &lt;&lt; 0,                 /// Write permission.                 Write = 1 &lt;&lt; 1,                 /// Execute permission.                 Execute = 1 &lt;&lt; 2,             }         );         let mut f: Permissions = Permission::Read | Permission::Write;         assert!(f.contains(Permission::Read));         assert!(!f.contains(Permission::Execute));         f |= Permission::Execute;         assert!(f.contains(Permission::Execute));         let f2: Permissions = Permission::Write | Permission::Execute;         assert!((f ^ f2).contains(Permission::Read));         assert!(!(f ^ f2).contains(Permission::Write));   - &apos;bug&apos; module: support &apos;CONFIG_DEBUG_BUGVERBOSE_DETAILED&apos; in the     &apos;warn_on!&apos; macro in order to show the evaluated condition alongside     the file path:          ------------[ cut here ]------------          WARNING: [val == 1] linux/samples/rust/rust_minimal.rs:27 at ...          Modules linked in: rust_minimal(+)   - Add safety module with &apos;unsafe_precondition_assert!&apos; macro,     currently a wrapper for &apos;debug_assert!&apos;, intended to mark the     validation of safety preconditions where possible:         /// # Safety         ///         /// The caller must ensure that `index` is less than `N`.         unsafe fn set_unchecked(&amp;mut self, index: usize, value: T) {             unsafe_precondition_assert!(                 index &lt; N,                 &quot;set_unchecked() requires index ({index}) &lt; N ({N})&quot;             );             ...         }   - Add instructions to &apos;build_assert!&apos; documentation requesting to     always inline functions when used with function arguments   - &apos;ptr&apos; module: replace &apos;build_assert!&apos; with a &apos;const&apos; one   - &apos;rbtree&apos; module: reduce unsafe blocks on pointer derefs   - &apos;transmute&apos; module: implement &apos;FromBytes&apos; and &apos;AsBytes&apos; for     inhabited ZSTs, and use it in Nova   - More treewide replacements of &apos;c_str!&apos; with C string literals  &apos;macros&apos; crate:   - Rewrite most procedural macros (&apos;module!&apos;, &apos;concat_idents!&apos;,     &apos;#[export]&apos;, &apos;#[vtable]&apos;, &apos;#[kunit_tests]&apos;) to use the &apos;syn&apos;     parsing library which we introduced last cycle, with better     diagnostics     This also allows to support &apos;#[cfg]&apos; properly in the &apos;#[vtable]&apos;     macro, to support arbitrary types in &apos;module!&apos; macro (not just an     identifier) and to remove several custom parsing helpers we had   - Use &apos;quote!&apos; from the recently vendored &apos;quote&apos; library and remove     our custom one     The vendored one also allows us to avoid quoting &apos;&quot;&apos; and &apos;{}&apos;     inside the template anymore and editors can now highlight it. In     addition, it improves robustness as it eliminates the need for     string quoting and escaping   - Use &apos;pin_init::zeroed()&apos; to simplify KUnit code  &apos;pin-init&apos; crate:   - Rewrite all procedural macros (&apos;[pin_]init!&apos;, &apos;#[pin_data]&apos;,     &apos;#[pinned_drop]&apos;, &apos;derive([Maybe]Zeroable)&apos;) to use the &apos;syn&apos;     parsing library which we introduced last cycle, with better     diagnostics   - Implement &apos;InPlaceWrite&apos; for &apos;&amp;&apos;static mut MaybeUninit&lt;T&gt;&apos;. This     enables users to use external allocation mechanisms such as     &apos;static_cell&apos;   - Support tuple structs in &apos;derive([Maybe]Zeroable)&apos;   - Support attributes on fields in &apos;[pin_]init!&apos; (such as     &apos;#[cfg(...)]&apos;)   - Add a &apos;#[default_error(&lt;type&gt;)]&apos; attribute to &apos;[pin_]init!&apos; to     override the default error (when no &apos;? Error&apos; is specified)   - Support packed structs in &apos;[pin_]init!&apos; with     &apos;#[disable_initialized_field_access]&apos;   - Remove &apos;try_[pin_]init!&apos; in favor of merging their feature with     &apos;[pin_]init!&apos;. Update the kernel&apos;s own &apos;try_[pin_]init!&apos; macros to     use the &apos;default_error&apos; attribute   - Correct &apos;T: Sized&apos; bounds to &apos;T: ?Sized&apos; in the generated     &apos;PinnedDrop&apos; check by &apos;#[pin_data]&apos;  Documentation:   - Conclude the Rust experiment  MAINTAINERS:   - Add &quot;RUST [RUST-ANALYZER]&quot; entry for the rust-analyzer support.     Tamir and Jesung will take care of it. They have both been active     around it for a while. The new tree will flow through the Rust one   - Add Gary as maintainer for &quot;RUST [PIN-INIT]&quot;   - Update Boqun and Tamir emails to their kernel.org accounts  And a few other cleanups and improvements&quot;* tag &apos;rust-6.20-7.0&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux: (59 commits)  rust: safety: introduce `unsafe_precondition_assert!` macro  rust: add `impl_flags!` macro for defining common bitflag operations  rust: print: Add pr_*_once macros  rust: bug: Support DEBUG_BUGVERBOSE_DETAILED option  rust: print: Add support for calling a function exactly once  rust: kbuild: deduplicate pin-init flags  gpu: nova-core: remove imports available via prelude  rust: clk: replace `kernel::c_str!` with C-Strings  MAINTAINERS: Update my email address to @kernel.org  rust: macros: support `#[cfg]` properly in `#[vtable]` macro.  rust: kunit: use `pin_init::zeroed` instead of custom null value  rust: macros: rearrange `#[doc(hidden)]` in `module!` macro  rust: macros: allow arbitrary types to be used in `module!` macro  rust: macros: convert `#[kunit_tests]` macro to use `syn`  rust: macros: convert `concat_idents!` to use `syn`  rust: macros: convert `#[export]` to use `syn`  rust: macros: use `quote!` for `module!` macro  rust: macros: use `syn` to parse `module!` macro  rust: macros: convert `#[vtable]` macro to use `syn`  rust: macros: use `quote!` from vendored crate  ...

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Tue, 10 Feb 2026 20:53:01 +0100</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>5092aeaf70266b6a8fcf6c8b59f0531e9f88647e - rust: mm: add __rust_helper to helpers</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#5092aeaf70266b6a8fcf6c8b59f0531e9f88647e</link>
        <description>rust: mm: add __rust_helper to helpersThis is needed to inline these helpers into Rust code.Reviewed-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Acked-by: Liam R. Howlett &lt;Liam.Howlett@oracle.com&gt;Reviewed-by: Lorenzo Stoakes &lt;lorenzo.stoakes@oracle.com&gt;Link: https://patch.msgid.link/20260105-define-rust-helper-v2-11-51da5f454a67@google.comSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Mon, 05 Jan 2026 13:42:24 +0100</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f088104d837a991c65e51fa30bb4196169b3244d - Merge drm/drm-next into drm-intel-gt-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#f088104d837a991c65e51fa30bb4196169b3244d</link>
        <description>Merge drm/drm-next into drm-intel-gt-nextBackmerge in order to get the commit:  048832a3f400 (&quot;drm/i915: Refactor shmem_pwrite() to use kiocb and write_iter&quot;)To drm-intel-gt-next as there are followup fixes to be applied.Signed-off-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Tue, 16 Sep 2025 12:53:20 +0200</pubDate>
        <dc:creator>Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>ab93e0dd72c37d378dd936f031ffb83ff2bd87ce - Merge branch &apos;next&apos; into for-linus</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#ab93e0dd72c37d378dd936f031ffb83ff2bd87ce</link>
        <description>Merge branch &apos;next&apos; into for-linusPrepare input updates for 6.17 merge window.

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Wed, 06 Aug 2025 19:08:54 +0200</pubDate>
        <dc:creator>Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a7bee4e7f78089c101be2ad51f4b5ec64782053e - Merge tag &apos;ib-mfd-gpio-input-pwm-v6.17&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#a7bee4e7f78089c101be2ad51f4b5ec64782053e</link>
        <description>Merge tag &apos;ib-mfd-gpio-input-pwm-v6.17&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into nextMerge an immutable branch between MFD, GPIO, Input and PWM to resolveconflicts for the merge window pull request.

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Mon, 04 Aug 2025 08:28:48 +0200</pubDate>
        <dc:creator>Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>74f1af95820fc2ee580a775a3a17c416db30b38c - Merge remote-tracking branch &apos;drm/drm-next&apos; into msm-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#74f1af95820fc2ee580a775a3a17c416db30b38c</link>
        <description>Merge remote-tracking branch &apos;drm/drm-next&apos; into msm-nextBack-merge drm-next to (indirectly) get arm-smmu updates for makingstall-on-fault more reliable.Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Sun, 29 Jun 2025 04:54:49 +0200</pubDate>
        <dc:creator>Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;</dc:creator>
    </item>
<item>
        <title>c598d5eb9fb331ba17bc9ad67ae9a2231ca5aca5 - Merge drm/drm-next into drm-misc-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#c598d5eb9fb331ba17bc9ad67ae9a2231ca5aca5</link>
        <description>Merge drm/drm-next into drm-misc-nextBackmerging to forward to v6.16-rc1Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Wed, 11 Jun 2025 09:01:34 +0200</pubDate>
        <dc:creator>Thomas Zimmermann &lt;tzimmermann@suse.de&gt;</dc:creator>
    </item>
<item>
        <title>86e2d052c2320bf12571a5d96b16c2745e1cfc5e - Merge drm/drm-next into drm-xe-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#86e2d052c2320bf12571a5d96b16c2745e1cfc5e</link>
        <description>Merge drm/drm-next into drm-xe-nextBackmerging to bring in 6.16Signed-off-by: Thomas Hellstr&#246;m &lt;thomas.hellstrom@linux.intel.com&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Mon, 09 Jun 2025 18:26:55 +0200</pubDate>
        <dc:creator>Thomas Hellstr&#246;m &lt;thomas.hellstrom@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>34c55367af96f62e89221444f04487440ebc6487 - Merge drm/drm-next into drm-intel-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#34c55367af96f62e89221444f04487440ebc6487</link>
        <description>Merge drm/drm-next into drm-intel-nextSync to v6.16-rc1, among other things to get the fixed size GENMASK_U*()and BIT_U*() macros.Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Mon, 09 Jun 2025 11:40:46 +0200</pubDate>
        <dc:creator>Jani Nikula &lt;jani.nikula@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>00c010e130e58301db2ea0cec1eadc931e1cb8cf - Merge tag &apos;mm-stable-2025-05-31-14-50&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#00c010e130e58301db2ea0cec1eadc931e1cb8cf</link>
        <description>Merge tag &apos;mm-stable-2025-05-31-14-50&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mmPull MM updates from Andrew Morton: - &quot;Add folio_mk_pte()&quot; from Matthew Wilcox simplifies the act of   creating a pte which addresses the first page in a folio and reduces   the amount of plumbing which architecture must implement to provide   this. - &quot;Misc folio patches for 6.16&quot; from Matthew Wilcox is a shower of   largely unrelated folio infrastructure changes which clean things up   and better prepare us for future work. - &quot;memory,x86,acpi: hotplug memory alignment advisement&quot; from Gregory   Price adds early-init code to prevent x86 from leaving physical   memory unused when physical address regions are not aligned to memory   block size. - &quot;mm/compaction: allow more aggressive proactive compaction&quot; from   Michal Clapinski provides some tuning of the (sadly, hard-coded (more   sadly, not auto-tuned)) thresholds for our invokation of proactive   compaction. In a simple test case, the reduction of a guest VM&apos;s   memory consumption was dramatic. - &quot;Minor cleanups and improvements to swap freeing code&quot; from Kemeng   Shi provides some code cleaups and a small efficiency improvement to   this part of our swap handling code. - &quot;ptrace: introduce PTRACE_SET_SYSCALL_INFO API&quot; from Dmitry Levin   adds the ability for a ptracer to modify syscalls arguments. At this   time we can alter only &quot;system call information that are used by   strace system call tampering, namely, syscall number, syscall   arguments, and syscall return value.   This series should have been incorporated into mm.git&apos;s &quot;non-MM&quot;   branch, but I goofed. - &quot;fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions&quot; from   Andrei Vagin extends the info returned by the PAGEMAP_SCAN ioctl   against /proc/pid/pagemap. This permits CRIU to more efficiently get   at the info about guard regions. - &quot;Fix parameter passed to page_mapcount_is_type()&quot; from Gavin Shan   implements that fix. No runtime effect is expected because   validate_page_before_insert() happens to fix up this error. - &quot;kernel/events/uprobes: uprobe_write_opcode() rewrite&quot; from David   Hildenbrand basically brings uprobe text poking into the current   decade. Remove a bunch of hand-rolled implementation in favor of   using more current facilities. - &quot;mm/ptdump: Drop assumption that pxd_val() is u64&quot; from Anshuman   Khandual provides enhancements and generalizations to the pte dumping   code. This might be needed when 128-bit Page Table Descriptors are   enabled for ARM. - &quot;Always call constructor for kernel page tables&quot; from Kevin Brodsky   ensures that the ctor/dtor is always called for kernel pgtables, as   it already is for user pgtables.   This permits the addition of more functionality such as &quot;insert hooks   to protect page tables&quot;. This change does result in various   architectures performing unnecesary work, but this is fixed up where   it is anticipated to occur. - &quot;Rust support for mm_struct, vm_area_struct, and mmap&quot; from Alice   Ryhl adds plumbing to permit Rust access to core MM structures. - &quot;fix incorrectly disallowed anonymous VMA merges&quot; from Lorenzo   Stoakes takes advantage of some VMA merging opportunities which we&apos;ve   been missing for 15 years. - &quot;mm/madvise: batch tlb flushes for MADV_DONTNEED and MADV_FREE&quot; from   SeongJae Park optimizes process_madvise()&apos;s TLB flushing.   Instead of flushing each address range in the provided iovec, we   batch the flushing across all the iovec entries. The syscall&apos;s cost   was approximately halved with a microbenchmark which was designed to   load this particular operation. - &quot;Track node vacancy to reduce worst case allocation counts&quot; from   Sidhartha Kumar makes the maple tree smarter about its node   preallocation.   stress-ng mmap performance increased by single-digit percentages and   the amount of unnecessarily preallocated memory was dramaticelly   reduced. - &quot;mm/gup: Minor fix, cleanup and improvements&quot; from Baoquan He removes   a few unnecessary things which Baoquan noted when reading the code. - &quot;&quot;Enhance sysfs handling for memory hotplug in weighted interleave&quot;   from Rakie Kim &quot;enhances the weighted interleave policy in the memory   management subsystem by improving sysfs handling, fixing memory   leaks, and introducing dynamic sysfs updates for memory hotplug   support&quot;. Fixes things on error paths which we are unlikely to hit. - &quot;mm/damon: auto-tune DAMOS for NUMA setups including tiered memory&quot;   from SeongJae Park introduces new DAMOS quota goal metrics which   eliminate the manual tuning which is required when utilizing DAMON   for memory tiering. - &quot;mm/vmalloc.c: code cleanup and improvements&quot; from Baoquan He   provides cleanups and small efficiency improvements which Baoquan   found via code inspection. - &quot;vmscan: enforce mems_effective during demotion&quot; from Gregory Price   changes reclaim to respect cpuset.mems_effective during demotion when   possible. because presently, reclaim explicitly ignores   cpuset.mems_effective when demoting, which may cause the cpuset   settings to violated.   This is useful for isolating workloads on a multi-tenant system from   certain classes of memory more consistently. - &quot;Clean up split_huge_pmd_locked() and remove unnecessary folio   pointers&quot; from Gavin Guo provides minor cleanups and efficiency gains   in in the huge page splitting and migrating code. - &quot;Use kmem_cache for memcg alloc&quot; from Huan Yang creates a slab cache   for `struct mem_cgroup&apos;, yielding improved memory utilization. - &quot;add max arg to swappiness in memory.reclaim and lru_gen&quot; from   Zhongkun He adds a new &quot;max&quot; argument to the &quot;swappiness=&quot; argument   for memory.reclaim MGLRU&apos;s lru_gen.   This directs proactive reclaim to reclaim from only anon folios   rather than file-backed folios. - &quot;kexec: introduce Kexec HandOver (KHO)&quot; from Mike Rapoport is the   first step on the path to permitting the kernel to maintain existing   VMs while replacing the host kernel via file-based kexec. At this   time only memblock&apos;s reserve_mem is preserved. - &quot;mm: Introduce for_each_valid_pfn()&quot; from David Woodhouse provides   and uses a smarter way of looping over a pfn range. By skipping   ranges of invalid pfns. - &quot;sched/numa: Skip VMA scanning on memory pinned to one NUMA node via   cpuset.mems&quot; from Libo Chen removes a lot of pointless VMA scanning   when a task is pinned a single NUMA mode.   Dramatic performance benefits were seen in some real world cases. - &quot;JFS: Implement migrate_folio for jfs_metapage_aops&quot; from Shivank   Garg addresses a warning which occurs during memory compaction when   using JFS. - &quot;move all VMA allocation, freeing and duplication logic to mm&quot; from   Lorenzo Stoakes moves some VMA code from kernel/fork.c into the more   appropriate mm/vma.c. - &quot;mm, swap: clean up swap cache mapping helper&quot; from Kairui Song   provides code consolidation and cleanups related to the folio_index()   function. - &quot;mm/gup: Cleanup memfd_pin_folios()&quot; from Vishal Moola does that. - &quot;memcg: Fix test_memcg_min/low test failures&quot; from Waiman Long   addresses some bogus failures which are being reported by the   test_memcontrol selftest. - &quot;eliminate mmap() retry merge, add .mmap_prepare hook&quot; from Lorenzo   Stoakes commences the deprecation of file_operations.mmap() in favor   of the new file_operations.mmap_prepare().   The latter is more restrictive and prevents drivers from messing with   things in ways which, amongst other problems, may defeat VMA merging. - &quot;memcg: decouple memcg and objcg stocks&quot;&quot; from Shakeel Butt decouples   the per-cpu memcg charge cache from the objcg&apos;s one.   This is a step along the way to making memcg and objcg charging   NMI-safe, which is a BPF requirement. - &quot;mm/damon: minor fixups and improvements for code, tests, and   documents&quot; from SeongJae Park is yet another batch of miscellaneous   DAMON changes. Fix and improve minor problems in code, tests and   documents. - &quot;memcg: make memcg stats irq safe&quot; from Shakeel Butt converts memcg   stats to be irq safe. Another step along the way to making memcg   charging and stats updates NMI-safe, a BPF requirement. - &quot;Let unmap_hugepage_range() and several related functions take folio   instead of page&quot; from Fan Ni provides folio conversions in the   hugetlb code.* tag &apos;mm-stable-2025-05-31-14-50&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (285 commits)  mm: pcp: increase pcp-&gt;free_count threshold to trigger free_high  mm/hugetlb: convert use of struct page to folio in __unmap_hugepage_range()  mm/hugetlb: refactor __unmap_hugepage_range() to take folio instead of page  mm/hugetlb: refactor unmap_hugepage_range() to take folio instead of page  mm/hugetlb: pass folio instead of page to unmap_ref_private()  memcg: objcg stock trylock without irq disabling  memcg: no stock lock for cpu hot-unplug  memcg: make __mod_memcg_lruvec_state re-entrant safe against irqs  memcg: make count_memcg_events re-entrant safe against irqs  memcg: make mod_memcg_state re-entrant safe against irqs  memcg: move preempt disable to callers of memcg_rstat_updated  memcg: memcg_rstat_updated re-entrant safe against irqs  mm: khugepaged: decouple SHMEM and file folios&apos; collapse  selftests/eventfd: correct test name and improve messages  alloc_tag: check mem_profiling_support in alloc_tag_init  Docs/damon: update titles and brief introductions to explain DAMOS  selftests/damon/_damon_sysfs: read tried regions directories in order  mm/damon/tests/core-kunit: add a test for damos_set_filters_default_reject()  mm/damon/paddr: remove unused variable, folio_list, in damon_pa_stat()  mm/damon/sysfs-schemes: fix wrong comment on damons_sysfs_quota_goal_metric_strs  ...

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Sun, 01 Jun 2025 00:44:16 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>3105f8f391ce00153c553bfe89efbb30b120d858 - mm: rust: add lock_vma_under_rcu</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#3105f8f391ce00153c553bfe89efbb30b120d858</link>
        <description>mm: rust: add lock_vma_under_rcuCurrently, the binder driver always uses the mmap lock to make changes toits vma.  Because the mmap lock is global to the process, this can involvesignificant contention.  However, the kernel has a feature called per-vmalocks, which can significantly reduce contention.  For example, you cantake a vma lock in parallel with an mmap write lock.  This is importantbecause contention on the mmap lock has been a long-term recurringchallenge for the Binder driver.This patch introduces support for using `lock_vma_under_rcu` from Rust. The Rust Binder driver will be able to use this to reduce contention onthe mmap lock.Link: https://lkml.kernel.org/r/20250408-vma-v16-4-d8b446e885d9@google.comSigned-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Acked-by: Lorenzo Stoakes &lt;lorenzo.stoakes@oracle.com&gt;Acked-by: Liam R. Howlett &lt;Liam.Howlett@Oracle.com&gt;Reviewed-by: Jann Horn &lt;jannh@google.com&gt;Reviewed-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Cc: Alex Gaynor &lt;alex.gaynor@gmail.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Balbir Singh &lt;balbirs@nvidia.com&gt;Cc: Benno Lossin &lt;benno.lossin@proton.me&gt;Cc: Bj&#246;rn Roy Baron &lt;bjorn3_gh@protonmail.com&gt;Cc: Boqun Feng &lt;boqun.feng@gmail.com&gt;Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Cc: John Hubbard &lt;jhubbard@nvidia.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Miguel Ojeda &lt;ojeda@kernel.org&gt;Cc: Suren Baghdasaryan &lt;surenb@google.com&gt;Cc: Trevor Gross &lt;tmgross@umich.edu&gt;Cc: Vlastimil Babka &lt;vbabka@suse.cz&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Tue, 08 Apr 2025 11:22:41 +0200</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
<item>
        <title>040f404b731207935ed644b14bcc2bb8b8488d00 - mm: rust: add vm_area_struct methods that require read access</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#040f404b731207935ed644b14bcc2bb8b8488d00</link>
        <description>mm: rust: add vm_area_struct methods that require read accessThis adds a type called VmaRef which is used when referencing a vma thatyou have read access to.  Here, read access means that you hold either themmap read lock or the vma read lock (or stronger).Additionally, a vma_lookup method is added to the mmap read guard, whichenables you to obtain a &amp;VmaRef in safe Rust code.This patch only provides a way to lock the mmap read lock, but a follow-uppatch also provides a way to just lock the vma read lock.Link: https://lkml.kernel.org/r/20250408-vma-v16-2-d8b446e885d9@google.comSigned-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Acked-by: Lorenzo Stoakes &lt;lorenzo.stoakes@oracle.com&gt;Acked-by: Liam R. Howlett &lt;Liam.Howlett@Oracle.com&gt;Reviewed-by: Jann Horn &lt;jannh@google.com&gt;Reviewed-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Cc: Alex Gaynor &lt;alex.gaynor@gmail.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Balbir Singh &lt;balbirs@nvidia.com&gt;Cc: Benno Lossin &lt;benno.lossin@proton.me&gt;Cc: Bj&#246;rn Roy Baron &lt;bjorn3_gh@protonmail.com&gt;Cc: Boqun Feng &lt;boqun.feng@gmail.com&gt;Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Cc: John Hubbard &lt;jhubbard@nvidia.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Miguel Ojeda &lt;ojeda@kernel.org&gt;Cc: Suren Baghdasaryan &lt;surenb@google.com&gt;Cc: Trevor Gross &lt;tmgross@umich.edu&gt;Cc: Vlastimil Babka &lt;vbabka@suse.cz&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Tue, 08 Apr 2025 11:22:39 +0200</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
<item>
        <title>5bb9ed6cdfeb75883652fd0ed3e3885083a92b4b - mm: rust: add abstraction for struct mm_struct</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/helpers/mm.c#5bb9ed6cdfeb75883652fd0ed3e3885083a92b4b</link>
        <description>mm: rust: add abstraction for struct mm_structPatch series &quot;Rust support for mm_struct, vm_area_struct, and mmap&quot;, v16.This updates the vm_area_struct support to use the approach we discussedat LPC where there are several different Rust wrappers for vm_area_structdepending on the kind of access you have to the vma.  Each case allows adifferent set of operations on the vma.This includes an MM MAINTAINERS entry as proposed by Lorenzo:https://lore.kernel.org/all/33e64b12-aa07-4e78-933a-b07c37ff1d84@lucifer.local/This patch (of 9):These abstractions allow you to reference a `struct mm_struct` using bothmmgrab and mmget refcounts.  This is done using two Rust types:* Mm - represents an mm_struct where you don&apos;t know anything about the  value of mm_users.* MmWithUser - represents an mm_struct where you know at compile time  that mm_users is non-zero.This allows us to encode in the type system whether a method requires thatmm_users is non-zero or not.  For instance, you can always call`mmget_not_zero` but you can only call `mmap_read_lock` when mm_users isnon-zero.The struct is called Mm to keep consistency with the C side.The ability to obtain `current-&gt;mm` is added later in this series.The mm module is defined to only exist when CONFIG_MMU is set.  Thisavoids various errors due to missing types and functions when CONFIG_MMUis disabled.  More fine-grained cfgs can be considered in the future.  Seethe thread at [1] for more info.Link: https://lkml.kernel.org/r/20250408-vma-v16-9-d8b446e885d9@google.comLink: https://lkml.kernel.org/r/20250408-vma-v16-1-d8b446e885d9@google.comLink: https://lore.kernel.org/all/202503091916.QousmtcY-lkp@intel.com/Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Acked-by: Lorenzo Stoakes &lt;lorenzo.stoakes@oracle.com&gt;Acked-by: Liam R. Howlett &lt;Liam.Howlett@Oracle.com&gt;Acked-by: Balbir Singh &lt;balbirs@nvidia.com&gt;Reviewed-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Cc: Alex Gaynor &lt;alex.gaynor@gmail.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Benno Lossin &lt;benno.lossin@proton.me&gt;Cc: Bj&#246;rn Roy Baron &lt;bjorn3_gh@protonmail.com&gt;Cc: Boqun Feng &lt;boqun.feng@gmail.com&gt;Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Cc: Jann Horn &lt;jannh@google.com&gt;Cc: John Hubbard &lt;jhubbard@nvidia.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Miguel Ojeda &lt;ojeda@kernel.org&gt;Cc: Suren Baghdasaryan &lt;surenb@google.com&gt;Cc: Trevor Gross &lt;tmgross@umich.edu&gt;Cc: Vlastimil Babka &lt;vbabka@suse.cz&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux/rust/helpers/mm.c</description>
        <pubDate>Tue, 08 Apr 2025 11:22:38 +0200</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
