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 6351B45C75; Mon, 4 Nov 2024 10:13:31 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E7077402AF; Mon, 4 Nov 2024 10:13:30 +0100 (CET) Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) by mails.dpdk.org (Postfix) with ESMTP id EE3674021F for ; Mon, 4 Nov 2024 10:13:28 +0100 (CET) Received: from mail.maildlp.com (unknown [172.19.88.163]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4Xhm1c1VlYz2Fbpg; Mon, 4 Nov 2024 17:11:48 +0800 (CST) Received: from dggemv711-chm.china.huawei.com (unknown [10.1.198.66]) by mail.maildlp.com (Postfix) with ESMTPS id A06F3180043; Mon, 4 Nov 2024 17:13:26 +0800 (CST) Received: from kwepemn100009.china.huawei.com (7.202.194.112) by dggemv711-chm.china.huawei.com (10.1.198.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Mon, 4 Nov 2024 17:13:26 +0800 Received: from [10.67.121.59] (10.67.121.59) by kwepemn100009.china.huawei.com (7.202.194.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Mon, 4 Nov 2024 17:13:25 +0800 Message-ID: <41623bac-393c-3be3-0260-b1475a3a93be@huawei.com> Date: Mon, 4 Nov 2024 17:13:25 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH v14 0/3] power: introduce PM QoS interface To: , , CC: , , , , , , , , References: <20240320105529.5626-1-lihuisong@huawei.com> <20241029132804.27613-1-lihuisong@huawei.com> From: "lihuisong (C)" In-Reply-To: <20241029132804.27613-1-lihuisong@huawei.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.121.59] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To kwepemn100009.china.huawei.com (7.202.194.112) 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 Hi Ferruh and Thomas, Kindly ping for merge. 在 2024/10/29 21:28, Huisong Li 写道: > 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 > when wake up from idle state 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 > > --- > v14: > - use parse_uint to parse --cpu-resume-latency instead of adding a new > parse_int() > v13: > - not allow negative value for --cpu-resume-latency. > - restore to the original value as Konstantin suggested. > v12: > - add Acked-by Chengwen and Konstantin > - fix overflow issue in l3fwd-power when parse command line > - add a command parameter to set CPU resume latency > v11: > - operate the cpu id the lcore mapped by the new function > power_get_lcore_mapped_cpu_id(). > 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 (3): > power: introduce PM QoS API on CPU wide > examples/l3fwd-power: fix data overflow when parse command line > examples/l3fwd-power: add PM QoS configuration > > doc/guides/prog_guide/power_man.rst | 19 +++ > doc/guides/rel_notes/release_24_11.rst | 5 + > .../sample_app_ug/l3_forward_power_man.rst | 5 +- > examples/l3fwd-power/main.c | 96 +++++++++++--- > lib/power/meson.build | 2 + > lib/power/rte_power_qos.c | 123 ++++++++++++++++++ > lib/power/rte_power_qos.h | 73 +++++++++++ > lib/power/version.map | 4 + > 8 files changed, 306 insertions(+), 21 deletions(-) > create mode 100644 lib/power/rte_power_qos.c > create mode 100644 lib/power/rte_power_qos.h >