From nobody Wed Apr 19 20:06:38 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q1sJB6133z46PMc; Wed, 19 Apr 2023 20:06:50 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q1sJB3NtHz3MHr; Wed, 19 Apr 2023 20:06:50 +0000 (UTC) (envelope-from kevans@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681934810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tE1F7VLyV332yaTYewuAIqQc38TOFrbYpBsR3dSNsKc=; b=qoc7B4pBtCGTqa5wPJ+cc3K9cLzukbyegS+yDEdfwAIncx2ppT+CMkSPvjZ24Kl+K3b0A4 o5qrmTXjHYHsGZ6tB6jDMvJ1PbXHpahjsQquusHBqk18hvvZFAxWMzcVfL4OnWCd1jjKNv Rzxl7Qb4Sqt34ZhUKADr8MB97GRnEZlVf2RBtHD1/IolAzawftWCqmquMhdl64NxEN0aHi aZD+VgmJzMOdVv1BLLv5E4y/Y/AjmwvJPrIT5AxtvQpIHA5aiJXPa6HqP7FN9GXGQOyroF qtx4CwJCwRR3hM7hRyT4OGN1Zy6RSdzAryAoyh7rYGxfKFSYW25k+1GUAyN0ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681934810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tE1F7VLyV332yaTYewuAIqQc38TOFrbYpBsR3dSNsKc=; b=jQqt7vlXYLPB5QUPi1z3KPTDVrDGTxXGgBB4JtdkGE/M/6EbqsY1g8OIqLFOw6mCQS9xcs YQe90d6gnc7oKt0zYaFFCmTkpltcmlsanDTq7dGj9hT3uEqylyuocuIYYgig0eMSQV9Ue0 X0+q3ZFIemdMI/vjdADD4qVG5eQK2ctJXqOMlhARZYDx9og43oWRTRU+Zw3V0LEQTaf0BF 4/lJ+uj4TEKUfSTNC5zH+MVnekFEiN5veEICeTMSUXbQTYrUYvAJbXG2HTqqm/JWudi16B 8n+ckMAj/1qrbIBh4ltJKJ9hNyfiH5HfBbP18qTSFBgRNO+s0T9hndtd3Ox4FQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681934810; a=rsa-sha256; cv=none; b=guw5pVjljnbcH2qqgdUZ2da9FOOIVUu3n6NaJx+K7kamjgc9KGwPLMOgdEWQuv9hc60wgl O6e0y/07UA3wrdrUmReblMoEHiygdf59Bii7H+z3tmci1S48KVuFeaJqhqLsp4SI4M8Fij SwOUhmVFPLQF4D7TQqQGokCShuRmnFfOnPDjImLOeJzZOe4blOvIVlF5O4IQB3jCZ6TXtk T2xlsNbJdQcoG6F5viajAIJJCchSFy1HMoJ7F4f6Zow3HWKi8h+QmQsemo0QtXj+dqefHI TJOG0EB0/o8ITZOJzz0LlkV/3/RhNhHsiaN8eYFClOBa2VBK3eCa5nfMvSieYQ== Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Q1sJ94CspzQG8; Wed, 19 Apr 2023 20:06:49 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f175.google.com with SMTP id br19so457420qtb.7; Wed, 19 Apr 2023 13:06:49 -0700 (PDT) X-Gm-Message-State: AAQBX9dxQ8jZrRQtPjmCmnc8VHdr9QFlWuWm5j+pSLY94Tt+27yW/GeF OsmFLxFOdVVVlQlce/ZazeE0W1yG+LQvUUYHC2I= X-Google-Smtp-Source: AKy350bxlV0l4AGmYt6GoyCM27k4rOxg5lVz+GKVSj3wp5F4Avfc7e1IeFDg/E4FPjEzHmXGXgoldFK9yJ2Ii92W+xA= X-Received: by 2002:ac8:5c09:0:b0:3dc:3eac:eddb with SMTP id i9-20020ac85c09000000b003dc3eaceddbmr1423293qti.13.1681934809045; Wed, 19 Apr 2023 13:06:49 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202205310005.24V05MTi034088@gitrepo.freebsd.org> In-Reply-To: <202205310005.24V05MTi034088@gitrepo.freebsd.org> From: Kyle Evans Date: Wed, 19 Apr 2023 15:06:38 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: c1e813d12309 - main - hwpmc: Correct selection of Intel fixed counters. To: Alexander Motin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, "Sideropoulos, Alexander" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ThisMailContainsUnwantedMimeParts: N On Mon, May 30, 2022 at 7:05=E2=80=AFPM Alexander Motin w= rote: > > The branch main has been updated by mav: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dc1e813d1230915e19a236ec687= cadc1051841e56 > > commit c1e813d1230915e19a236ec687cadc1051841e56 > Author: Alexander Motin > AuthorDate: 2022-05-30 23:46:48 +0000 > Commit: Alexander Motin > CommitDate: 2022-05-31 00:05:15 +0000 > > hwpmc: Correct selection of Intel fixed counters. > > Intel json's use event=3D0 to specify fixed counter number via umask. > Alternatively fixed counters have equivalent programmable event/umask= . > > MFC after: 1 month > --- > sys/dev/hwpmc/hwpmc_core.c | 34 +++++++++++++++++++++++++--------- > 1 file changed, 25 insertions(+), 9 deletions(-) > > diff --git a/sys/dev/hwpmc/hwpmc_core.c b/sys/dev/hwpmc/hwpmc_core.c > index fce97cbd5b8e..73cfee0b3975 100644 > --- a/sys/dev/hwpmc/hwpmc_core.c > +++ b/sys/dev/hwpmc/hwpmc_core.c > @@ -245,15 +245,31 @@ iaf_allocate_pmc(int cpu, int ri, struct pmc *pm, > ev =3D IAP_EVSEL_GET(config); > umask =3D IAP_UMASK_GET(config); > > - /* INST_RETIRED.ANY */ > - if (ev =3D=3D 0xC0 && ri !=3D 0) > - return (EINVAL); > - /* CPU_CLK_UNHALTED.THREAD */ > - if (ev =3D=3D 0x3C && ri !=3D 1) > - return (EINVAL); > - /* CPU_CLK_UNHALTED.REF */ > - if (ev =3D=3D 0x0 && umask =3D=3D 0x3 && ri !=3D 2) > - return (EINVAL); > + if (ev =3D=3D 0x0) { > + if (umask !=3D ri + 1) > + return (EINVAL); Hey Alexander, This seems to break system-mode sampling of fixed-mode counters; e.g., from the manpage, `pmcstat -S instructions`, and I'm not at all familiar with these parts of pmc. We come in once with umask=3D1, ri=3D0; then again with umask=3D1, ri=3D1. The latter fails and we try umask=3D1, ri=3D2, which again fails, and the PMCALLOCATE op ultimately fails. Is `umask !=3D ri + 1` correct, or should this be reverted back to `umask =3D=3D 0x3 && ri !=3D 2` or something else? I've no idea what the `umask` values represent in this context. Thanks, Kyle Evans