Page MenuHomeFreeBSD

mhorne (Mitchell Horne)
User

Projects

User Details

User Since
Mar 22 2019, 4:46 AM (295 w, 6 d)

Recent Activity

Mon, Nov 18

mhorne committed rG10343013a4da: manuals: Fix some .Bl -tag lists (authored by gperciva_tarsnap.com).
manuals: Fix some .Bl -tag lists
Mon, Nov 18, 5:32 PM
mhorne accepted D47646: busdma: Avoid an M_NOWAIT allocation in alloc_bounce_zone().
Mon, Nov 18, 3:22 PM
mhorne accepted D47627: riscv: Add implementations of atomic_testand(set|clear)_(32|64|long).
Mon, Nov 18, 3:14 PM

Sat, Nov 16

mhorne committed rG4b4e88d9425b: aw_wdog: disable timer on attach (authored by mhorne).
aw_wdog: disable timer on attach
Sat, Nov 16, 7:56 PM
mhorne closed D47517: aw_wdog: disable timer on attach.
Sat, Nov 16, 7:56 PM
mhorne committed rGc5c02a131a0e: riscv: Allwinner D1 clock and reset driver (authored by julien.cassette_gmail.com).
riscv: Allwinner D1 clock and reset driver
Sat, Nov 16, 7:05 PM
mhorne committed rG184d0b3fe348: aw_syscon: enable for Allwinner D1 (riscv) (authored by mhorne).
aw_syscon: enable for Allwinner D1 (riscv)
Sat, Nov 16, 7:05 PM
mhorne committed rG9ddd516b8862: riscv: enable allwinner RTC (authored by mhorne).
riscv: enable allwinner RTC
Sat, Nov 16, 7:05 PM
mhorne closed D47515: riscv: Allwinner D1 clock and reset driver.
Sat, Nov 16, 7:05 PM
mhorne closed D47516: aw_syscon: enable for Allwinner D1 (riscv).
Sat, Nov 16, 7:04 PM
mhorne closed D47514: riscv: enable allwinner RTC.
Sat, Nov 16, 7:04 PM

Fri, Nov 15

mhorne updated the diff for D47455: riscv: add custom T-HEAD dcache ops.

Better use of t0 register.

Fri, Nov 15, 5:19 PM
mhorne accepted D47521: busdma: Avoid leaking bounce pages when destroy DMA tags.
Fri, Nov 15, 5:11 PM

Thu, Nov 14

mhorne committed rG3ef9e138dd8b: lock.1: align options + tag spdx (authored by concussious.bugzilla_runbox.com).
lock.1: align options + tag spdx
Thu, Nov 14, 9:01 PM
mhorne committed rGe413da135819: manuals: fix "PP after SS | SH" warnings (authored by gperciva_tarsnap.com).
manuals: fix "PP after SS | SH" warnings
Thu, Nov 14, 9:01 PM
mhorne committed rGbc919e81e0b7: man: Misc syntax fixes (authored by gperciva_tarsnap.com).
man: Misc syntax fixes
Thu, Nov 14, 9:00 PM
mhorne added a comment to D47521: busdma: Avoid leaking bounce pages when destroy DMA tags.

Thanks for handling this one. I had looked at it previously, and the one thing I was uncertain about was the interaction with busdma_thread()/deferred loads. It appears to me there is one unlocked reference to bz->deferred_time which could race with bus_dmamap_destroy(), although it would be exceedingly rare. Can you comment on this?

I think this race is not new with this patch. That loop can also race with bus_dmamap_destroy() and bus_dma_tag_destroy().

More generally, I believe it's only a problem if consumers misuse the busdma interface. A map gets added to the bounce zone's bounce_map_waitinglist when a bus_dmamap_load() fails to reserve enough bounce pages (presumably because another consumer is using them), and BUS_DMA_WAITOK was specified. Later, when a bus_dmamap_unload() call releases some bounce pages owned by the same zone, the busdma layer can try again to reserve pages; this happens in the busdma thread so that the callback is executed in a safe context.

To trigger the race, a consumer would have to call bus_dmamap_load(callback, BUS_DMA_WAITOK), get EINPROGRESS, and then destroy the map and tag (releasing the last reference on the bounce zone) before the callback is invoked. I'd argue that it's the consumer's responsibility to make sure that this doesn't happen, though the documentation doesn't explicitly state this. If so, I believe there is no bug here.

