Page MenuHomeFreeBSD

markj (Mark Johnston)
User

Projects (6)

User Details

User Since
Mar 12 2014, 1:00 AM (379 w, 2 d)

Recent Activity

Today

markj added inline comments to D30807: rename /usr/share/certs/blacklisted.
Fri, Jun 18, 1:09 PM

Yesterday

markj added a comment to D30632: racct: Remove factor in pcpu estimate.

I did some more testing and now I think that the change is wrong. In particular, note that the RACCT_PCPU resource has RACCT_IN_MILLIONS attribute, which explains why this multiplication occurs.

Thu, Jun 17, 7:32 PM
markj closed D30319: sort: Change default algorithm to mergesort.
Thu, Jun 17, 5:55 PM
markj committed R10:68d3790ba0bc: sort: Change default algorithm to mergesort (authored by cyril_freebsdfoundation.org).
sort: Change default algorithm to mergesort
Thu, Jun 17, 5:55 PM
markj closed D30778: dtrace: fix an out of bound read and a NULL pointer increment.
Thu, Jun 17, 5:55 PM · DTrace
markj committed R10:a877965fa3da: dtrace: fix an out of bound read and a NULL pointer increment (authored by domagoj.stolfa_gmail.com).
dtrace: fix an out of bound read and a NULL pointer increment
Thu, Jun 17, 5:54 PM
markj accepted D30785: amd64 efirt: initialize vm_pages backing EFI runtime memory.
Thu, Jun 17, 1:42 PM

Wed, Jun 16

markj added inline comments to D30785: amd64 efirt: initialize vm_pages backing EFI runtime memory.
Wed, Jun 16, 9:28 PM
markj added a comment to D30778: dtrace: fix an out of bound read and a NULL pointer increment.

If there are any tags, e.g., sponsored by, please add them to the review description and I'll commit.

You can add a Signed-off-by: domagoj.stolfa@gmail.com if you'd like

Wed, Jun 16, 3:41 PM · DTrace
markj committed R10:85a55e0c5eb0: vmm: Let guests enable SMEP/SMAP if the host supports it (authored by markj).
vmm: Let guests enable SMEP/SMAP if the host supports it
Wed, Jun 16, 2:05 PM
markj committed R10:bc6a2267fffe: ipfw: Update the pfil mbuf pointer in ipfw_check_frame() (authored by markj).
ipfw: Update the pfil mbuf pointer in ipfw_check_frame()
Wed, Jun 16, 2:03 PM
markj closed D30764: ipfw: Update the pfil mbuf pointer in ipfw_check_frame().
Wed, Jun 16, 2:02 PM

Tue, Jun 15

markj accepted D30778: dtrace: fix an out of bound read and a NULL pointer increment.

If there are any tags, e.g., sponsored by, please add them to the review description and I'll commit.

Tue, Jun 15, 8:53 PM · DTrace
markj added inline comments to D30002: e1000: Fix up HW vlan ops.
Tue, Jun 15, 2:43 PM
markj accepted D30675: Fix two issues with Linuxolator signals.
Tue, Jun 15, 1:59 PM
markj added a comment to D30764: ipfw: Update the pfil mbuf pointer in ipfw_check_frame().
In D30764#691796, @ae wrote:

I think we can set *p.m unconditionally, like we do in ipfw_check_packet().

Tue, Jun 15, 1:22 PM

Mon, Jun 14

