Page MenuHomeFreeBSD

mhorne (Mitchell Horne)
User

Projects

User Details

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

Recent Activity

Tue, Oct 13

mhorne committed rG2272fac218a8: hwpmc: Add support for AMD-only IRPERF in hwpmc PERF class (authored by anascime_amd.com).
hwpmc: Add support for AMD-only IRPERF in hwpmc PERF class
Tue, Oct 13, 1:23 PM
mhorne closed D59554: hwpmc: Add support for AMD-only IRPERF in hwpmc PERF class.
Tue, Oct 13, 1:22 PM
mhorne accepted D59554: hwpmc: Add support for AMD-only IRPERF in hwpmc PERF class.
Tue, Oct 13, 1:16 PM
mhorne committed rG5c1e4dffc67f: hwpmc_amd: fix INVARIANTS build (authored by mhorne).
hwpmc_amd: fix INVARIANTS build
Tue, Oct 13, 12:53 PM

Thu, Oct 8

mhorne committed rGca9c5718017f: libpmc: fix the family check for the AMD DF event encoding (authored by ojanerif_amd.com).
libpmc: fix the family check for the AMD DF event encoding
Thu, Oct 8, 2:59 PM
mhorne committed rG911fcebfc7f1: hwpmc: return errors from PMC_OP_PMCGETMSR (authored by ojanerif_amd.com).
hwpmc: return errors from PMC_OP_PMCGETMSR
Thu, Oct 8, 2:59 PM

Wed, Oct 7

mhorne added a comment to D60132: WIP: riscv: Implement per-thread kernel stack canaries.

You can add options EARLY_PRINTF=sbi to get earlier debugging output.

Wed, Oct 7, 5:25 PM
mhorne added a comment to D37981: ddb: have 'reset' command use normal reboot path.
In D37981#1374782, @jhb wrote:

I tripped over this again today when I had a panic in the callout code while holding the CC_LOCK spin mutex. First regression is that I can't get a dump in this case because the watchdog code now does too much work when called from the dump routines and tries to always invoke callout_* which does a nested panic. But now with this change, reset from DDB doesn't work either. What "saves" me in bhyve is that the recursive panics from reset eventually exhaust the stack resulting in a double fault (and I guess a triple fault?) that lets bhyve exit. I definitely would have expected reset to be a lighter-weight path that is more likely to work in tight spots than reboot, so I would prefer if reset was the /s path.

Wed, Oct 7, 5:22 PM
mhorne requested review of D60445: ddb: rework 'reboot' and 'reset' command behaviour.
Wed, Oct 7, 5:21 PM
mhorne committed rGaa5fa178db14: jh7110_temp: CPU temperature sensor for JH7110 (authored by bscott_bunyatech.com.au).
jh7110_temp: CPU temperature sensor for JH7110
Wed, Oct 7, 4:57 PM
mhorne committed rG3663cce63df9: eqos: Reduce RX error noisiness (authored by bscott_bunyatech.com.au).
eqos: Reduce RX error noisiness
Wed, Oct 7, 4:57 PM
mhorne committed rG5006f0cc49ac: jh7110_gpio: fdt_pinctrl interface (authored by mhorne).
jh7110_gpio: fdt_pinctrl interface
Wed, Oct 7, 4:57 PM
mhorne committed rGa0c0f12c1bbc: jh7110_gpio: handle preset high/low (authored by mhorne).
jh7110_gpio: handle preset high/low
Wed, Oct 7, 4:57 PM
mhorne committed rG466aa18c3793: riscv: enable gpiopower driver (authored by mhorne).
riscv: enable gpiopower driver
Wed, Oct 7, 4:57 PM
mhorne added inline comments to D60278: riscv: Enable linker relaxation with lld 15 and later.
Wed, Oct 7, 4:16 PM · riscv
mhorne accepted D59554: hwpmc: Add support for AMD-only IRPERF in hwpmc PERF class.

PMC class changes LGTM.

Wed, Oct 7, 4:13 PM

Tue, Oct 6