Thu, Nov 14, 2:03 PM
mhorne closed D47272: HW Relnotes: Enable Table of Contents Subsections.
Thu, Nov 14, 2:01 PM · releng, docs
mhorne committed R9:2bd11b66cbae: HW Relnotes: Enable Table of Contents Subsections (authored by concussious.bugzilla_runbox.com).
HW Relnotes: Enable Table of Contents Subsections
Thu, Nov 14, 2:01 PM

Wed, Nov 13

mhorne updated the diff for D47515: riscv: Allwinner D1 clock and reset driver.

Add clocks for CLK_RISCV, CLK_RISCV_AXI.

Wed, Nov 13, 6:01 PM
mhorne committed rG2c6edd6dc94e: ice(4): properly use kernel option RSS (authored by Brian Poole <brian90013@gmail.com>).
ice(4): properly use kernel option RSS
Wed, Nov 13, 3:50 PM
mhorne committed rG23173329b096: ice(4): properly use kernel option RSS (authored by Brian Poole <brian90013@gmail.com>).
ice(4): properly use kernel option RSS
Wed, Nov 13, 3:48 PM
mhorne accepted D47272: HW Relnotes: Enable Table of Contents Subsections.

This is indeed an improvement. On its own the change is non-controversial, so if @bofh does not reply today I will just commit it.

Wed, Nov 13, 3:43 PM · releng, docs

Tue, Nov 12

mhorne accepted D47521: busdma: Avoid leaking bounce pages when destroy DMA tags.

Thanks for handling this one. I had looked at it previously, and the one thing I was uncertain about was the interaction with busdma_thread()/deferred loads. It appears to me there is one unlocked reference to bz->deferred_time which could race with bus_dmamap_destroy(), although it would be exceedingly rare. Can you comment on this?

Tue, Nov 12, 5:08 PM

Mon, Nov 11

mhorne added a reviewer for D47516: aw_syscon: enable for Allwinner D1 (riscv): kevans.
Mon, Nov 11, 5:29 PM
mhorne added a comment to D47514: riscv: enable allwinner RTC.

@manu This is the first of several changes enabling Allwinner drivers on the riscv platform (probably not all coming today). It suggests that we might move these sources to a more common place (out of arm subdir), but I do not really see any reason this must happen first.

Mon, Nov 11, 5:28 PM
mhorne requested review of D47517: aw_wdog: disable timer on attach.
Mon, Nov 11, 5:25 PM
mhorne requested review of D47516: aw_syscon: enable for Allwinner D1 (riscv).
Mon, Nov 11, 5:25 PM
mhorne abandoned D35221: riscv: support Allwinner D1 clock controllers.

Updated and split into separate reviews: D47514, D47515.

Mon, Nov 11, 5:23 PM
mhorne requested review of D47515: riscv: Allwinner D1 clock and reset driver.
Mon, Nov 11, 5:23 PM
mhorne commandeered D35221: riscv: support Allwinner D1 clock controllers.
Mon, Nov 11, 5:22 PM
mhorne requested review of D47514: riscv: enable allwinner RTC.
Mon, Nov 11, 5:19 PM
mhorne abandoned D34748: riscv: add Allwinner D1 device tree.

Closing this, as the DTS sources are now present in the tree, imported from Linux.

Mon, Nov 11, 5:16 PM
mhorne commandeered D34748: riscv: add Allwinner D1 device tree.
Mon, Nov 11, 5:15 PM
mhorne updated the diff for D47455: riscv: add custom T-HEAD dcache ops.

Don't rely on new compiler features for the THEAD custom instructions. Instead, specify the raw bytes.

Mon, Nov 11, 4:32 PM

Wed, Nov 6

mhorne retitled D47457: locore.S: stash boot arguments in saved registers from locore.S: prepare for C function calls earlier to locore.S: stash boot arguments in saved registers.
Wed, Nov 6, 3:52 PM
mhorne updated the diff for D47457: locore.S: stash boot arguments in saved registers.

Reduce the change, just switch to using s3/s4 registers, still needed to
preserve the values across SBI calls.

Wed, Nov 6, 3:51 PM
mhorne abandoned D47456: sbi: export machine register accessors.

No longer needed.