markj requested review of D30764: ipfw: Update the pfil mbuf pointer in ipfw_check_frame().
Mon, Jun 14, 9:42 PM
markj committed R10:87799c5f85dc: cpucontrol: fix extended signature matching code to avoid fallthough (authored by dnelson_1901_yahoo.com).
cpucontrol: fix extended signature matching code to avoid fallthough
Mon, Jun 14, 9:35 PM
markj committed R10:a10021748940: Consistently use the SOCKBUF_MTX() and SOCK_MTX() macros (authored by markj).
Consistently use the SOCKBUF_MTX() and SOCK_MTX() macros
Mon, Jun 14, 9:35 PM
markj committed R10:70dd5eebc025: amd64: Fix propagation of LDT updates (authored by markj).
amd64: Fix propagation of LDT updates
Mon, Jun 14, 9:35 PM
markj committed R10:f4bb1869ddd2: Consistently use the SOLISTENING() macro (authored by markj).
Consistently use the SOLISTENING() macro
Mon, Jun 14, 9:35 PM
markj committed R10:86461b646df5: gconcat: Add some simple regression tests for the new append verb (authored by markj).
gconcat: Add some simple regression tests for the new append verb
Mon, Jun 14, 9:35 PM
markj committed R10:129fb0fb0282: Fix handling of D_GIANTOK (authored by markj).
Fix handling of D_GIANTOK
Mon, Jun 14, 8:28 PM
markj committed R10:67b7e2de4fc5: iwn: adjust EEPROM read timeout for Intel 4965AGN M2 (authored by radoslaw.chmielarz_emersi.eu).
iwn: adjust EEPROM read timeout for Intel 4965AGN M2
Mon, Jun 14, 8:28 PM
markj committed R10:fa3cfd1a845a: arm64: Fix pmap_copy()'s handling of 2MB mappings (authored by markj).
arm64: Fix pmap_copy()'s handling of 2MB mappings
Mon, Jun 14, 8:28 PM
markj committed R10:368b1cd57190: riscv: Rename pmap_fault_fixup() to pmap_fault() (authored by markj).
riscv: Rename pmap_fault_fixup() to pmap_fault()
Mon, Jun 14, 8:28 PM
markj committed R10:aa8280a90204: arm: Remove last_fault_code (authored by markj).
arm: Remove last_fault_code
Mon, Jun 14, 8:27 PM
markj committed R10:5346c8bc543a: Suppress D_NEEDGIANT warnings for some drivers (authored by markj).
Suppress D_NEEDGIANT warnings for some drivers
Mon, Jun 14, 8:27 PM
markj committed R10:25b73f214418: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2() (authored by markj).
riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2()
Mon, Jun 14, 8:27 PM
markj committed R10:09e47586d72f: ngatm: Handle errors from uni_msg_extend() (authored by markj).
ngatm: Handle errors from uni_msg_extend()
Mon, Jun 14, 8:27 PM
markj committed R10:e58cb5c01de9: arm64: Use the right PTE when downgrading perms in pmap_promote_l2() (authored by markj).
arm64: Use the right PTE when downgrading perms in pmap_promote_l2()
Mon, Jun 14, 8:26 PM
markj committed R10:71efecb7eb1a: iwn: adjust EEPROM read timeout for Intel 4965AGN M2 (authored by radoslaw.chmielarz_emersi.eu).
iwn: adjust EEPROM read timeout for Intel 4965AGN M2
Mon, Jun 14, 8:26 PM
markj committed R10:4e30dd0567da: ngatm: Handle errors from uni_msg_extend() (authored by markj).
ngatm: Handle errors from uni_msg_extend()
Mon, Jun 14, 8:26 PM
markj added inline comments to D30041: ufs: avoid unneeded calls to softdep_prerename() and softdep_prelink().
Mon, Jun 14, 4:09 PM
markj added inline comments to D30675: Fix two issues with Linuxolator signals.
Mon, Jun 14, 3:36 PM
markj added a comment to D30758: Check for non-empty sysctl_ctx before attempting free.

I think checking for TAILQ_EMPTY(&vsi->sysctl_ctx) is probably a hack. sysctl_ctx_free() handles an empty queue perfectly well. The problem seems to be that the list is not initialized (with sysctl_ctx_init()) in some paths where sysctl_ctx_free() may be called.

Mon, Jun 14, 1:44 PM
markj accepted D30759: netgraph/bridge: malloc without flags.
Mon, Jun 14, 1:35 PM

Wed, Jun 9

markj committed R10:334335cb14d4: i386: Add "options HYPERV" to NOTES (authored by markj).
i386: Add "options HYPERV" to NOTES
Wed, Jun 9, 1:02 PM

Tue, Jun 8

markj updated the diff for D30685: amd64: Fix propagation of LDT updates.
  • Compare initiator and target LDTs, and only reload if they match.
  • Use an acquire load in the comparison.
Tue, Jun 8, 3:01 PM
markj added a comment to D30685: amd64: Fix propagation of LDT updates.
In D30685#689474, @kib wrote:
In D30685#689430, @kib wrote:

So what specifically the problem is? That the process might be forced to execute set_user_ldt() while md_ldt is actually still being set up?

