---
name: "pmc.soft"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/pmc.soft"
---

# pmc.soft(3)

measurements using software based events

## NAME

**pmc.soft** – measurements using software based events

## LIBRARY

library “libpmc”

## SYNOPSIS

**#include \<pmc.h\>**

## DESCRIPTION

Software events are used to collect various source of software events.

### PMC Features

16 sampling counters using software events based on various sources. These PMCs support the following capabilities:

| | |
| --- | --- |
| *Capability* | *Support* |
| PMC\_CAP\_CASCADE | No |
| PMC\_CAP\_EDGE | No |
| PMC\_CAP\_INTERRUPT | Yes |
| PMC\_CAP\_INVERT | No |
| PMC\_CAP\_READ | Yes |
| PMC\_CAP\_PRECISE | No |
| PMC\_CAP\_SYSTEM | Yes |
| PMC\_CAP\_TAGGING | No |
| PMC\_CAP\_THRESHOLD | No |
| PMC\_CAP\_USER | Yes |
| PMC\_CAP\_WRITE | Yes |

### Event Qualifiers

There is no supported event qualifier.

The event specifiers supported by software are:

- CLOCK.HARD

  Hard clock ticks.

- CLOCK.STAT

  Stat clock ticks.

- CLOCK.PROF

  Profiling clock ticks.

- INTR.ALL

  Interrupt filter executed

- INTR.FILTER

  Interrupt filter returned FILTER\_HANDLED.

- INTR.ITHREAD

  Interrupt filter returned FILTER\_SCHEDULE\_ITHREAD.

- INTR.SCHEDULE

  Ithread scheduled.

- INTR.STRAY

  Interrupt filter returned FILTER\_STRAY.

- INTR.WAITING

  Ithread not scheduled, already active.

- LOCK.FAILED

  Lock acquisition failed.

- PAGE\_FAULT.ALL

  All page fault type.

- PAGE\_FAULT.READ

  Read page fault.

- PAGE\_FAULT.WRITE

  Write page fault.

## SEE ALSO

[pmc(3)](/pmc/3.md), [pmc.amd(3)](/pmc.amd/3.md), [pmc.atom(3)](/pmc.atom/3.md), [pmc.core(3)](/pmc.core/3.md), [pmc.corei7(3)](/pmc.corei7/3.md), [pmc.corei7uc(3)](/pmc.corei7uc/3.md), [pmc.iaf(3)](/pmc.iaf/3.md), [pmc.ibs(3)](/pmc.ibs/3.md), [pmc.tsc(3)](/pmc.tsc/3.md), [pmc.ucf(3)](/pmc.ucf/3.md), [pmc.westmereuc(3)](/pmc.westmereuc/3.md), [pmc\_cpuinfo(3)](/pmc_cpuinfo/3.md), [pmclog(3)](/pmclog/3.md), [hwpmc(4)](/hwpmc/4.md)

## HISTORY

The **pmc** library first appeared in FreeBSD 6.0.

## AUTHORS

The library “libpmc” library was written by Joseph Koshy ⟨*jkoshy@FreeBSD.org*⟩. Software PMC was written by Fabien Thomas ⟨*fabient@FreeBSD.org*⟩.