mhorne committed rG572cd669d699: hwpmc: handle delayed IBS NMIs on Zen 6 (authored by afscoelho_gmail.com).
hwpmc: handle delayed IBS NMIs on Zen 6
Tue, Oct 6, 6:54 PM
mhorne closed D60367: hwpmc: handle delayed IBS NMIs on Zen 6.
Tue, Oct 6, 6:54 PM
mhorne committed rG3e8ce3834ad5: pmc.h: bump PMC_VERSION_MINOR (authored by mhorne).
pmc.h: bump PMC_VERSION_MINOR
Tue, Oct 6, 6:49 PM
mhorne committed rG1cc380dbe814: libpmc: Query hwpmc for caps (authored by Ali Mashtizadeh <mashti@uwaterloo.ca>).
libpmc: Query hwpmc for caps
Tue, Oct 6, 6:49 PM
mhorne committed rG04aa36c01c68: pmc.h: bump PMC_VERSION_MINOR (authored by mhorne).
pmc.h: bump PMC_VERSION_MINOR
Tue, Oct 6, 6:44 PM
mhorne committed rG7c5caf70b6e9: libpmc: Query hwpmc for caps (authored by Ali Mashtizadeh <mashti@uwaterloo.ca>).
libpmc: Query hwpmc for caps
Tue, Oct 6, 6:44 PM
mhorne accepted D60367: hwpmc: handle delayed IBS NMIs on Zen 6.

Thanks!

Tue, Oct 6, 6:42 PM
mhorne accepted D60209: riscv: support new "riscv,isa-extensions" string-array.
Tue, Oct 6, 6:25 PM

Mon, Oct 5

mhorne added a reviewer for D60072: riscv/pmap.c: Don't pass hartid map to 'smp_rendezvous_cpus': br.

I suspect that using pm_active to store hart IDs instead of CPU IDs is too clever and will cause more problems down the road. We should instead store CPU IDs there and make the SBI routines handle translation to hart IDs.

Mon, Oct 5, 8:17 PM
mhorne accepted D60367: hwpmc: handle delayed IBS NMIs on Zen 6.

LGTM, with one question.

Mon, Oct 5, 8:04 PM
mhorne added a comment to D60367: hwpmc: handle delayed IBS NMIs on Zen 6.

Needs rebase on top of D60004? (merged)

Mon, Oct 5, 4:35 PM

Sun, Oct 4

mhorne added inline comments to D60278: riscv: Enable linker relaxation with lld 15 and later.
Sun, Oct 4, 2:28 PM · riscv

Fri, Oct 2

mhorne added a comment to D60187: hwpmc: load a started PMC on threads that already run.

This one requires a bit more study on my part...

Fri, Oct 2, 2:39 PM
mhorne accepted D60209: riscv: support new "riscv,isa-extensions" string-array.

Thanks! I have a half-baked implementation of this and I encountered the same issue with OFW interface. There are useful functions implemented by libfdt which we cannot use, e.g. fdt_stringlist_get(). I wondered about what a change to the OFW interface would look like to accommodate something like this...

Fri, Oct 2, 2:07 PM
mhorne committed rG4b267d4e4f6a: hwpmc: fix stopping process PMCs on exit with PerfMonV2 (authored by afscoelho_gmail.com).
hwpmc: fix stopping process PMCs on exit with PerfMonV2
Fri, Oct 2, 1:59 PM
mhorne committed rGc97cea955f90: hwpmc: count each AMD PMC interrupt once (authored by afscoelho_gmail.com).
hwpmc: count each AMD PMC interrupt once
Fri, Oct 2, 1:59 PM
mhorne closed D60185: hwpmc: count each AMD PMC interrupt once.
Fri, Oct 2, 1:59 PM
mhorne closed D60141: hwpmc: stop process PMCs on exit with PerfMonV2.
Fri, Oct 2, 1:59 PM

Thu, Oct 1

mhorne accepted D60141: hwpmc: stop process PMCs on exit with PerfMonV2.

LGTM! Please update the change description and I can merge later today.

Thu, Oct 1, 1:11 PM
mhorne accepted D60185: hwpmc: count each AMD PMC interrupt once.
Thu, Oct 1, 12:57 PM