Sorry for not explaining further. The problem is that set_user_ldt() may populate the LDT entry of the GDT with zeroes, and the subsequent lldt instruction raises #GP because the segment descriptor is not valid (I think because the descriptor type is wrong).

Ah, md_ldt_sd is zero, right. So yes I think the solution is to read md_ldt and only do something if md_ldt != NULL. But the read of md_ldt should have acq semantic to pair with fence_rel() in user_ldt_alloc().

Tue, Jun 8, 2:59 PM
markj accepted D30674: crypt_r(3): fix reentrancy problems with DES.

I don't see any problems with the change, but note that this adds something like 30KB of data per thread. Probably not the end of the world but not ideal either.

Tue, Jun 8, 2:00 PM
markj committed R10:97993d1ebf59: hyperv: Fix vmbus after the i386 4/4 split (authored by markj).
hyperv: Fix vmbus after the i386 4/4 split
Tue, Jun 8, 1:51 PM
markj closed D30577: hyperv: Fix vmbus(4) after the i386 4/4 split.
Tue, Jun 8, 1:50 PM
markj committed R10:cb5fe9aa9fa0: amd64: Clear the local TSS when creating a new thread (authored by markj).
amd64: Clear the local TSS when creating a new thread
Tue, Jun 8, 1:39 PM
markj committed R10:949fb4f9627b: i386: Make setidt_disp a size_t instead of uintptr_t (authored by markj).
i386: Make setidt_disp a size_t instead of uintptr_t
Tue, Jun 8, 1:39 PM
markj committed R10:5a7d63129a67: pf: Avoid leaking pad bytes in struct pfr_astats when copying out (authored by markj).
pf: Avoid leaking pad bytes in struct pfr_astats when copying out
Tue, Jun 8, 1:39 PM
markj committed R10:0a41a2899eb2: i386: Make setidt_disp a size_t instead of uintptr_t (authored by markj).
i386: Make setidt_disp a size_t instead of uintptr_t
Tue, Jun 8, 1:39 PM
markj committed R10:1adf2f76c0c8: pf: Avoid leaking pad bytes in struct pfr_astats when copying out (authored by markj).
pf: Avoid leaking pad bytes in struct pfr_astats when copying out
Tue, Jun 8, 1:38 PM
markj added a comment to D30685: amd64: Fix propagation of LDT updates.
In D30685#689430, @kib wrote:

So what specifically the problem is? That the process might be forced to execute set_user_ldt() while md_ldt is actually still being set up?

Tue, Jun 8, 12:51 AM

Mon, Jun 7

markj committed R10:887c753c9f45: Fix handling of D_GIANTOK (authored by markj).
Fix handling of D_GIANTOK
Mon, Jun 7, 8:47 PM
markj requested review of D30685: amd64: Fix propagation of LDT updates.
Mon, Jun 7, 8:32 PM
markj added inline comments to D30674: crypt_r(3): fix reentrancy problems with DES.
Mon, Jun 7, 3:11 PM
markj committed R10:d1b7ff3dac57: ffs: Correct the input size check in sysctl_ffs_fsck() (authored by markj).
ffs: Correct the input size check in sysctl_ffs_fsck()
Mon, Jun 7, 1:04 AM
markj committed R10:f9b3922257ba: ffs: Correct the input size check in sysctl_ffs_fsck() (authored by markj).
ffs: Correct the input size check in sysctl_ffs_fsck()
Mon, Jun 7, 1:04 AM
markj committed R10:cbced258dee4: x86: Fix lapic_ipi_alloc() on i386 (authored by markj).
x86: Fix lapic_ipi_alloc() on i386
Mon, Jun 7, 1:04 AM
markj committed R10:2a87d7c0139c: amd64: Relax the assertion added in commit 4a59cbc12 (authored by markj).
amd64: Relax the assertion added in commit 4a59cbc12
Mon, Jun 7, 1:04 AM
markj committed R10:10e697949ada: amd64: Avoid enabling interrupts when handling kernel mode prot faults (authored by markj).
amd64: Avoid enabling interrupts when handling kernel mode prot faults
Mon, Jun 7, 1:04 AM
markj committed R10:d330127c17ec: x86: Fix lapic_ipi_alloc() on i386 (authored by markj).
x86: Fix lapic_ipi_alloc() on i386
Mon, Jun 7, 1:03 AM

