Page MenuHomeFreeBSD

hwpmc: add a group-inherit-miss log record
AcceptedPublic

Authored by afscoelho_gmail.com on Sep 3 2026, 9:30 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Oct 14, 8:01 PM
Unknown Object (File)
Sun, Oct 11, 3:04 AM
Unknown Object (File)
Sat, Oct 10, 8:49 PM
Unknown Object (File)
Fri, Oct 9, 6:08 PM
Unknown Object (File)
Thu, Oct 8, 1:02 PM
Unknown Object (File)
Wed, Oct 7, 1:29 AM
Unknown Object (File)
Tue, Oct 6, 9:44 PM
Unknown Object (File)
Mon, Oct 5, 5:33 PM
Subscribers

Details

Summary

When a committed group cannot follow its target through a fork, hwpmc
logged a PMCDETACH record for the child. That is wrong: the edge never
attached, so there is nothing to detach. A consumer cannot tell this
apart from a real detach.

Add PMCLOG_TYPE_PMCGROUPINHERITMISS, which names the group and the child
that could not inherit it, and emit it from that path instead.

Log the stable user handle pm_handle instead of pm_id in the records
that name a PMC. For a PMC with a hardware row the two are equal, which
pmc_allocate sets, so the logged value does not change. A deferred group
member has no row yet, and only pm_handle identifies it.

Add pmclog_process_map_in_nowakeup and pmclog_process_map_out_nowakeup.
These queue a mapping record without waking the log thread, for a caller
that holds a spin lock.

Sponsored by: AMD

Signed-off-by: Andre Silva <andasilv@amd.com>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 78164
Build 75047: arc lint + arc unit

Event Timeline

Rebase on main (D60141 and D60185 are committed). No change.

This revision is now accepted and ready to land.Thu, Oct 15, 8:48 AM