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 D6F5745966; Thu, 12 Sep 2024 05:07:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6788340612; Thu, 12 Sep 2024 05:07:08 +0200 (CEST) Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) by mails.dpdk.org (Postfix) with ESMTP id 697B84027D for ; Thu, 12 Sep 2024 05:07:02 +0200 (CEST) Received: from mail.maildlp.com (unknown [172.19.163.44]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4X42QZ379Nz2Cp77; Thu, 12 Sep 2024 11:06:30 +0800 (CST) Received: from dggpeml500024.china.huawei.com (unknown [7.185.36.10]) by mail.maildlp.com (Postfix) with ESMTPS id A49A51401F1; Thu, 12 Sep 2024 11:07:00 +0800 (CST) Received: from [10.67.121.161] (10.67.121.161) by dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Thu, 12 Sep 2024 11:07:00 +0800 Message-ID: <851d5fbf-d5d5-4b14-b0cf-b463e071bea4@huawei.com> Date: Thu, 12 Sep 2024 11:07:00 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v10 0/2] power: introduce PM QoS interface To: Huisong Li , CC: , , , , , , , , References: <20240320105529.5626-1-lihuisong@huawei.com> <20240912023812.30885-1-lihuisong@huawei.com> Content-Language: en-US From: fengchengwen In-Reply-To: <20240912023812.30885-1-lihuisong@huawei.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.121.161] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To dggpeml500024.china.huawei.com (7.185.36.10) 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 Series-reviewed-by: Chengwen Feng On 2024/9/12 10:38, Huisong Li wrote: > 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 > > --- > v10: > - replace LINE_MAX with a custom macro and fix two typos. > v9: > - move new feature description from release_24_07.rst to release_24_11.rst. > v8: > - update the latest code to resolve CI warning > v7: > - remove a dead code rte_lcore_is_enabled in patch[2/2] > v6: > - update release_24_07.rst based on dpdk repo to resolve CI warning. > v5: > - use LINE_MAX to replace BUFSIZ, and use snprintf to replace sprintf. > v4: > - fix some comments basd on Stephen > - add stdint.h include > - add Acked-by Morten Brørup > v3: > - add RTE_POWER_xxx prefix for some macro in header > - add the check for lcore_id with rte_lcore_is_enabled > v2: > - use PM QoS on CPU wide to replace the one on system wide > > 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 | 24 ++++++ > doc/guides/rel_notes/release_24_11.rst | 5 ++ > examples/l3fwd-power/main.c | 24 ++++++ > lib/power/meson.build | 2 + > lib/power/rte_power_qos.c | 111 +++++++++++++++++++++++++ > lib/power/rte_power_qos.h | 73 ++++++++++++++++ > lib/power/version.map | 4 + > 7 files changed, 243 insertions(+) > create mode 100644 lib/power/rte_power_qos.c > create mode 100644 lib/power/rte_power_qos.h >