Re: git: e51ef8ae490f - main - hwpmc: Initial support for AMD IBS

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Wed, 04 Mar 2026 11:17:54 UTC
On Fri, 27 Feb 2026, Warner Losh wrote:

Hi,

> The branch main has been updated by imp:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=e51ef8ae490fc9f73191f33e7ad388c2511c454a
>
> commit e51ef8ae490fc9f73191f33e7ad388c2511c454a
> Author:     Ali Mashtizadeh <ali@mashtizadeh.com>
> AuthorDate: 2026-01-30 09:12:17 +0000
> Commit:     Warner Losh <imp@FreeBSD.org>
> CommitDate: 2026-02-27 21:22:16 +0000
>
>    hwpmc: Initial support for AMD IBS
>
>    This patch adds support for AMD IBS.  It adds a new class of performance
>    counter that cotains two events: ibs-fetch and ibs-op events. Unlike
>    most existing sampled events, IBS events provide a number of values
>    containing extra information regarding the sample.  To support this we
>    use the existing callchain event, and introduce a new flag for multipart
>    payloads.  The first 8 bytes of the pc_sample contains a header that
>    defines up to four payloads.
>
>    Sponsored by: Netflix
>
>    Reviewed by: imp,mhorne
>    Pull Request: https://github.com/freebsd/freebsd-src/pull/2022
> ---
> lib/libpmc/libpmc.c            |  64 ++++-
> sys/amd64/include/pmc_mdep.h   |   5 +
> sys/conf/files.x86             |   1 +
> sys/dev/hwpmc/hwpmc_amd.c      |  25 +-
> sys/dev/hwpmc/hwpmc_ibs.c      | 614 +++++++++++++++++++++++++++++++++++++++++
> sys/dev/hwpmc/hwpmc_ibs.h      | 176 ++++++++++++
> sys/dev/hwpmc/hwpmc_mod.c      |  96 ++++++-
> sys/dev/hwpmc/pmc_events.h     |  13 +-
> sys/i386/include/pmc_mdep.h    |   5 +
> sys/modules/hwpmc/Makefile     |   4 +-
> sys/sys/pmc.h                  |  19 +-
> sys/sys/pmclog.h               |  14 +
> sys/x86/x86/local_apic.c       |  27 +-
> usr.sbin/pmcstat/pmcstat_log.c |  99 ++++++-
> 14 files changed, 1130 insertions(+), 32 deletions(-)

can someone clarify is this is/will be needed or why is was added but not used?

/sys/dev/hwpmc/hwpmc_mod.c:4597:1: warning: unused function 'pmc_is_multipart' [-Wunused-function]
  4597 | pmc_is_multipart(struct pmc_sample *ps)
       | ^~~~~~~~~~~~~~~~


-- 
Bjoern A. Zeeb                                                     r15:7