From patchwork Thu Oct 6 09:38:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tadhg Kearney X-Patchwork-Id: 117443 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1BD52A00C2; Thu, 6 Oct 2022 11:38:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0BEEE42BDA; Thu, 6 Oct 2022 11:38:48 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id E17BA42BCC for ; Thu, 6 Oct 2022 11:38:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665049126; x=1696585126; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ZwAcH9QjWJiN713NVWSnafxcY7KHqYSKUZ9J7FzW2Kw=; b=RaN9hOXvscv5jnzWkxQ21Cl1xtlWwiFTGJtjL8f7gnR+stWdIkcaOMe0 JkxX6m3Yk0heC1Zlw2XtUJs79ajUlzxpnuiY4whJuXanxPxXAT15G4kwE N0g30rwahMqFqPPnlzNdqW87pExoGT47WU+Zd5tW/x4j4dTx5gYqqVvck LQMGvMlf2EWwVYu3zYE1xyxVuP1tXwFPD4fTi9YYLAcgxv4GmwLOgNxXN WDGF7EIdxkiGzCKMJ3J41sdfoVipbxBv/Bn3vHm2ZWRECaVKAePuTbzyN CERXFc+9iE+dgtw/zqvGq2GbWb8s81PnN9nPzvNigSkqDWG8KOueeTaTi A==; X-IronPort-AV: E=McAfee;i="6500,9779,10491"; a="329821561" X-IronPort-AV: E=Sophos;i="5.95,163,1661842800"; d="scan'208";a="329821561" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Oct 2022 02:38:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10491"; a="729072481" X-IronPort-AV: E=Sophos;i="5.95,163,1661842800"; d="scan'208";a="729072481" Received: from silpixa00401183.ir.intel.com ([10.55.129.143]) by fmsmga002.fm.intel.com with ESMTP; 06 Oct 2022 02:38:42 -0700 From: Tadhg Kearney To: dev@dpdk.org Cc: david.hunt@intel.com, anatoly.burakov@intel.com, reshma.pattan@intel.com, thomas@monjalon.net, Tadhg Kearney Subject: [PATCH v9 0/3] add Intel uncore api to be called through l3fwd-power Date: Thu, 6 Oct 2022 09:38:00 +0000 Message-Id: <20221006093803.2076768-1-tadhg.kearney@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221005162023.1923558-1-tadhg.kearney@intel.com> References: <20221005162023.1923558-1-tadhg.kearney@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This is targeting 22.11 and aims to add an API to DPDK power library to allow uncore frequency adjustment. This will be called through the l3fwd-power app and gives the ability to set the minimum and maximum uncore frequency to both min, max or specific frequency index. Signed-off-by: tadhgkearney Reviewed-by: David Hunt Acked-by: David Hunt --- v2: Fix compilation warnings and errors. v3: Remove addition of x86 global macros. Add 2 new API's for getting package and die numbers from system. Address comments from mailing list. Improve efficiency of code and code quality. v4: Fix compilation warnings and errors. v5: Improve error message for uncore access not working. v6: Fix uncore exit being called if uncore option not selected. v7: Address mailing list comments. v8: Address mailing list comments. v9: Fix build errors. Tadhg Kearney (3): power: add Intel uncore frequency control API to power library l3fwd-power: add option to call uncore API test/power: add unit tests for uncore API app/test/meson.build | 2 + app/test/test_power_intel_uncore.c | 301 ++++++++++++ doc/guides/prog_guide/power_man.rst | 54 +++ doc/guides/rel_notes/release_22_11.rst | 6 + .../sample_app_ug/l3_forward_power_man.rst | 29 ++ examples/l3fwd-power/main.c | 126 ++++- lib/power/meson.build | 2 + lib/power/rte_power_intel_uncore.c | 451 ++++++++++++++++++ lib/power/rte_power_intel_uncore.h | 194 ++++++++ lib/power/version.map | 11 + 10 files changed, 1174 insertions(+), 2 deletions(-) create mode 100644 app/test/test_power_intel_uncore.c create mode 100644 lib/power/rte_power_intel_uncore.c create mode 100644 lib/power/rte_power_intel_uncore.h