Wed, Nov 6, 3:49 PM
mhorne updated the diff for D47458: riscv: T-HEAD early locore workaround.

Redo the workaround in assembly.

Wed, Nov 6, 3:48 PM

Tue, Nov 5

mhorne added a comment to D47458: riscv: T-HEAD early locore workaround.

Running C code without translation enabled is fragile and could break at any time, since it's not running at right address. You're relying on PC-relative addressing being used for everything (i.e. not absolute and not GOT-indirect), which happens to be true today with -mcmodel=medany for this code and all it uses, but there's no guarantee of that. This should really be in assembly (which shouldn't be hard to do, given sbi_get_mvendorid is just a wrapper around ecall?).

Tue, Nov 5, 8:55 PM
mhorne updated the test plan for D47458: riscv: T-HEAD early locore workaround.
Tue, Nov 5, 8:46 PM
mhorne added inline comments to D45472: riscv: T-HEAD PBMT support.
Tue, Nov 5, 8:45 PM
mhorne retitled D45472: riscv: T-HEAD PBMT support from [DRAFT/RFC] riscv: T-HEAD PBMT support to riscv: T-HEAD PBMT support.
Tue, Nov 5, 8:44 PM
mhorne updated the diff for D45472: riscv: T-HEAD PBMT support.

Regenerate now that the series is more complete.

Tue, Nov 5, 8:43 PM
mhorne requested review of D47458: riscv: T-HEAD early locore workaround.
Tue, Nov 5, 8:42 PM
mhorne requested review of D47457: locore.S: stash boot arguments in saved registers.
Tue, Nov 5, 8:42 PM
mhorne requested review of D47456: sbi: export machine register accessors.
Tue, Nov 5, 8:42 PM
mhorne requested review of D47455: riscv: add custom T-HEAD dcache ops.
Tue, Nov 5, 8:41 PM
mhorne requested review of D47454: riscv: dcache flush hooks.
Tue, Nov 5, 8:41 PM

Mon, Nov 4