Wed, Sep 30

mhorne committed rG0fc4ef160550: jh7110_gpio: fdt_pinctrl interface (authored by mhorne).
jh7110_gpio: fdt_pinctrl interface
Wed, Sep 30, 7:29 PM
mhorne committed rG6f9d0f02e72c: jh7110_gpio: handle preset high/low (authored by mhorne).
jh7110_gpio: handle preset high/low
Wed, Sep 30, 7:29 PM
mhorne closed D59992: jh7110_gpio: fdt_pinctrl interface.
Wed, Sep 30, 7:28 PM
mhorne closed D59991: jh7110_gpio: handle preset high/low.
Wed, Sep 30, 7:28 PM
mhorne added a comment to D59992: jh7110_gpio: fdt_pinctrl interface.

The code looks good and I've had it running in final form for a few days, and a few few weeks in a similar version.
Haven't really exercised the pinctrl function itself because it's very hard to know if it is doing the right thing without a shed load of diagnostics.
I can confirm that it doesn't seem to impact any existing GPIO functions from both userspace and other kernel drivers.

Wed, Sep 30, 7:20 PM
mhorne added a comment to D60141: hwpmc: stop process PMCs on exit with PerfMonV2.

My question is: why does pmc_process_csw_stop_all() mess with the pps_cpustate fields in the first place? Why not leave it to this code, whose purpose is to handle this?

Wed, Sep 30, 5:58 PM

Tue, Sep 29

mhorne planned changes to D60101: hwpmc_amd: split allocation paths.

Needs rebase + refinement.

Tue, Sep 29, 1:49 PM

Mon, Sep 28

mhorne committed rG9d3064010590: hwpmc_amd: add PerfMonV2 global-control path (authored by afscoelho_gmail.com).
hwpmc_amd: add PerfMonV2 global-control path
Mon, Sep 28, 7:24 PM
mhorne closed D58256: hwpmc/amd: add PerfMonV2 global-control path.
Mon, Sep 28, 7:24 PM
mhorne updated the diff for D60100: hwpmc_amd: rename away from K8.

Include some missed items.

Mon, Sep 28, 6:50 PM
mhorne updated the test plan for D60100: hwpmc_amd: rename away from K8.
Mon, Sep 28, 6:34 PM
mhorne added a comment to D58256: hwpmc/amd: add PerfMonV2 global-control path.

I do not feel able to review this, but I will merge today if I can.

Mon, Sep 28, 6:13 PM
mhorne added a reviewer for D60101: hwpmc_amd: split allocation paths: olivier.
Mon, Sep 28, 6:10 PM
mhorne added a reviewer for D60102: pmc: differentiate AMD Zen and legacy CPUs: olivier.
Mon, Sep 28, 6:10 PM
mhorne requested review of D60102: pmc: differentiate AMD Zen and legacy CPUs.
Mon, Sep 28, 6:09 PM
mhorne requested review of D60101: hwpmc_amd: split allocation paths.
Mon, Sep 28, 6:09 PM
mhorne requested review of D60100: hwpmc_amd: rename away from K8.
Mon, Sep 28, 6:09 PM
mhorne committed rG34b00ed041a4: hwpmc: fix IBS fetch and op NMI handling (authored by afscoelho_gmail.com).
hwpmc: fix IBS fetch and op NMI handling
Mon, Sep 28, 5:44 PM
mhorne closed D60004: hwpmc: fix IBS fetch and op.
Mon, Sep 28, 5:44 PM
mhorne accepted D60004: hwpmc: fix IBS fetch and op.
Mon, Sep 28, 5:40 PM

Fri, Sep 25

mhorne added a comment to D60004: hwpmc: fix IBS fetch and op.

Sure. I admit that I do not see why this is advantageous one way or the other. In either case two NMIs must be processed, no?

Fri, Sep 25, 2:28 PM

Thu, Sep 24

mhorne updated the test plan for D59992: jh7110_gpio: fdt_pinctrl interface.
Thu, Sep 24, 7:02 PM
mhorne requested review of D59992: jh7110_gpio: fdt_pinctrl interface.
Thu, Sep 24, 4:35 PM
mhorne requested review of D59991: jh7110_gpio: handle preset high/low.
Thu, Sep 24, 4:35 PM
mhorne accepted D59695: riscv: incoming MSI controller (IMSIC) support.

