Page MenuHomeFreeBSD
Feed Search

Wed, Jan 7

alc accepted D54570: vm_object.h: tweak OBJ_ONEMAPPING comment even more.
Wed, Jan 7, 4:42 PM

Tue, Jan 6

alc accepted D54438: linker: Reset DMAP protections in link_elf_unload_file().
Tue, Jan 6, 4:19 PM

Mon, Jan 5

alc added inline comments to D54438: linker: Reset DMAP protections in link_elf_unload_file().
Mon, Jan 5, 11:36 PM

Thu, Jan 1

alc added inline comments to D54438: linker: Reset DMAP protections in link_elf_unload_file().
Thu, Jan 1, 6:07 PM

Mon, Dec 29

alc accepted D54365: libc: add glibc-compatible tdestroy(3).
Mon, Dec 29, 4:46 PM
alc added a comment to D54365: libc: add glibc-compatible tdestroy(3).

Specifically, for now, I would commit the version in Diff 168641.

Mon, Dec 29, 4:43 PM
alc accepted D54365: libc: add glibc-compatible tdestroy(3).

At this point, I would go back to the simpler, O(n) version, and commit that.

Mon, Dec 29, 4:37 PM

Sat, Dec 27

alc added inline comments to D54365: libc: add glibc-compatible tdestroy(3).
Sat, Dec 27, 9:23 PM
alc added inline comments to D54365: libc: add glibc-compatible tdestroy(3).
Sat, Dec 27, 7:02 AM

Fri, Dec 26

alc added inline comments to D54365: libc: add glibc-compatible tdestroy(3).
Fri, Dec 26, 9:48 PM
alc accepted D54353: vnode_pager: clean up undirty_pages().
Fri, Dec 26, 8:48 PM
alc added inline comments to D54365: libc: add glibc-compatible tdestroy(3).
Fri, Dec 26, 8:47 PM
alc accepted D54353: vnode_pager: clean up undirty_pages().

The changes here have led the compiler to unroll the first and final loops, making the machine code larger.

Fri, Dec 26, 8:27 PM
alc added inline comments to D54365: libc: add glibc-compatible tdestroy(3).
Fri, Dec 26, 5:42 PM
alc added a comment to D54365: libc: add glibc-compatible tdestroy(3).
In D54365#1242517, @kib wrote:
In D54365#1242424, @alc wrote:

Curiously, the blogger's previous post contains a link to this page

https://codegolf.stackexchange.com/questions/478/free-a-binary-tree/489#489P

which contains almost the same code as the 3rd ranked solution.

Allow me to reformulate, you mean that the algorithm presented is not unique and is relatively wide known, so I can put the proper FF copyright and license without causing the authorship issue. Am I right?

Fri, Dec 26, 5:18 PM
alc added a comment to D54365: libc: add glibc-compatible tdestroy(3).

Curiously, the blogger's previous post contains a link to this page

Fri, Dec 26, 7:34 AM

Thu, Dec 25

alc added inline comments to D54353: vnode_pager: clean up undirty_pages().
Thu, Dec 25, 5:47 PM

Dec 24 2025

alc added inline comments to D54353: vnode_pager: clean up undirty_pages().
Dec 24 2025, 8:30 PM

Dec 23 2025

alc accepted D49330: vnode_pager: use ptoa(), atop().
Dec 23 2025, 5:24 PM

Dec 22 2025

alc added inline comments to D49330: vnode_pager: use ptoa(), atop().
Dec 22 2025, 9:20 AM

Dec 21 2025

alc added a comment to D52567: vm/vm_fault.c: update and split comments for vm_fault() and vm_fault_trap().

I guess that this review didn't get automatically closed?

Dec 21 2025, 10:15 PM
alc accepted D52567: vm/vm_fault.c: update and split comments for vm_fault() and vm_fault_trap().
Dec 21 2025, 9:43 PM
alc accepted D54335: vm_fault_trap(): fix comments grammar.
Dec 21 2025, 9:43 PM
alc added inline comments to D52567: vm/vm_fault.c: update and split comments for vm_fault() and vm_fault_trap().
Dec 21 2025, 9:03 PM
alc accepted D49330: vnode_pager: use ptoa(), atop().
Dec 21 2025, 8:45 PM
alc added reviewers for D49330: vnode_pager: use ptoa(), atop(): kib, markj.
Dec 21 2025, 8:45 PM
alc added a comment to D53965: vm_object_coalesce(): do not account holes twice.
In D53965#1241686, @kib wrote:
In D53965#1241683, @alc wrote:

This change is now similar to D43263. Abandon this one?

I suspect that either the comment is mis-directed, or the referenced review has the wrong number.

Indeed, it should point to D54263

Dec 21 2025, 6:22 PM
alc added a comment to D53965: vm_object_coalesce(): do not account holes twice.

This change is now similar to D43263. Abandon this one?

Dec 21 2025, 6:00 PM

Dec 18 2025

alc accepted D54263: vm_object_coalesce(): do not account holes twice.
Dec 18 2025, 10:20 PM
alc accepted D54263: vm_object_coalesce(): do not account holes twice.

P.S. The semester is winding down, so I have more spare time for reviews now.

Dec 18 2025, 9:34 PM
alc added a comment to D54268: vmem: Fix the gcc build.
In D54268#1240216, @alc wrote:

Since we are starting to expand the usage of vmem, I want to point out something that I only noticed around the time we added support for nextfit allocation. What we call bestfit is really an implementation of firstfit allocation. (A comment pointing this out was actually deleted from the Netbsd original when vmem was imported.) And, what we call firstfit is what, I believe, Solaris calls instantfit. We have no actual implementation of bestfit allocation. That said, mav's long ago change to "create own free list for each of the first 32 possible allocation sizes" has the effect of bestfit allocation for small sizes.

Here is the comment that got deleted:

	} else { /* VM_BESTFIT */
		/*
		 * we assume that, for space efficiency, it's better to
		 * allocate from a smaller block.  thus we will start searching
		 * from the lower-order list than VM_INSTANTFIT.
		 * however, don't bother to find the smallest block in a free
		 * list because the list can be very long.  we can revisit it
		 * if/when it turns out to be a problem.

If I understand correctly, libuvmem was motivated by a need for an address space allocator for PCI BARs in bhyve. I think a proper M_BESTFIT probably isn't required there, but it might be good to implement one nonetheless. As a first step, perhaps we should restore the naming from Solaris.

Dec 18 2025, 6:20 PM

Dec 17 2025

alc accepted D54268: vmem: Fix the gcc build.

Since we are starting to expand the usage of vmem, I want to point out something that I only noticed around the time we added support for nextfit allocation. What we call bestfit is really an implementation of firstfit allocation. (A comment pointing this out was actually deleted from the Netbsd original when vmem was imported.) And, what we call firstfit is what, I believe, Solaris calls instantfit. We have no actual implementation of bestfit allocation. That said, mav's long ago change to "create own free list for each of the first 32 possible allocation sizes" has the effect of bestfit allocation for small sizes.

Dec 17 2025, 6:38 PM

Dec 16 2025

alc added inline comments to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.
Dec 16 2025, 7:31 PM
alc accepted D54219: vm_object_coalesce(): check that coalescing does not revive stale pages.
Dec 16 2025, 6:21 PM
alc added inline comments to D54219: vm_object_coalesce(): check that coalescing does not revive stale pages.
Dec 16 2025, 8:18 AM
alc added inline comments to D54219: vm_object_coalesce(): check that coalescing does not revive stale pages.
Dec 16 2025, 8:01 AM

Dec 9 2025

alc accepted D54153: linuxkpi: clean up stray pctrie_iter_reset.
Dec 9 2025, 5:03 PM

Dec 8 2025

alc added inline comments to D53412: linuxkpi: gracefully handle page lookup failure in lkpi_vmf_insert_pfn_prot_locked.
Dec 8 2025, 9:32 PM

Dec 3 2025

alc accepted D54022: riscv/pmap: Handle superpages in pmap_extract_and_hold().
Dec 3 2025, 8:44 AM

Dec 2 2025

alc accepted D54022: riscv/pmap: Handle superpages in pmap_extract_and_hold().
Dec 2 2025, 5:36 PM
alc added inline comments to D54022: riscv/pmap: Handle superpages in pmap_extract_and_hold().
Dec 2 2025, 5:28 PM

Nov 28 2025

alc added inline comments to D53967: stddef.h: add unreachable() for C23 compliance.
Nov 28 2025, 4:48 PM

Nov 27 2025

alc added inline comments to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.
Nov 27 2025, 9:02 PM
alc added inline comments to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.
Nov 27 2025, 8:54 PM

Nov 26 2025

alc added inline comments to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.
Nov 26 2025, 8:54 PM

Nov 25 2025

alc added a comment to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.
In D53891#1231869, @kib wrote:
In D53891#1231400, @kib wrote:
In D53891#1231399, @alc wrote:

Can you elaborate on what you saw when debugging this problem? In particular, whether the map entries had OBJ_ONEMAPPING set? In principle, the ref_count and size shouldn't be a concern if the object has OBJ_ONEMAPPING set. For example, suppose there is an anonymous mapping (with OBJ_ONEMAPPING set) for the range [A, D). Further, suppose we punch a hole in the middle of that mapping, by calling munmap() on the range [B, C) where A < B < C < D. Now, we have two mappings, [A, B) and [C, D), that both reference the original object, and that object should still have OBJ_ONEMAPPING set. Because OBJ_ONEMAPPING is set, the munmap() should have freed any physical pages and swap space from the object that fell within the range [B, C). So, if a new anonymous mapping is created starting at either B or D, we should be able to safely coalesce it.

I did not have access to the object state there (all debugging was done remotely).

The situation you described is one of the cases that concerned me. I am not sure that we have a guarantee that doing the coalesce on the object with OBJ_ONEMAPPING flag but ref_count > 1 would not corrupt some other mapping. We need to do vm_object_page_remove(), and in principle that could remove pages which belong to other fragment.

I believe OBJ_ONEMAPPING means, "each page in the object is mapped at most once", so in the case you describe, OBJ_ONEMAPPING should not be set to begin with.

But this is exactly the part of my concern: even if OBJ_ONEMAPPING is not set, other conditions would allow the coalesce.

Nov 25 2025, 8:08 PM
alc added a comment to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.
In D53891#1231400, @kib wrote:
In D53891#1231399, @alc wrote:

Can you elaborate on what you saw when debugging this problem? In particular, whether the map entries had OBJ_ONEMAPPING set? In principle, the ref_count and size shouldn't be a concern if the object has OBJ_ONEMAPPING set. For example, suppose there is an anonymous mapping (with OBJ_ONEMAPPING set) for the range [A, D). Further, suppose we punch a hole in the middle of that mapping, by calling munmap() on the range [B, C) where A < B < C < D. Now, we have two mappings, [A, B) and [C, D), that both reference the original object, and that object should still have OBJ_ONEMAPPING set. Because OBJ_ONEMAPPING is set, the munmap() should have freed any physical pages and swap space from the object that fell within the range [B, C). So, if a new anonymous mapping is created starting at either B or D, we should be able to safely coalesce it.

I did not have access to the object state there (all debugging was done remotely).

The situation you described is one of the cases that concerned me. I am not sure that we have a guarantee that doing the coalesce on the object with OBJ_ONEMAPPING flag but ref_count > 1 would not corrupt some other mapping. We need to do vm_object_page_remove(), and in principle that could remove pages which belong to other fragment.

I believe OBJ_ONEMAPPING means, "each page in the object is mapped at most once", so in the case you describe, OBJ_ONEMAPPING should not be set to begin with.

Nov 25 2025, 8:02 PM

Nov 24 2025

alc added a comment to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.
In D53891#1231456, @kib wrote:

After another day of extensive testing, I can confirm that everything is working properly.

I'm happy to perform additional debugging to clarify the problematic condition, should you find it helpful.
Would you like a dump of the affected object for the newly added goto remove_pager case? Or anything else?

Try just this part of the series alone. Do not enable vm_check_pg_zero. Does it help?

diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 9d09224e7346..8850a1b8644e 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1988,7 +1988,7 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
       (options & (OBJPR_CLEANONLY | OBJPR_NOTMAPPED)) == OBJPR_NOTMAPPED,
       ("vm_object_page_remove: illegal options for object %p", object));
   if (object->resident_page_count == 0)
-    return;
+     goto remove_pager;
   vm_object_pip_add(object, 1);
   vm_page_iter_limit_init(&pages, object, end);
 again:
@@ -2061,6 +2061,7 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
   }
   vm_object_pip_wakeup(object);
 
+remove_pager:
   vm_pager_freespace(object, start, (end == 0 ? object->size : end) -
       start);
 }
Nov 24 2025, 5:57 PM
alc added a comment to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.

Confirmed, this part is enough.

Nov 24 2025, 5:55 PM

Nov 23 2025

alc added a comment to D53891: Fixes for dreaded assert in jemalloc page allocator AKA mmap(MAP_ANON) providing non-zeroed pages.

Can you elaborate on what you saw when debugging this problem? In particular, whether the map entries had OBJ_ONEMAPPING set? In principle, the ref_count and size shouldn't be a concern if the object has OBJ_ONEMAPPING set. For example, suppose there is an anonymous mapping (with OBJ_ONEMAPPING set) for the range [A, D). Further, suppose we punch a hole in the middle of that mapping, by calling munmap() on the range [B, C) where A < B < C < D. Now, we have two mappings, [A, B) and [C, D), that both reference the original object, and that object should still have OBJ_ONEMAPPING set. Because OBJ_ONEMAPPING is set, the munmap() should have freed any physical pages and swap space from the object that fell within the range [B, C). So, if a new anonymous mapping is created starting at either B or D, we should be able to safely coalesce it.

Nov 23 2025, 10:36 PM

Oct 10 2025

alc accepted D52982: kstack: Fix iterator usage in vm_thread_stack_create().
Oct 10 2025, 4:34 PM

Oct 9 2025

alc accepted D53008: vm_object: Export the number of wired pages in vm_object_list_handler().
Oct 9 2025, 10:43 PM

Oct 4 2025

alc added a comment to D52744: atomic.9: provide fine details about CAS memory model MD semantic.

It has been a long time since I looked at this man page. In the interest of making sure that these changes were written in an style consistent with the rest of the man page, I decided to take a look, and having done so the following bits concern me:

Oct 4 2025, 8:21 PM

Sep 30 2025

alc added a comment to D52744: atomic.9: provide fine details about CAS memory model MD semantic.
In D52744#1205716, @alc wrote:

Note that the llsc instructions have some subtly when implementing fully sequentially consistent semantics. As the acquire and release are on different instructions this means memory operations may move into the sequence & be swapped. As we don't implement them in atomic(9) this shouldn't be an issue, however will be if we latter add them.

I vaguely recall Linux having an issue with the aforementioned behavior about 8-10 years ago in the implementation of a synchronization primitive.

I've known about the issue on Linux
This is the fix for Linux issue https://github.com/torvalds/linux/commit/8e86f0b409a44193f1587e87b69c5dcf8f65be67. It's not been a problem on FreeBSD as we don't have atomic operations with a full barrier in atomic(9).

Sep 30 2025, 6:43 PM

Sep 28 2025

alc added a comment to D52744: atomic.9: provide fine details about CAS memory model MD semantic.

On arm64 atomics with an acquire then later memory operations can move before the store, however the store needs to succeed as if it doesn't then we will execute the load-acquire again.

I don't think the CAS instructions allow this. The pseudo-code has the comment All observers in the shareability domain observe the following load and store atomically before listing the load and store operations. This seems to indicate if the load has been observed the store has too.

Note that the llsc instructions have some subtly when implementing fully sequentially consistent semantics. As the acquire and release are on different instructions this means memory operations may move into the sequence & be swapped. As we don't implement them in atomic(9) this shouldn't be an issue, however will be if we latter add them.

Sep 28 2025, 6:42 PM

Sep 24 2025

alc accepted D52708: vm_object: Remove the kmem_object alias.
Sep 24 2025, 2:52 PM

Sep 14 2025

alc accepted D51474: vm_fault: try to only sbusy valid page that is not writeable.

I am happy to see how much simpler this has gotten, particularly the elimination of the range lock.

Sep 14 2025, 6:41 PM

Sep 3 2025

alc accepted D52190: arm64: Add a multiple TLBI workaround.
Sep 3 2025, 6:10 PM

Sep 2 2025

alc accepted D52348: vm/vm_fault.c: rename vm_fault_hold_pages_e() to vm_fault_hold_pages().
Sep 2 2025, 10:20 PM

Sep 1 2025

alc added inline comments to D52183: arm64: Create a TLBI invalidate for the kernel.
Sep 1 2025, 5:39 PM
alc added a comment to D52190: arm64: Add a multiple TLBI workaround.

In principle, I am okay with this change. However, I do have some questions.

Sep 1 2025, 5:06 PM

Aug 29 2025

alc added a comment to D51474: vm_fault: try to only sbusy valid page that is not writeable.

I have been following this, but have not given it a careful reading. I should be able to do so over the weekend.

Aug 29 2025, 5:15 PM

Aug 28 2025

alc accepted D52224: vm_fault.c: rename vm_fault_quick_hold_pages_e() to vm_fault_hold_pages_e().
Aug 28 2025, 5:56 PM
alc added inline comments to D52186: arm64: Cleanup enabling the MMU.
Aug 28 2025, 5:07 PM
alc accepted D52188: arm64: Clean up HW DBM errata detection.
Aug 28 2025, 4:55 PM
alc added a comment to D52165: vm_fault: improve interface for vm_fault_quick_hold_pages().
In D52165#1191863, @imp wrote:

Generally I like it, but the name is very long and specific for the logical concept of 'map this into the physical for I/O and keep it there'. But I have no better name, so I'll just grouse because I never could remember the order of the verbs when I was writing the nvme mapping code.

Aug 28 2025, 4:48 PM
alc accepted D52184: arm64: Replace cpu_tlb_flushID in initarm.
Aug 28 2025, 4:11 PM
alc accepted D52185: arm64: Remove cpu_tlb_flushID now it's unused.
Aug 28 2025, 4:08 PM

Aug 16 2025

alc accepted D51929: amd64: re-enable la57.
Aug 16 2025, 7:11 PM

Aug 10 2025

alc committed rGd88f8a306cfe: pmap_demote_{l2,pde}: never invalidate wired mappings.
Aug 10 2025, 11:24 PM
alc committed rGf406b54c806a: pmap_enter_{l2,pde}: correct the handling of an error case.
Aug 10 2025, 11:24 PM
alc committed rGc0e04a22331e: arm64 pmap: do not panic when unable to insert PTP into trie.
Aug 10 2025, 11:24 PM
alc committed rGb84a0aa00881: amd64 pmap: simplify recent changes to pmap_enter_pde().
Aug 10 2025, 12:43 AM

Aug 9 2025

alc committed rG9810fb151938: amd64 pmap: convert panics to KASSERTs.
Aug 9 2025, 9:10 PM
alc committed rG84df9c02785b: amd64 pmap: fix mismerge.
Aug 9 2025, 8:38 PM
alc committed rG702224d7e082: amd64 pmap: preallocate another page table page in pmap_demote_DMAP().
Aug 9 2025, 8:08 PM

Aug 2 2025

alc committed rG6fb848f2ff91: amd64 pmap: Use INVPCID_CTXGLOB on Ryzen processors.
Aug 2 2025, 5:15 PM
alc closed D51565: amd64 pmap: enable the use of INVPCID_CTXGLOB on AMD Ryzen processors.
Aug 2 2025, 5:15 PM
alc accepted D51692: vm_page: Clear VM_ALLOC_NOCREAT in vm_page_grab_pflags().
Aug 2 2025, 2:48 AM

Jul 30 2025

alc accepted D51636: swapongeom: destroy consumer in case swaponsomething failed.
Jul 30 2025, 5:23 PM

Jul 29 2025

alc accepted D51618: sys_swapon: reject too small devices.
Jul 29 2025, 7:56 PM

Jul 27 2025

alc added inline comments to D51565: amd64 pmap: enable the use of INVPCID_CTXGLOB on AMD Ryzen processors.
Jul 27 2025, 9:16 PM
alc updated the diff for D51565: amd64 pmap: enable the use of INVPCID_CTXGLOB on AMD Ryzen processors.

Eliminate unnecessary indirection.

Jul 27 2025, 9:06 PM
alc added inline comments to D51565: amd64 pmap: enable the use of INVPCID_CTXGLOB on AMD Ryzen processors.
Jul 27 2025, 4:55 PM

Jul 26 2025

alc added inline comments to D51565: amd64 pmap: enable the use of INVPCID_CTXGLOB on AMD Ryzen processors.
Jul 26 2025, 9:09 PM
alc requested review of D51565: amd64 pmap: enable the use of INVPCID_CTXGLOB on AMD Ryzen processors.
Jul 26 2025, 9:05 PM

Jul 25 2025

alc added inline comments to D49442: pmap: Avoid clearing the accessed bit for wired mappings.
Jul 25 2025, 8:05 PM
alc added a comment to D49442: pmap: Avoid clearing the accessed bit for wired mappings.
In D49442#1163641, @alc wrote:

I'm really on the fence about this. I could make a respectable argument for either approach.

Perhaps it's reasonable to simply implement both approaches? The patch in review makes some sense on its own, independent of the bug which motivated it: I can't see any practical reason for madvise(DONTNEED or FREE) to have any side effects on wired mappings. On the other hand, it seems sensible to modify the demotion path to handle this case, since we have no rule which says that wired mappings must have PG_A set, so this case could arise again in the future.

Jul 25 2025, 8:01 PM

Jul 23 2025

alc committed rG7502c1f27082: pmap_demote_{l2,pde}: never invalidate wired mappings.
Jul 23 2025, 6:03 PM
alc closed D51431: pmap_demote_{l2,pde}: never invalidate wired mappings.
Jul 23 2025, 6:03 PM
alc added a comment to D51431: pmap_demote_{l2,pde}: never invalidate wired mappings.

I believe this makes D49442 unnecessary, at least as far as fixing the bug is concerned.

Jul 23 2025, 5:58 PM

Jul 20 2025

alc requested review of D51431: pmap_demote_{l2,pde}: never invalidate wired mappings.
Jul 20 2025, 12:37 AM
alc accepted D51364: LA57: move large map out of kernel pml4.
Jul 20 2025, 12:16 AM

Jul 19 2025

alc added a comment to D51345: amd64/pmap: Remove !SMP TLB invalidation routines.
In D51345#1173585, @kib wrote:
In D51345#1172943, @kib wrote:

I am curious how does the patch build.
For instance, pmap_invalidate_page() calls smp_masked_invlpg(), which is provided by amd64/mp_machdep.c. And mp_machdep.c is 'optional smp' in files.amd64.

Oops, yes. This was from a larger patch series which entirely removes the SMP option for amd64. With just this patch, a nooptions SMP kernel cannot build.

It is enough to #ifdef SMP the calls to smp_masked_*() in each of the SMP invalidation functions.

What do you think of this goal overall? My belief is that !SMP amd64 kernels are not used very much and are not worth the maintenance overhead. With the complete patch series, all of sys/amd64 simply ignores the SMP option. If you think it's the right direction, I'll post the remaining patches.

I stated publicly more than once that I would like to remove UP at all, and not only for x86. But the discussion never ignited. In other words, I fully support removing as much #ifdef SMPs as we can.

Rather than fix this commit, I propose going further: https://reviews.freebsd.org/D51403

I brought up removal of !SMP support for amd64 last year at bsdcan and there was no objection. I am not sure about the importance of !SMP in general, e.g., maybe it is somewhat important to support it for embedded arm devices. But for amd64 I think there is no reasonable objection to its removal. GENERIC with nooptions SMP is broken in multiple ways and has been for a while.

Jul 19 2025, 7:18 PM
alc added inline comments to D51364: LA57: move large map out of kernel pml4.
Jul 19 2025, 6:50 PM

Jul 18 2025

alc accepted D51364: LA57: move large map out of kernel pml4.
Jul 18 2025, 5:48 PM
alc accepted D51406: arm64: Add ADDR_IS_USER.
Jul 18 2025, 5:22 PM

Jul 17 2025

alc committed rG5a846c48f209: pmap_enter_{l2,pde}: correct the handling of an error case.
Jul 17 2025, 11:34 PM
alc closed D51353: pmap_enter_{l2,pde}: correct the handling of an error case.
Jul 17 2025, 11:34 PM
alc added a comment to D51353: pmap_enter_{l2,pde}: correct the handling of an error case.

I have two related observations:

Jul 17 2025, 7:13 PM