mhorne committed rGe40097e01a08: manuals: Fix some "missing section argument" (authored by gperciva_tarsnap.com).
manuals: Fix some "missing section argument"
Mon, Nov 4, 4:18 PM
mhorne committed rG666d4c2bbdb2: manuals: Misc syntax fixes (authored by gperciva_tarsnap.com).
manuals: Misc syntax fixes
Mon, Nov 4, 4:18 PM
mhorne committed rG260a43241737: manuals: Misc syntax fixes (authored by gperciva_tarsnap.com).
manuals: Misc syntax fixes
Mon, Nov 4, 4:17 PM
mhorne committed rGcdffbea57c0d: manuals: Fix dates (authored by gperciva_tarsnap.com).
manuals: Fix dates
Mon, Nov 4, 4:17 PM
mhorne committed rGddf4df54a7d3: manuals: Fix "unusual .Xr" warnings with a script (authored by gperciva_tarsnap.com).
manuals: Fix "unusual .Xr" warnings with a script
Mon, Nov 4, 4:17 PM
mhorne committed rG3dedfaa01a9c: mitigations.7: minor cleanup (linter errors) (authored by concussious.bugzilla_runbox.com).
mitigations.7: minor cleanup (linter errors)
Mon, Nov 4, 4:17 PM
mhorne committed rG64e8a9679ead: mitigations.7: markup functions with Fn macro (authored by concussious.bugzilla_runbox.com).
mitigations.7: markup functions with Fn macro
Mon, Nov 4, 4:17 PM
mhorne committed rG6a65bb7ed867: manuals: Fix "missing end of block" errors (authored by gperciva_tarsnap.com).
manuals: Fix "missing end of block" errors
Mon, Nov 4, 4:17 PM
mhorne committed rG6136631124c0: manuals: Fix "skipping end of block" .El errors (authored by gperciva_tarsnap.com).
manuals: Fix "skipping end of block" .El errors
Mon, Nov 4, 4:17 PM
mhorne committed rGc0bd4ec70b19: manuals: Fix "missing end of block" errors (authored by gperciva_tarsnap.com).
manuals: Fix "missing end of block" errors
Mon, Nov 4, 4:17 PM
mhorne committed rGba036fce2573: thr_kill(2): fix title (authored by mhorne).
thr_kill(2): fix title
Mon, Nov 4, 4:17 PM
mhorne committed rG7965dbfd5b70: wpa_supplicant: xref relevant wpa_passphrase(8) (authored by concussious.bugzilla_runbox.com).
wpa_supplicant: xref relevant wpa_passphrase(8)
Mon, Nov 4, 3:58 PM
mhorne committed rGbabcb8291085: manpath.1: align lists + tag spdx (authored by concussious.bugzilla_runbox.com).
manpath.1: align lists + tag spdx
Mon, Nov 4, 3:58 PM
mhorne committed rG64e531624f2a: vmem.9: align lists + tag spdx (authored by concussious.bugzilla_runbox.com).
vmem.9: align lists + tag spdx
Mon, Nov 4, 3:58 PM
mhorne committed rG62cb0f713779: manuals: Fix syntax of list width (authored by gperciva_tarsnap.com).
manuals: Fix syntax of list width
Mon, Nov 4, 3:58 PM
mhorne committed rG7624e1572614: manuals: Misc syntax fixes (authored by gperciva_tarsnap.com).
manuals: Misc syntax fixes
Mon, Nov 4, 3:58 PM
mhorne committed rG3a75b41bd93b: manuals: Misc syntax fixes (authored by gperciva_tarsnap.com).
manuals: Misc syntax fixes
Mon, Nov 4, 3:58 PM
mhorne committed rGe2830c5d3545: manuals: Fix "skipping end of block" .Ed errors (authored by gperciva_tarsnap.com).
manuals: Fix "skipping end of block" .Ed errors
Mon, Nov 4, 3:58 PM
mhorne committed rG7d7c17b7f638: manuals: Fix typos in -offset for .Bd and .Bl (authored by gperciva_tarsnap.com).
manuals: Fix typos in -offset for .Bd and .Bl
Mon, Nov 4, 3:58 PM
mhorne committed rG34b80cbdafc8: service(8): direct user to rc(8) for a list of valid commands (authored by lexi_le-fay.org).
service(8): direct user to rc(8) for a list of valid commands
Mon, Nov 4, 3:58 PM
mhorne committed rG055d2819bbbc: stats.3: Fix "skipping end of block" syntax errors (authored by gperciva_tarsnap.com).
stats.3: Fix "skipping end of block" syntax errors
Mon, Nov 4, 3:58 PM
mhorne committed rG5b9e1a3ac18a: ipf.5: revert C style(9) applied to man page (authored by gperciva_tarsnap.com).
ipf.5: revert C style(9) applied to man page
Mon, Nov 4, 3:58 PM
mhorne committed rGfcfb9a7a0333: valectl(8): explicitly mention network switches (authored by Tom Hukins <tom@FreeBSD.org>).
valectl(8): explicitly mention network switches
Mon, Nov 4, 3:57 PM
mhorne committed rG3ee3a5a7681f: vale(4): refer to the valectl(8) management tool (authored by Tom Hukins <tom@FreeBSD.org>).
vale(4): refer to the valectl(8) management tool
Mon, Nov 4, 3:57 PM
mhorne committed rG3609e56813b4: manuals: Fix errors in .2 pages (authored by gperciva_tarsnap.com).
manuals: Fix errors in .2 pages
Mon, Nov 4, 3:57 PM
mhorne committed rGc7c3ef894902: manuals: Remove trailing spaces (authored by gperciva_tarsnap.com).
manuals: Remove trailing spaces
Mon, Nov 4, 3:27 PM
mhorne committed rG6e5650896fe4: ice(4): properly use kernel option RSS (authored by Brian Poole <brian90013@gmail.com>).
ice(4): properly use kernel option RSS
Mon, Nov 4, 3:02 PM

Thu, Oct 31

mhorne accepted D46914: crsetgroups(): Improve and factor out groups normalization.
Thu, Oct 31, 1:27 PM

Wed, Oct 30

mhorne added inline comments to D46914: crsetgroups(): Improve and factor out groups normalization.
Wed, Oct 30, 8:05 PM
mhorne added a comment to D46917: cred: New crsetgroups_empty_fallback().

I did not try to read all of the discussion in D46918.

Wed, Oct 30, 7:59 PM
mhorne requested changes to D47343: cred: Constify signature of groupmember() and realgroupmember().

Please update the signatures in the groupmember(9) man page.