LGTM!

Thu, Sep 24, 3:00 PM

Wed, Sep 23

mhorne accepted D59813: riscv intc: convert to a bus.

I think this is quite clean.

Wed, Sep 23, 1:50 PM
mhorne added a comment to D59695: riscv: incoming MSI controller (IMSIC) support.

Looking pretty good!

Wed, Sep 23, 1:44 PM
mhorne added inline comments to D59918: sdhci_fdt_spacemit: Avoid setting the 'io' clock.
Wed, Sep 23, 12:58 PM
mhorne accepted D59917: clk: Add clknode_recalc_freq to the spacemit CCU driver.

@mmel will know for sure.

Wed, Sep 23, 12:50 PM

Tue, Sep 22

mhorne committed rG6d9f435739e5: hwpmc: fix leak of IBS per-CPU array on unload (authored by paulo_nlink.com.br).
hwpmc: fix leak of IBS per-CPU array on unload
Tue, Sep 22, 2:02 PM
mhorne closed D59881: hwpmc: fix leak of IBS per-CPU array on unload.
Tue, Sep 22, 2:01 PM
mhorne accepted D59881: hwpmc: fix leak of IBS per-CPU array on unload.

Good catch.

Tue, Sep 22, 2:00 PM
mhorne committed rGfa28ede31dac: jh7110_temp: CPU temperature sensor for JH7110 (authored by bscott_bunyatech.com.au).
jh7110_temp: CPU temperature sensor for JH7110
Tue, Sep 22, 1:54 PM
mhorne closed D59478: CPU temperature sensor for jh7110.
Tue, Sep 22, 1:53 PM · riscv
mhorne accepted D59478: CPU temperature sensor for jh7110.
Tue, Sep 22, 1:19 PM · riscv

Mon, Sep 21

mhorne committed rG8a0cab240f21: hwpmc/amd: replace static pmcdesc[] and pc_amdpmcs[] with dynamic allocation (authored by ojanerif_amd.com).
hwpmc/amd: replace static pmcdesc[] and pc_amdpmcs[] with dynamic allocation
Mon, Sep 21, 10:51 PM
mhorne committed rGe67697869e72: eqos: Reduce RX error noisiness (authored by bscott_bunyatech.com.au).
eqos: Reduce RX error noisiness
Mon, Sep 21, 10:48 PM
mhorne committed rGc745fccd9b26: riscv: enable gpiopower driver (authored by mhorne).
riscv: enable gpiopower driver
Mon, Sep 21, 10:47 PM
mhorne closed D59479: Reduce eqos if driver noisiness.
Mon, Sep 21, 10:47 PM · riscv
mhorne added a comment to D59478: CPU temperature sensor for jh7110.

I am ready to commit this and have applied my suggested changes locally. Please confirm that you are happy with the copyright header text, and I will proceed.

Mon, Sep 21, 10:20 PM · riscv

Wed, Sep 16

mhorne added a comment to D59695: riscv: incoming MSI controller (IMSIC) support.

Glad to see this moving forward. I only skimmed the overall structure, and in particular I am not confident about MSI code.

Wed, Sep 16, 7:02 PM

Sep 9 2026

mhorne planned changes to D59050: sifive: handle sfence.vma errata.
Sep 9 2026, 3:52 PM
mhorne committed rG5369f8e73eff: hwpmc: add MPERF/APERF MSR support for AMD/Intel CPUs (authored by anascime_amd.com).
hwpmc: add MPERF/APERF MSR support for AMD/Intel CPUs
Sep 9 2026, 2:44 PM
mhorne closed D58647: hwpmc: add MPERF/APERF MSR support for AMD/Intel CPUs.
Sep 9 2026, 2:43 PM
mhorne accepted D59479: Reduce eqos if driver noisiness.

Note, the eqos(4) driver has an uncertain future. It is possible that we will move to supporting this hardware with the dwc(4) driver instead; see https://reviews.freebsd.org/D59191 if interested.

