From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 93A4844151; Thu, 13 Jun 2024 13:29:17 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 08DCA40691; Thu, 13 Jun 2024 13:29:17 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id 98CB0402E4 for ; Thu, 13 Jun 2024 13:29:15 +0200 (CEST) Received: from mail.maildlp.com (unknown [172.19.163.48]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4W0Knv56C8zxT3r; Thu, 13 Jun 2024 19:25:07 +0800 (CST) Received: from kwepemm600004.china.huawei.com (unknown [7.193.23.242]) by mail.maildlp.com (Postfix) with ESMTPS id 4397018007C; Thu, 13 Jun 2024 19:29:13 +0800 (CST) Received: from localhost.localdomain (10.28.79.22) by kwepemm600004.china.huawei.com (7.193.23.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Thu, 13 Jun 2024 19:29:12 +0800 From: Huisong Li To: CC: , , , , , , , Subject: [PATCH v2 0/2] power: introduce PM QoS interface Date: Thu, 13 Jun 2024 19:20:36 +0800 Message-ID: <20240613112038.14271-1-lihuisong@huawei.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20240320105529.5626-1-lihuisong@huawei.com> References: <20240320105529.5626-1-lihuisong@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.28.79.22] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemm600004.china.huawei.com (7.193.23.242) 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 The deeper the idle state, the lower the power consumption, but the longer the resume time. Some service are delay sensitive and very except the low resume time, like interrupt packet receiving mode. And the "/sys/devices/system/cpu/cpuX/power/pm_qos_resume_latency_us" sysfs interface is used to set and get the resume latency limit on the cpuX for userspace. Please see the description in kernel document[1]. Each cpuidle governor in Linux select which idle state to enter based on this CPU resume latency in their idle task. The per-CPU PM QoS API can be used to control this CPU's idle state selection and limit just enter the shallowest idle state to low the delay after sleep by setting strict resume latency (zero value). [1] https://www.kernel.org/doc/html/latest/admin-guide/abi-testing.html?highlight=pm_qos_resume_latency_us#abi-sys-devices-power-pm-qos-resume-latency-us Huisong Li (2): power: introduce PM QoS API on CPU wide examples/l3fwd-power: add PM QoS configuration doc/guides/prog_guide/power_man.rst | 22 +++++ doc/guides/rel_notes/release_24_07.rst | 4 + examples/l3fwd-power/main.c | 29 +++++++ lib/power/meson.build | 2 + lib/power/rte_power_qos.c | 116 +++++++++++++++++++++++++ lib/power/rte_power_qos.h | 70 +++++++++++++++ lib/power/version.map | 2 + 7 files changed, 245 insertions(+) create mode 100644 lib/power/rte_power_qos.c create mode 100644 lib/power/rte_power_qos.h -- 2.22.0