Wed, Oct 30, 6:39 PM
mhorne committed rG47ca5d103f22: plic: handling for interrupt-cells == 2 (authored by mhorne).
plic: handling for interrupt-cells == 2
Wed, Oct 30, 6:22 PM
mhorne committed rGd584228930a1: plic, aplic: handle all pending interrupts for hart (authored by mhorne).
plic, aplic: handle all pending interrupts for hart
Wed, Oct 30, 6:21 PM
mhorne committed rG5050fdb6b60e: plic: tweak macro argument names (authored by mhorne).
plic: tweak macro argument names
Wed, Oct 30, 6:21 PM
mhorne closed D47135: plic: handling for interrupt-cells == 2.
Wed, Oct 30, 6:21 PM
mhorne closed D47134: plic, aplic: handle all pending interrupts for hart.
Wed, Oct 30, 6:21 PM
mhorne closed D47133: plic: tweak macro argument names.
Wed, Oct 30, 6:21 PM

Tue, Oct 29

mhorne added a comment to D46916: cred: 'struct ucred': Move 'cr_ngroups' out of the bcopied area.

It seems okay (correct). I am not convinced the ABI break is really warranted. This seems more like a blemish in the existing the code than a true problem that needs fixing.

Yeah, it's a code blemish. We could lift it by not changing the ABI at the price of complicating the generic field copying code, or simply live with it (i.e., have cr_ngroups assigned to twice, possibly elided by the compiler in the produced machine code).

However, is changing the ABI really a problem, as the changed header will trigger recompilation of outside kernel modules and applications (provided they have a decent toolchain)? We don't provide any guarantee that some module built for a given version of -CURRENT works on a later version, at least once __FreeBSD_version has been bumped, do we? Additionally, AFAIK, applications are not even supposed to use struct ucred structures directly but rather grab them through, e.g., sysctl() or some apps/libs in the base system.

Tue, Oct 29, 6:22 PM
mhorne added a comment to D46916: cred: 'struct ucred': Move 'cr_ngroups' out of the bcopied area.

It seems okay (correct). I am not convinced the ABI break is really warranted. This seems more like a blemish in the existing the code than a true problem that needs fixing.

Tue, Oct 29, 3:17 PM
mhorne accepted D46915: cred: crextend(): Harden, simplify.
Tue, Oct 29, 3:01 PM
mhorne added a comment to D46914: crsetgroups(): Improve and factor out groups normalization.

LGTM with some small comments.

Tue, Oct 29, 2:54 PM

Mon, Oct 28

mhorne accepted D46908: cred: Make group_is_supplementary() public; New group_is_primary().
Mon, Oct 28, 5:35 PM
mhorne accepted D46913: cred: 'kern.ngroups' tunable: Limit it to avoid internal overflows.

You are too kind to the foot-shooters ;)

Mon, Oct 28, 5:33 PM
mhorne accepted D46912: cred: kern_setgroups(): Internally use int as number of groups' type.
Mon, Oct 28, 5:30 PM
mhorne accepted D46911: cred: Separate constant for the number of inlined groups.

Seems good. This is just a correctness change, yes? As in, CRED_SMALLGROUPS_NB is not touched by any later change in the series?

Mon, Oct 28, 5:17 PM
mhorne committed rGb74aaa1a2199: manuals: Fix dates (authored by gperciva_tarsnap.com).
manuals: Fix dates
Mon, Oct 28, 3:27 PM
mhorne committed rG759ddb4d246f: manuals: Misc syntax fixes (authored by gperciva_tarsnap.com).
manuals: Misc syntax fixes
Mon, Oct 28, 3:27 PM
mhorne accepted D47264: rc: Remove rc_fast_and_loose.
Mon, Oct 28, 1:43 PM · rc
mhorne added a comment to D47279: intrng: address post-commit review feedback.

This well is thoroughly poisoned; time to stop drinking.

Mon, Oct 28, 1:41 PM

Wed, Oct 23

mhorne accepted D47264: rc: Remove rc_fast_and_loose.
Wed, Oct 23, 5:03 PM · rc
mhorne accepted D47228: Release Notes: Hardware Compat: wi(4) hasn't existed since FreeBSD 12.

a21def4d568fd was the commit removing this driver. AFAICT it did not actually get listed in the release notes.

Wed, Oct 23, 3:31 PM · wireless, docs, releng