Page MenuHomeFreeBSD
Feed Advanced Search

Jun 29 2022

alc added inline comments to D35524: rb_tree: optimize bit twiddle.
Jun 29 2022, 6:08 PM
alc added inline comments to D35524: rb_tree: optimize bit twiddle.
Jun 29 2022, 5:49 PM

Jun 26 2022

alc committed rG7b39a9bc1df3: iommu_gas: Fix a recent regression with IOMMU_MF_CANSPLIT (authored by alc).
iommu_gas: Fix a recent regression with IOMMU_MF_CANSPLIT
Jun 26 2022, 9:33 PM
alc committed rGda33f6d76b9d: iommu_gas: Tidy up (authored by alc).
iommu_gas: Tidy up
Jun 26 2022, 6:03 AM

Jun 25 2022

alc accepted D35520: rb_tree: optimize tree rotation.
Jun 25 2022, 7:30 AM
alc closed D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 25 2022, 6:10 AM
alc committed rGeeb46578c21a: busdma_iommu: Fine-grained locking for the dmamap's map list (authored by alc).
busdma_iommu: Fine-grained locking for the dmamap's map list
Jun 25 2022, 6:10 AM

Jun 24 2022

alc added inline comments to D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 24 2022, 5:45 AM

Jun 23 2022

alc updated the summary of D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 23 2022, 4:44 PM
alc updated the summary of D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 23 2022, 7:59 AM
alc updated the summary of D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 23 2022, 7:58 AM
alc updated the summary of D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 23 2022, 7:52 AM
alc updated the summary of D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 23 2022, 12:52 AM
alc retitled D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list from busdma_iommu: Introduce finr to busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 23 2022, 12:20 AM
alc requested review of D35557: busdma_iommu: Introduce fine-grained locking on the dmamap's map list.
Jun 23 2022, 12:18 AM

Jun 21 2022

alc committed rG0ba1d8608234: iommu_gas: Add a missing error-case unlock (authored by alc).
iommu_gas: Add a missing error-case unlock
Jun 21 2022, 5:01 AM
alc committed rG32e82bcc1527: busdma_iommu: Eliminate a redundant trunc_page() (authored by alc).
busdma_iommu: Eliminate a redundant trunc_page()
Jun 21 2022, 4:04 AM

Jun 20 2022

alc accepted D35522: iommu_gas: reduce lower bound checking in lowermatch.
Jun 20 2022, 11:39 PM
alc added inline comments to D35522: iommu_gas: reduce lower bound checking in lowermatch.
Jun 20 2022, 10:05 PM
alc committed rG164491fb0387: iommu_gas: Eliminate a stale comment (authored by alc).
iommu_gas: Eliminate a stale comment
Jun 20 2022, 5:31 PM

Jun 19 2022

alc accepted D35518: man tree: add RB_AUGMENT description.
Jun 19 2022, 4:51 PM
alc added inline comments to D35518: man tree: add RB_AUGMENT description.
Jun 19 2022, 4:57 AM

Jun 17 2022

alc committed rGe6775534aee1: iommu_gas: Correct a broken KASSERT (authored by alc).
iommu_gas: Correct a broken KASSERT
Jun 17 2022, 6:06 PM
alc committed rGfc2e4f15a904: iommu_gas: Eliminate unnecessary wrappers (authored by alc).
iommu_gas: Eliminate unnecessary wrappers
Jun 17 2022, 6:20 AM
alc closed D35487: iommu_gas: eliminate unneeded wrappers.
Jun 17 2022, 6:20 AM

Jun 15 2022

alc accepted D35486: make iommu_gas_lowermatch non-recursive.
Jun 15 2022, 6:20 AM
alc added a comment to D35486: make iommu_gas_lowermatch non-recursive.

I'd estimate that this change increases the achieved bandwidth by netperf TCP_MAERTS from about 3500-3550Mbps to 3650-3700MBps.

Jun 15 2022, 5:33 AM

Jun 14 2022

alc added inline comments to D35486: make iommu_gas_lowermatch non-recursive.
Jun 14 2022, 10:39 PM
alc added a comment to D35487: iommu_gas: eliminate unneeded wrappers.
In D35487#804780, @br wrote:

The idea of these wrappers was to abstract function names, i.e. make them looking generic by removing name "gas". I'm not sure what "gas" stands for, but there is no such thing on arm64.

Jun 14 2022, 7:21 PM
alc added a reviewer for D35487: iommu_gas: eliminate unneeded wrappers: br.
Jun 14 2022, 6:58 PM
alc requested review of D35487: iommu_gas: eliminate unneeded wrappers.
Jun 14 2022, 6:56 PM
alc accepted D35485: vm_fault: Avoid unnecessary object unlocking in vm_fault_copy_entry().
Jun 14 2022, 6:12 PM
alc added inline comments to D35471: vm_fault: Fix a racy copy of page valid bits.
Jun 14 2022, 5:45 PM
alc accepted D35471: vm_fault: Fix a racy copy of page valid bits.
Jun 14 2022, 5:41 PM

Jun 13 2022

alc added a comment to D35458: iommu_gas: change to first-fit search for lowermatch.

For posterity, in other words, anyone who looks at this review, this change together with the last two changes to this same file have reduced iommu page table page usage by a netperf TCP_MAERTS test from ~181 to ~151.

Jun 13 2022, 5:16 PM
alc accepted D35469: vm_object: Use the vm_object_(set|clear)_flag() helpers.
Jun 13 2022, 4:30 PM
alc accepted D35458: iommu_gas: change to first-fit search for lowermatch.

Please explain why this change is needed in the summary.

Jun 13 2022, 6:19 AM

Jun 10 2022

alc accepted D35450: Drop redundant case from RB_NEXT, RB_PREV.
Jun 10 2022, 9:47 PM
alc accepted D35424: iommu_gas: pass size without page alignment.
Jun 10 2022, 3:51 PM
alc added a comment to D35424: iommu_gas: pass size without page alignment.

Do we need the offset? We just need a mapping for the physical page the vm_page_t points to.

Jun 10 2022, 5:50 AM

Jun 9 2022

alc added a comment to D35424: iommu_gas: pass size without page alignment.

Andrew, can you please explain the arguments being passed to iommu_map_msi() in gicv3_iommu_init()? The "offset" argument should really be a value that is less than the page size. Right now, it is 0x10040.

Jun 9 2022, 4:56 PM
alc added a reviewer for D35424: iommu_gas: pass size without page alignment: andrew.
Jun 9 2022, 4:41 PM
alc added a comment to D35424: iommu_gas: pass size without page alignment.
In D35424#803735, @kib wrote:

Please ask Peter to check this.

Jun 9 2022, 4:40 PM

Jun 8 2022

alc accepted D35439: iommu_gas: reorder lowermatch.
Jun 8 2022, 10:03 PM

Jun 6 2022

alc accepted D35414: iommu_gas: restrict tree search to promising paths.
Jun 6 2022, 6:03 PM

Jun 2 2022

alc accepted D35232: busdma_iommu: map without extra offset bytes.
Jun 2 2022, 8:06 PM
alc accepted D35232: busdma_iommu: map without extra offset bytes.
Jun 2 2022, 5:06 PM

Apr 14 2022

alc accepted D34909: vm: Move the "vm_wait in early boot" assertion to the proper place.
Apr 14 2022, 4:18 PM

Apr 13 2022

alc accepted D34887: vm_phys_init: Quiet unused but set warnings about npages..
Apr 13 2022, 7:49 AM

Apr 5 2022

alc accepted D34568: Move the arm64 DMAP creation to C.
Apr 5 2022, 4:55 PM

Mar 28 2022

alc added a comment to D33947: Change free space search to avoid duplicate search.

vm_phys_alloc_seg_contig() will ignore runs of pages that aren't contained in the range [seg->start, seg->end], so doesn't this change potentially cause us to skip over eligible runs?

Mar 28 2022, 6:28 PM
alc added a comment to D33947: Change free space search to avoid duplicate search.

Peter, can you please test this?

Mar 28 2022, 5:36 PM
alc accepted D33947: Change free space search to avoid duplicate search.

I do, however, think that this deserves explanation in the form of a comment.

Mar 28 2022, 5:34 PM

