Page MenuHomeFreeBSD

alc (Alan Cox)
User

Projects

User Details

User Since
Dec 14 2014, 5:52 AM (425 w, 1 d)

Recent Activity

Dec 29 2022

alc accepted D37770: amd64: for small cores, use (big hammer) INVPCID_CTXGLOB instead of INVLPG.
Dec 29 2022, 10:21 PM
alc added a comment to D37770: amd64: for small cores, use (big hammer) INVPCID_CTXGLOB instead of INVLPG.

I assume that you did not modify pmap_pti_pcid_invlpg and pmap_pti_pcid_invlrng in support.S because the broken do not require PTI. Is that correct?

Dec 29 2022, 7:23 PM

Dec 21 2022

alc added a comment to D37770: amd64: for small cores, use (big hammer) INVPCID_CTXGLOB instead of INVLPG.

Do you have any guess as to how long we might be stuck with this workaround? If the need for it persists, then we may want to have a wrapper to optimize the range operations to avoid repeating INVPCID_CTXGLOB.

Dec 21 2022, 5:58 PM

Dec 12 2022

alc committed rGf0878da03b37: pmap: standardize promotion conditions between amd64 and arm64 (authored by alc).
pmap: standardize promotion conditions between amd64 and arm64
Dec 12 2022, 6:09 PM
alc closed D36916: pmap: standardize promotion conditions between amd64 and arm64.
Dec 12 2022, 6:09 PM

Nov 20 2022

alc accepted D37399: Support the arm64 pmap_remove_write for stage 2.
Nov 20 2022, 1:16 AM

Nov 19 2022

alc added inline comments to D37254: Support arm64 stage2 TLB invalidation.
Nov 19 2022, 7:08 PM

Nov 16 2022

alc added inline comments to D37254: Support arm64 stage2 TLB invalidation.
Nov 16 2022, 8:10 AM
alc added inline comments to D37399: Support the arm64 pmap_remove_write for stage 2.
Nov 16 2022, 7:21 AM

Nov 7 2022

alc accepted D37302: Rename the arm64 pmap_invalidate_* functions.
Nov 7 2022, 4:41 PM

Nov 5 2022

alc added inline comments to D37254: Support arm64 stage2 TLB invalidation.
Nov 5 2022, 6:10 PM

Nov 4 2022

alc accepted D37255: arm64: Disable per-thread stack-smashing protection in data_abort().
Nov 4 2022, 5:36 PM

Nov 2 2022

alc accepted D37231: arm64: Handle translation faults for thread structures.
Nov 2 2022, 5:24 PM

Oct 29 2022

alc accepted D37204: iommu_gas: drop fini cleanup loop.
Oct 29 2022, 5:46 PM
alc accepted D36624: iommu_gas: start space search from first free space.
Oct 29 2022, 3:58 AM

Oct 13 2022

alc updated subscribers of D36978: swap_pager: Reduce code duplication for swp_page_meta_build callers.

Add @dougm

Oct 13 2022, 5:21 PM

Oct 10 2022

alc accepted D36919: amd64 pmap: two trivial changes.
Oct 10 2022, 9:31 PM
alc updated the diff for D36916: pmap: standardize promotion conditions between amd64 and arm64.

Update comment.

Oct 10 2022, 5:12 PM
alc added inline comments to D36919: amd64 pmap: two trivial changes.
Oct 10 2022, 4:33 PM

Oct 8 2022

alc added inline comments to D36916: pmap: standardize promotion conditions between amd64 and arm64.
Oct 8 2022, 8:59 PM
alc added a comment to D36916: pmap: standardize promotion conditions between amd64 and arm64.

As an aside, in a few weeks, I may eliminate the requirement that PG_A/ATTR_AF is set, add a call to pmap_promote_{pde,l2}() from pmap_enter_quick_locked(), and change pmap_advise(MADV_FREE) to simply write protect one 4KB mapping after demotion (rather than destroying it).

Oct 8 2022, 6:34 PM
alc updated the summary of D36916: pmap: standardize promotion conditions between amd64 and arm64.
Oct 8 2022, 5:58 PM
alc requested review of D36916: pmap: standardize promotion conditions between amd64 and arm64.
Oct 8 2022, 5:57 PM

Oct 7 2022