Sep 9 2026, 1:56 PM · riscv
mhorne added inline comments to D59048: riscv, pmap: extend the set of TLB management functions.
Sep 9 2026, 1:25 PM
mhorne added a comment to D59478: CPU temperature sensor for jh7110.

Generally LGTM, with some minor tweaks needed.

Sep 9 2026, 1:20 PM · riscv

Sep 3 2026

mhorne committed rG22e27e307f8d: pmc_exterr_test: add MACHINE_ARCH check (authored by mhorne).
pmc_exterr_test: add MACHINE_ARCH check
Sep 3 2026, 5:47 PM
mhorne committed rGe555692d1bbb: hwpmc: Add ATF regression tests for hwpmc EXTERROR diagnostics (authored by afscoelho_gmail.com).
hwpmc: Add ATF regression tests for hwpmc EXTERROR diagnostics
Sep 3 2026, 5:18 PM
mhorne committed rG261d58969487: g_eli: disambiguate CPU-bound worker creation (authored by mhorne).
g_eli: disambiguate CPU-bound worker creation
Sep 3 2026, 4:37 PM
mhorne committed rG10ebbeb4d78c: subr_physmem_test: add tests for two edge-cases (authored by mhorne).
subr_physmem_test: add tests for two edge-cases
Sep 3 2026, 4:37 PM
mhorne committed rG64dd924bf771: sched/lapic: remove sched_do_timer_accounting() (authored by mhorne).
sched/lapic: remove sched_do_timer_accounting()
Sep 3 2026, 4:37 PM
mhorne committed rG5ed83588dac8: g_eli: better handling of absent/disabled CPUs (authored by mhorne).
g_eli: better handling of absent/disabled CPUs
Sep 3 2026, 4:37 PM
mhorne committed rGce2e423045c2: smp: remove unused hlt_cpus_mask (authored by mhorne).
smp: remove unused hlt_cpus_mask
Sep 3 2026, 4:37 PM
Herald added a reviewer for D58159: sched/lapic: remove sched_do_timer_accounting(): scheduler.
Sep 3 2026, 4:37 PM
mhorne committed rGa722716674ba: jh7110_gpio: driver enhancements (authored by bscott_bunyatech.com.au).
jh7110_gpio: driver enhancements
Sep 3 2026, 4:30 PM
mhorne committed rG84b241f1cc12: hwpmc: fix false callchain assertion on the PMC_UR ring (authored by afscoelho_gmail.com).
hwpmc: fix false callchain assertion on the PMC_UR ring
Sep 3 2026, 4:30 PM
mhorne committed rG92cf9e36ecf9: hwpmc: fix false runcount assertion in user callchain capture (authored by afscoelho_gmail.com).
hwpmc: fix false runcount assertion in user callchain capture
Sep 3 2026, 4:30 PM
mhorne committed rG3ef9ef5147d2: libkern.h: remove HAVE_INLINE_* macros (authored by mhorne).
libkern.h: remove HAVE_INLINE_* macros
Sep 3 2026, 4:30 PM
mhorne committed rG24db9837bee5: jh7110_gpio: remove unneeded cleanup (authored by mhorne).
jh7110_gpio: remove unneeded cleanup
Sep 3 2026, 4:30 PM
mhorne committed rG66fb43c26b3b: jh7110_gpio: style (authored by mhorne).
jh7110_gpio: style
Sep 3 2026, 4:30 PM
mhorne committed rG55e62f1eadae: release/riscv: tweak GENERICSD partition placement (authored by mhorne).
release/riscv: tweak GENERICSD partition placement
Sep 3 2026, 4:30 PM
mhorne committed rG431545476078: cdefs(9): document __nonstring (authored by mhorne).
cdefs(9): document __nonstring
Sep 3 2026, 4:30 PM
mhorne committed rG83b88ea4761e: vfs_unmountall.9: Fix an outdated .Xr to boot(9) (authored by temcbun_gmail.com).
vfs_unmountall.9: Fix an outdated .Xr to boot(9)
Sep 3 2026, 4:24 PM