Sun, Jun 6

markj committed R10:03d4b58feee3: iwn: adjust EEPROM read timeout for Intel 4965AGN M2 (authored by radoslaw.chmielarz_emersi.eu).
iwn: adjust EEPROM read timeout for Intel 4965AGN M2
Sun, Jun 6, 8:48 PM
markj committed R10:e755e2776ddf: ngatm: Handle errors from uni_msg_extend() (authored by markj).
ngatm: Handle errors from uni_msg_extend()
Sun, Jun 6, 8:48 PM
markj committed R10:62ba0def5584: arm: Remove last_fault_code (authored by markj).
arm: Remove last_fault_code
Sun, Jun 6, 8:47 PM
markj committed R10:317113bb1251: riscv: Rename pmap_fault_fixup() to pmap_fault() (authored by markj).
riscv: Rename pmap_fault_fixup() to pmap_fault()
Sun, Jun 6, 8:47 PM
markj committed R10:c05748e028b8: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2() (authored by markj).
riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2()
Sun, Jun 6, 8:47 PM
markj closed D30643: arm64: Fix pmap_copy()'s handling of 2MB mappings.
Sun, Jun 6, 8:47 PM
markj closed D30611: ngatm: Handle errors from uni_msg_extend().
Sun, Jun 6, 8:47 PM
markj committed R10:4e4035ef1fb5: arm64: Fix pmap_copy()'s handling of 2MB mappings (authored by markj).
arm64: Fix pmap_copy()'s handling of 2MB mappings
Sun, Jun 6, 8:47 PM
markj closed D30645: riscv: Rename pmap_fault_fixup() to pmap_fault().
Sun, Jun 6, 8:47 PM
markj closed D30644: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2().
Sun, Jun 6, 8:47 PM
markj closed D30642: arm64: Use the right PTE when downgrading perms in pmap_promote_l2().
Sun, Jun 6, 8:47 PM
markj committed R10:a48f51b3d396: arm64: Use the right PTE when downgrading perms in pmap_promote_l2() (authored by markj).
arm64: Use the right PTE when downgrading perms in pmap_promote_l2()
Sun, Jun 6, 8:46 PM
markj committed R10:1ea87e2a70c3: stand: Fix __elfN(loadimage) return value (authored by markj).
stand: Fix __elfN(loadimage) return value
Sun, Jun 6, 8:46 PM
markj closed D30649: Suppress D_NEEDGIANT warnings for some drivers.
Sun, Jun 6, 8:46 PM
markj committed R10:fbeb4ccac990: Suppress D_NEEDGIANT warnings for some drivers (authored by markj).
Suppress D_NEEDGIANT warnings for some drivers
Sun, Jun 6, 8:46 PM
markj added a comment to D30644: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2().

Can we also commit the test program from https://reviews.freebsd.org/D30550?

Sun, Jun 6, 4:26 PM
markj updated the diff for D30642: arm64: Use the right PTE when downgrading perms in pmap_promote_l2().

Add comments to pmap_promote_l2() noting that we do not invalidate the TLB.

Sun, Jun 6, 4:24 PM
markj updated the diff for D30643: arm64: Fix pmap_copy()'s handling of 2MB mappings.

Preserve AF, DBM and RW flags when copying 2MB pages.

Sun, Jun 6, 4:24 PM
markj added a comment to D30643: arm64: Fix pmap_copy()'s handling of 2MB mappings.
In D30643#688707, @alc wrote:

You wrote, "Modify pmap_copy() to make new 2MB mappings read-only, like we do on amd64. I am not sure though why we shouldn't simply copy the dirty bit over to the child."

I'm confused. :-) I'm looking at the amd64 source code right now, and for 2MB page mappings it copies PG_A and PG_M. Moreover, it copies PG_RW. However, for 4KB page mappings, it does clear PG_A and PG_M. In other words, we don't handle different page sizes uniformly.

Sun, Jun 6, 4:22 PM

Fri, Jun 4

markj added a comment to D30310: hyperv: register intr handler as usermode-mapped if loaded as module..

@whu ping. Do you plan to review this?