alc added a comment to D36685: sys: Consolidate common implementation details of PV entries..
In D36685#838132, @jhb wrote:
In D36685#838118, @alc wrote:

Everything in _pv_entry.h except for the notion of there being a struct pv_entry with at least a virtual address and TAILQ is original to peter@. I don't see a reason for a Regents copyright.

Mmmm, ok. I can drop the UCB copyright, but @peter would have to be the one to change it to a 2 clause license.

Oct 7 2022, 6:20 PM
alc added a comment to D36685: sys: Consolidate common implementation details of PV entries..

Everything in _pv_entry.h except for the notion of there being a struct pv_entry with at least a virtual address and TAILQ is original to peter@. I don't see a reason for a Regents copyright.

Oct 7 2022, 5:49 PM

Oct 5 2022

alc added inline comments to D36885: riscv: handle kernel PTE edge-case in pmap_enter_l2().
Oct 5 2022, 4:40 PM
alc accepted D36563: riscv: handle existing mapping in pmap_enter_l2().
Oct 5 2022, 7:48 AM

Oct 4 2022

alc added inline comments to D36801: Micro-optimize the application of MADV_WILLNEED to existing superpage mappings.
Oct 4 2022, 5:32 PM

Sep 30 2022

alc committed rG1d5ebad06c20: pmap: optimize MADV_WILLNEED on existing superpages (authored by alc).
pmap: optimize MADV_WILLNEED on existing superpages
Sep 30 2022, 5:15 PM
alc closed D36801: Micro-optimize the application of MADV_WILLNEED to existing superpage mappings.
Sep 30 2022, 5:15 PM
alc accepted D36839: vm_page: Fix a logic error in the handling of PQ_ACTIVE operations.
Sep 30 2022, 5:09 PM
alc added a comment to D36563: riscv: handle existing mapping in pmap_enter_l2().

See D36801 for changes to the amd64 and arm64 pmaps to avoid the unnecessary pmap_enter_quick_locked() calls. I recommend merging those changes to riscv.

Sep 30 2022, 4:54 PM
alc accepted D36840: riscv: Apply 8d7ee2047c5e to the riscv pmap.
Sep 30 2022, 4:21 PM

Sep 29 2022

alc requested review of D36801: Micro-optimize the application of MADV_WILLNEED to existing superpage mappings.
Sep 29 2022, 6:16 PM

Sep 26 2022

alc updated subscribers of D36500: Fix O(n^2) behavior in sysctl.

You might ask @dougm to take a look at this.

Sep 26 2022, 10:52 PM
alc accepted D36646: rb_tree: add augmentation comments.
Sep 26 2022, 5:34 PM
alc added inline comments to D36697: arm64: Handle 1GB mappings in pmap_enter_quick_locked().
Sep 26 2022, 5:04 PM

Sep 25 2022

alc accepted D36697: arm64: Handle 1GB mappings in pmap_enter_quick_locked().
Sep 25 2022, 5:55 PM
alc accepted D36698: arm64: Fix an assertion in pmap_enter_largepage().
Sep 25 2022, 5:36 PM

Sep 24 2022

alc added inline comments to D36563: riscv: handle existing mapping in pmap_enter_l2().
Sep 24 2022, 5:30 PM
alc added a comment to D36563: riscv: handle existing mapping in pmap_enter_l2().

pmap_enter_object() is used only to prefault mappings [of a single VM object], so it is allowed to do nothing. I'm not sure if that was the intent behind the interface when it was first introduced, since the name doesn't suggest that it is advisory.

Sep 24 2022, 6:02 AM
alc accepted D36675: amd64: Ignore 1GB mappings in pmap_advise().

Shouldn't the same change be made on arm64?

Sep 24 2022, 5:56 AM
alc accepted D36673: amd64: Make it possible to grow the KERNBASE region of KVA.
Sep 24 2022, 5:50 AM
alc accepted D36370: smr: Fix synchronization in smr_enter().
Sep 24 2022, 5:18 AM

Sep 23 2022

alc accepted D36674: amd64: Handle 1GB mappings in pmap_enter_quick_locked().

Shouldn't the same change be made on arm64?

Sep 23 2022, 9:36 PM
alc added inline comments to D36673: amd64: Make it possible to grow the KERNBASE region of KVA.
Sep 23 2022, 5:54 PM
alc added inline comments to D36674: amd64: Handle 1GB mappings in pmap_enter_quick_locked().
Sep 23 2022, 4:39 PM

