HomeFreeBSD

A first cut at teaching libkvm how to deal with dynamic per-CPU storage
rS204494Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

A first cut at teaching libkvm how to deal with dynamic per-CPU storage
(DPCPU):

A new API, kvm_dpcpu_setcpu(3), selects the active CPU for the purposes
of DPCPU. Calls to kvm_nlist(3) will automatically translate DPCPU
symbols and return a pointer to the current CPU's version of the data.
Consumers needing to read the same symbol on several CPUs will invoke a
series of setcpu/nlist calls, one per CPU of interest.

This addition makes it possible for tools like netstat(1) to query the
values of DPCPU variables during crashdump analysis, and is based on
similar code handling virtualized global variables.

MFC after: 1 week
Sponsored by: Juniper Networks, Inc.

Details

Provenance
rwatsonAuthored on
Parents
rS204493: Rewrite red-black trees to do lazy balance fixup. This improves
Branches
Unknown
Tags
Unknown