Mar 25 2022

alc added a comment to D34568: Move the arm64 DMAP creation to C.

Andrew, I'll give this patch a final look over the weekend.

Mar 25 2022, 6:28 AM

Mar 19 2022

alc added inline comments to D34568: Move the arm64 DMAP creation to C.
Mar 19 2022, 5:19 PM
alc added inline comments to D34568: Move the arm64 DMAP creation to C.
Mar 19 2022, 4:46 PM

Mar 18 2022

alc accepted D34568: Move the arm64 DMAP creation to C.
Mar 18 2022, 6:04 PM

Mar 16 2022

alc added inline comments to D34568: Move the arm64 DMAP creation to C.
Mar 16 2022, 5:26 PM

Mar 15 2022

alc accepted D34516: Fix arm64 TLB invalidation with non-4k pages.
Mar 15 2022, 4:55 PM

Mar 14 2022

alc accepted D34517: Fix calculating l0index in _pmap_alloc_l3 on arm64.
Mar 14 2022, 5:40 PM
alc added inline comments to D34516: Fix arm64 TLB invalidation with non-4k pages.
Mar 14 2022, 5:39 PM

Feb 18 2022

alc added inline comments to D34272: riscv: Add various pmap definitions needed to support SV48 mode.
Feb 18 2022, 5:38 AM
alc added inline comments to D34274: riscv: Add a sysentvec for the SV48 user ABI.
Feb 18 2022, 5:35 AM
alc accepted D34271: riscv: Use generic CSR macros for writing SATP.
Feb 18 2022, 5:18 AM

Feb 16 2022

alc accepted D34270: riscv: Rename struct pmap's pm_l1 field to pm_top.
Feb 16 2022, 5:12 PM

Feb 15 2022

alc accepted D34267: riscv: Fix another race in pmap_pinit().
Feb 15 2022, 8:07 AM

Jan 31 2022

alc accepted D34089: Introduce sys/kassert.h.
Jan 31 2022, 6:06 PM

Jan 28 2022

alc accepted D34070: Make <vm/vm_extern.h> more self-contained..

Hmm. At first this didn't make sense to me. The "assertions" were written this way so that systm.h wouldn't have to be included, but the prototype for panic() is provided by systm.h. So, this code might as well have used KASSERT all along.

Jan 28 2022, 8:10 AM

Jan 27 2022

alc accepted D33735: Add arm64 CnP support.

I'm quite surprised to see this feature supported by the Graviton 2. I would only have expected to see this feature on micro-architectures that implement SMT/hyperthreading. In fact, the last paragraph of https://developer.arm.com/documentation/101811/0101/Address-spaces-in-AArch64 essentially says so. I wonder if it's simply a NOP on Graviton 2.

Jan 27 2022, 5:57 AM

Jan 20 2022

alc added inline comments to D33924: vm_pageout_scans: correct detection of active object.
Jan 20 2022, 12:16 AM

Jan 19 2022

alc accepted D33945: add seg->start check before block-walking in vm_phys_alloc_seg_contig.
Jan 19 2022, 6:40 AM

Jan 18 2022

alc accepted D33870: phys_alloc_seg_contig: don't allocate past seg->end.
Jan 18 2022, 6:05 PM
alc added inline comments to D33870: phys_alloc_seg_contig: don't allocate past seg->end.
Jan 18 2022, 9:42 AM

Jan 11 2022

alc accepted D33811: vm_pageout: Group sysctl variables together with sysctl definitions.
Jan 11 2022, 12:26 AM
alc accepted D33809: swap_pager: uma_zcreate() doesn't fail.
Jan 11 2022, 12:12 AM

Jan 9 2022

alc accepted D33725: Add invariants that check validity of alignment, boundary parameters.
Jan 9 2022, 10:20 PM

Jan 8 2022

alc added a comment to D33786: amd64: micro-optimize vptopte()/vtopde() further.

I'll take a look at this tomorrow.

Jan 8 2022, 6:00 AM
alc added a comment to D33776: amd64 pmap: simplify vtopte() and vtopde().

Here is the start of pmap_qenter(). Note the right shift followed by left shift:

Jan 8 2022, 4:43 AM

Jan 7 2022

alc added inline comments to D33776: amd64 pmap: simplify vtopte() and vtopde().
Jan 7 2022, 1:23 AM
alc added a comment to D33778: amd64 pmap: preset A and M bits for pmap_qenter() mappings.

As an aside, I just verified that arm64 is already setting the equivalent bits.

Jan 7 2022, 12:36 AM
alc accepted D33778: amd64 pmap: preset A and M bits for pmap_qenter() mappings.
Jan 7 2022, 12:05 AM

Jan 6 2022

alc accepted D33778: amd64 pmap: preset A and M bits for pmap_qenter() mappings.
Jan 6 2022, 11:48 PM

Jan 3 2022

alc committed rG4ccd6c137f5b: arm64: Implement final level only TLB invalidations (authored by alc).
arm64: Implement final level only TLB invalidations
Jan 3 2022, 7:19 PM
alc closed D33705: arm64: Eliminate unnecessary "page walk cache" invalidations.
Jan 3 2022, 7:19 PM

Jan 1 2022

alc added a comment to D33705: arm64: Eliminate unnecessary "page walk cache" invalidations.

@andrew didn't you have a patch for implementing CnP support? If so, could you please post it?

Jan 1 2022, 8:24 PM
alc updated the diff for D33705: arm64: Eliminate unnecessary "page walk cache" invalidations.

Add comments at the head of pmap_invalidate_{all,page,range}(). In particular, document pmap_invalidate_all() as always invalidating all intermediate-level entries.

Jan 1 2022, 7:16 PM

Dec 31 2021

alc added inline comments to D33705: arm64: Eliminate unnecessary "page walk cache" invalidations.
Dec 31 2021, 8:03 PM
alc updated the diff for D33705: arm64: Eliminate unnecessary "page walk cache" invalidations.

Implement Mark's suggested optimization plus a related optimization to handling a singleton valid range as the last mapping in the PTP. Please check the logic carefully.

Dec 31 2021, 7:56 PM
alc added inline comments to D33705: arm64: Eliminate unnecessary "page walk cache" invalidations.
Dec 31 2021, 6:38 PM
alc added a comment to D33705: arm64: Eliminate unnecessary "page walk cache" invalidations.
In D33705#761849, @kib wrote:

Does arm64 use recursive mapping?

Dec 31 2021, 7:35 AM
alc requested review of D33705: arm64: Eliminate unnecessary "page walk cache" invalidations.
Dec 31 2021, 12:01 AM

Dec 29 2021

alc committed rG24b82aa0c543: arm64: Simplify pmap_ts_referenced (authored by alc).
arm64: Simplify pmap_ts_referenced
Dec 29 2021, 12:03 AM

Dec 28 2021

alc committed rG3c2ee7b28cfd: arm64: Enhance pmap_pte_exists()'s error reporting (authored by alc).
arm64: Enhance pmap_pte_exists()'s error reporting
Dec 28 2021, 11:47 PM
alc committed rGe161dfa91897: Fix pmap_is_prefaultable() on arm64 and riscv (authored by alc).
Fix pmap_is_prefaultable() on arm64 and riscv
Dec 28 2021, 1:19 AM
alc closed D33659: Fix pmap_is_prefaultable() on arm64 and riscv.
Dec 28 2021, 1:18 AM

Dec 27 2021

alc committed rG03f9cc89e1f5: arm64: Fix "set-but-not-used" warnings in the pmap (authored by alc).
arm64: Fix "set-but-not-used" warnings in the pmap
Dec 27 2021, 5:50 PM

Dec 26 2021

alc accepted D33656: Change page alignment behavior of boundary==0 in vm_reserv_reclaim_contig.
Dec 26 2021, 5:36 PM
alc requested review of D33659: Fix pmap_is_prefaultable() on arm64 and riscv.
Dec 26 2021, 7:37 AM

Dec 24 2021

alc accepted D33653: Move a comment.
Dec 24 2021, 10:08 PM
alc added inline comments to D33645: Fix an accounting error from 9b0c0769b2b2e1d6c917c0799f2a0.
Dec 24 2021, 7:05 PM