Sep 21 2022

alc accepted D36509: rb_tree: augmentation shortcut.
Sep 21 2022, 4:18 AM
alc added inline comments to D36509: rb_tree: augmentation shortcut.
Sep 21 2022, 4:11 AM
alc added inline comments to D36509: rb_tree: augmentation shortcut.
Sep 21 2022, 3:55 AM
alc added inline comments to D36509: rb_tree: augmentation shortcut.
Sep 21 2022, 3:49 AM
alc added inline comments to D36509: rb_tree: augmentation shortcut.
Sep 21 2022, 3:44 AM

Sep 13 2022

alc accepted D36114: rb_tree: pass parent to RB_INSERT_COLOR.
Sep 13 2022, 5:55 AM

Sep 11 2022

alc committed rG8d7ee2047c5e: pmap: don't recompute mpte during promotion (authored by alc).
pmap: don't recompute mpte during promotion
Sep 11 2022, 6:23 AM

Sep 7 2022

alc accepted D36393: rb_tree:stop symmetric code dup in insert/remove_color.
Sep 7 2022, 4:55 PM

Aug 31 2022

alc added inline comments to D36305: arm64 pmap: batch chunk removal in pmap_remove_pages.
Aug 31 2022, 4:54 PM

Aug 29 2022

alc accepted D36353: rb_tree: avoid extra reads in rebalancing.
Aug 29 2022, 4:02 PM
alc added inline comments to D36370: smr: Fix synchronization in smr_enter().
Aug 29 2022, 4:00 PM

Aug 28 2022

alc added inline comments to D36353: rb_tree: avoid extra reads in rebalancing.
Aug 28 2022, 10:39 PM
alc added inline comments to D36353: rb_tree: avoid extra reads in rebalancing.
Aug 28 2022, 6:44 PM
alc added inline comments to D36370: smr: Fix synchronization in smr_enter().
Aug 28 2022, 5:17 PM

Aug 27 2022

alc added inline comments to D36370: smr: Fix synchronization in smr_enter().
Aug 27 2022, 8:45 PM

Aug 26 2022

alc added a comment to D36362: emulators/qemu: Fix build after recent change in src main..

vm/pmap.h has always included machine/pmap.h, so there is no need for both includes.

Aug 26 2022, 9:04 PM

Aug 25 2022

alc accepted D36317: rb_tree: optimize insertion.
Aug 25 2022, 7:24 AM
alc added inline comments to D36317: rb_tree: optimize insertion.
Aug 25 2022, 6:58 AM

Aug 24 2022

alc added inline comments to D36317: rb_tree: optimize insertion.
Aug 24 2022, 5:24 PM

Aug 19 2022

alc accepted D36266: rb_tree: avoid double-writing in double rotation.

Otherwise, I'm fine with this change.

Aug 19 2022, 9:55 PM

Aug 15 2022

alc accepted D36001: iommu_gas: add iommu_gas_remove().
Aug 15 2022, 2:21 PM
alc added inline comments to D36001: iommu_gas: add iommu_gas_remove().
Aug 15 2022, 7:17 AM

Aug 14 2022

alc added inline comments to D36001: iommu_gas: add iommu_gas_remove().
Aug 14 2022, 5:29 PM

Aug 13 2022

alc accepted D36001: iommu_gas: add iommu_gas_remove().
Aug 13 2022, 9:45 PM
alc added a comment to D36001: iommu_gas: add iommu_gas_remove().

Otherwise, I think that this is ready to commit.

Aug 13 2022, 5:21 PM

Aug 11 2022

alc added inline comments to D36001: iommu_gas: add iommu_gas_remove().
Aug 11 2022, 5:11 PM

Aug 7 2022

alc added inline comments to D36001: iommu_gas: add iommu_gas_remove().
Aug 7 2022, 6:02 PM

Aug 6 2022

alc added inline comments to D36001: iommu_gas: add iommu_gas_remove().
Aug 6 2022, 6:41 PM
alc added a comment to D36001: iommu_gas: add iommu_gas_remove().

Please go ahead and commit the changes to tree.3.