Fri, Jun 4, 10:44 PM
markj added a comment to D30649: Suppress D_NEEDGIANT warnings for some drivers.
In D30649#688475, @jhb wrote:

Not sure if there any others for which suppressing the warning makes sense.

Fri, Jun 4, 10:21 PM
markj added a reviewer for D30649: Suppress D_NEEDGIANT warnings for some drivers: imp.
Fri, Jun 4, 10:13 PM
markj requested review of D30649: Suppress D_NEEDGIANT warnings for some drivers.
Fri, Jun 4, 10:12 PM
markj updated the diff for D30644: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2().

Try to better explain why it's ok to defer sfence.vma in pmap_promote_l2().

Fri, Jun 4, 10:10 PM
markj added inline comments to D30644: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2().
Fri, Jun 4, 10:03 PM
markj added a comment to D30643: arm64: Fix pmap_copy()'s handling of 2MB mappings.
In D30643#688425, @kib wrote:

Don't we mark the copied mapping as clean to avoid unnecessary writes? Suppose that the source mapping is destroyed, and backing pages are marked dirty and written to the storage. Now, if the copied mapping is destroyed without ever being written to, we would re-dirty and write them again.

Fri, Jun 4, 8:42 PM
markj added a comment to D30642: arm64: Use the right PTE when downgrading perms in pmap_promote_l2().

BTW, I did some buildkernel tests on a graviton instance and found no change in the number of promotions during a buildkernel. I can't think of any non-synthetic workloads that are likely to be affected in light of the fact that arm64 implements pmap_enter(psind=1), so faults on a shared mapping skip the promotion step, assuming that some entity triggered the initial promotion through writes.

Fri, Jun 4, 7:33 PM
markj updated the diff for D30644: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2().

Add a comment explaining why we downgrade protections and why we don't
execute sfence.vma.

Fri, Jun 4, 7:27 PM
markj added a comment to D30644: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2().

I agree with your assessment about not needing sfence.vma, but that's probably worth a comment in the source.

Fri, Jun 4, 7:14 PM
markj added a comment to D30645: riscv: Rename pmap_fault_fixup() to pmap_fault().

I guess it got copied from arm's pmap-v4 (you can still find references that function for it in the tree)?

Fri, Jun 4, 6:55 PM
markj added a comment to D30550: RISC-V pmap: remove incorrect assertions in pmap_demote_l2_locked.

Thanks to @markj for the explanation; this is an incorrect fix.

Fri, Jun 4, 6:25 PM · riscv
markj added reviewers for D30644: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2(): alc, kib, riscv.
Fri, Jun 4, 6:23 PM
markj added a reviewer for D30645: riscv: Rename pmap_fault_fixup() to pmap_fault(): riscv.
Fri, Jun 4, 6:23 PM
markj added reviewers for D30643: arm64: Fix pmap_copy()'s handling of 2MB mappings: alc, kib, arm64.
Fri, Jun 4, 6:23 PM
markj added a reviewer for D30642: arm64: Use the right PTE when downgrading perms in pmap_promote_l2(): arm64.
Fri, Jun 4, 6:23 PM
markj requested review of D30645: riscv: Rename pmap_fault_fixup() to pmap_fault().
Fri, Jun 4, 6:23 PM
markj requested review of D30644: riscv: Handle hardware-managed dirty bit updates in pmap_promote_l2().
Fri, Jun 4, 6:23 PM
markj requested review of D30643: arm64: Fix pmap_copy()'s handling of 2MB mappings.
Fri, Jun 4, 6:22 PM
markj requested review of D30642: arm64: Use the right PTE when downgrading perms in pmap_promote_l2().
Fri, Jun 4, 6:20 PM
markj accepted D30632: racct: Remove factor in pcpu estimate.

I would suggest noting in the description/commit log message that this estimate is used only for short-lived processes.

Fri, Jun 4, 1:02 PM
markj committed R10:75683ed20b70: Fix handling of errors from pru_send(PRUS_NOTREADY) (authored by markj).
Fix handling of errors from pru_send(PRUS_NOTREADY)
Fri, Jun 4, 1:10 AM
markj committed R10:0f05c6f3a527: tcp: Make error handling in tcp_usr_send() more consistent (authored by markj).
tcp: Make error handling in tcp_usr_send() more consistent
Fri, Jun 4, 1:10 AM