Aug 6 2022, 6:32 PM
alc accepted D35502: iommu_gas: avoid needless tree augmentations.
Aug 6 2022, 6:10 PM
alc closed D36054: x86/iommu: Reduce the number of queued invalidation interrupts.
Aug 6 2022, 6:07 PM
alc committed rG7f46deccbed7: x86/iommu: Reduce the number of queued invalidation interrupts (authored by alc).
x86/iommu: Reduce the number of queued invalidation interrupts
Aug 6 2022, 6:07 PM
alc requested review of D36054: x86/iommu: Reduce the number of queued invalidation interrupts.
Aug 6 2022, 7:36 AM

Aug 4 2022

alc added inline comments to D36001: iommu_gas: add iommu_gas_remove().
Aug 4 2022, 4:48 PM

Jul 30 2022

alc committed rG4670f90846d4: iommu_gas: Eliminate redundant parameters and push down lock acquisition (authored by alc).
iommu_gas: Eliminate redundant parameters and push down lock acquisition
Jul 30 2022, 7:29 PM
alc closed D35995: iommu_gas: Eliminate redundant parameters and push down lock acquisition.
Jul 30 2022, 7:29 PM
alc added a comment to D25672: bhyve, DMAR: integrate.
In D25672#817019, @kib wrote:
In D25672#816160, @alc wrote:

Do you want to resume work on this, and finish some pieces and commit them?

I hope so, but I am not sure I can do anything that large ATM. Do you have specific proposals about already useful pieces?

Jul 30 2022, 7:21 PM
alc updated the diff for D35995: iommu_gas: Eliminate redundant parameters and push down lock acquisition.

Since callers to iommu_gas_map_region() provide the entry, assert that the entry was actually allocated for the domain in which the mapping is about to be created.

Jul 30 2022, 6:43 PM

Jul 29 2022

alc updated the summary of D35995: iommu_gas: Eliminate redundant parameters and push down lock acquisition.
Jul 29 2022, 6:04 PM
alc requested review of D35995: iommu_gas: Eliminate redundant parameters and push down lock acquisition.
Jul 29 2022, 5:50 PM
alc committed rG42736dc44dd0: x86/iommu: Reduce DMAR lock contention (authored by alc).
x86/iommu: Reduce DMAR lock contention
Jul 29 2022, 5:13 AM
alc closed D35951: x86/iommu: Reduce DMAR lock contention.
Jul 29 2022, 5:13 AM

Jul 28 2022

alc added inline comments to D35951: x86/iommu: Reduce DMAR lock contention.
Jul 28 2022, 5:12 PM
alc updated the diff for D35951: x86/iommu: Reduce DMAR lock contention.

Add comments.

Jul 28 2022, 4:57 AM

Jul 27 2022

alc added inline comments to D35951: x86/iommu: Reduce DMAR lock contention.
Jul 27 2022, 4:09 PM

Jul 26 2022

alc added a comment to D25672: bhyve, DMAR: integrate.

Do you want to resume work on this, and finish some pieces and commit them?

Jul 26 2022, 8:19 PM
alc updated the diff for D35951: x86/iommu: Reduce DMAR lock contention.

Add a couple comments.

Jul 26 2022, 7:35 PM
alc updated the test plan for D35951: x86/iommu: Reduce DMAR lock contention.
Jul 26 2022, 5:38 PM
alc requested review of D35951: x86/iommu: Reduce DMAR lock contention.
Jul 26 2022, 5:38 PM
alc committed rGc25156347083: x86/iommu: Correct a recent change to iommu_domain_unload_entry() (authored by alc).
x86/iommu: Correct a recent change to iommu_domain_unload_entry()
Jul 26 2022, 6:08 AM

Jul 25 2022

alc closed D35878: iommu_gas: Perform a synchronous invalidation when not freeing the entry in dmar_qi_task().
Jul 25 2022, 4:16 PM
alc committed rG8bc367384745: iommu_gas: Eliminate a possible case of use-after-free (authored by alc).
iommu_gas: Eliminate a possible case of use-after-free
Jul 25 2022, 4:16 PM

Jul 24 2022

alc updated the diff for D35878: iommu_gas: Perform a synchronous invalidation when not freeing the entry in dmar_qi_task().

Fix arm64. I previously added the new parameter to the wrong function.

Jul 24 2022, 7:25 PM