From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AF7D36AB49 for ; Wed, 20 May 2026 08:04:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779264258; cv=none; b=nrdz8x+gHJgAENWzxxNpR9IM0gz30smMQv94UozTbQ5umK3tyOdDvVXcdpqALqkaTyD/wHdBzrW2KmbWf5wXNIfbltctfdTRUJSNfo12XrqqlZ1b2oU3gPn5Ed0XqnyYBVVCLcxVsuUToRVGhnIAHO0wER18egk6uG6YJklSY+Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779264258; c=relaxed/simple; bh=O9IZHnHuqykZjjGDn2bKzNALImW5dFNcLjkWFZi7Tqc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ECMz9JTOweQItgXsvdEAZymkNRHo5ztKe9EV2xVaBbPuqHKQzaowBu2mN7v0RJk3EdcOkMDqdqMK2tuo6CbsHMCCsTgTWjo9ecahLUrn8rJOhX+k05qPOmzK8AGBBswEtMjLRHg6ss4f7tURaRHBZGeyrW+BEZDzSZmJFEYqQy4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Jn6SEvsS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FhSNvYhP; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Jn6SEvsS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FhSNvYhP" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64K70jTI629637 for ; Wed, 20 May 2026 08:04:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= uc7Nk43l2dIGUbmdD6/LYMAf0PAnw6/rOvilHT/UMso=; b=Jn6SEvsSjrePkpWc S/nNHhWSjNI/9ENR5zR1RjdUnRrN4u/OY9D8KthajSibK2rN2Awzg4ZCrQVG6FZU 4xanTL0UY9atr7PRhC6mdbWBAlccI4dI6h3aMGZzAI/bzkGWzLX60d0fmaooa7Zi bSPBR3urcE5cA1+1OFt01kzQjU5UExbrBg5VJsP36bDmqESnxLsjJvO6GZJ77tkQ Oi8wE8SABq4eEemovsoQU/Sx6hmv+ZTJk1slBtpEPBqqxhZRoX38PpPEthcV+ell wyuHBvraeZtnEBEgkAaj4fRTN4HH4C0AavmSXEHUSSxLPg9lRyfuyiNP6YfenCGP 70SweA== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e8t3nuqxf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 20 May 2026 08:04:16 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2b2e8bba2e6so65228265ad.1 for ; Wed, 20 May 2026 01:04:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779264256; x=1779869056; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=uc7Nk43l2dIGUbmdD6/LYMAf0PAnw6/rOvilHT/UMso=; b=FhSNvYhPn4VHBW3X8LTs21CW8Idg9C0DFwp8WDHUvgamFGbASTTE6jpXj15mjAoRXC xIWH1ox+qqvYizBtVaOD9IvvaQMEWDAKSh9DcKkCk+oWGZmd/7GuYJZJABCiZW99a7zy tY/JtNyNwNyET4xFxtETIB97Tmf6DRcm7rZm9+wjnBYLEj9krwEmMo2QpBjb04v3fQiR fHmv0A3802WR4+oONQxJklrFcvMjtNQKY/jBLOR4G4hKbt4AkkGzT364femsXu4OEIYh Pf1FTwI9oopcOt6qeLI7GIMEpHw3hJHuqRV6amivi7JH9E4zv4R7e24DuDuvIUkICra3 7zag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779264256; x=1779869056; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=uc7Nk43l2dIGUbmdD6/LYMAf0PAnw6/rOvilHT/UMso=; b=UyauhmxD2edr8AjuXvag3P43bFH2ahU2InF5t5cqfA0eAvMTT2NutkTGi7gZlOGGrT 3kiPkafO5aJHRmWCvC8H+rPEd/YLN/eA3NnmGWNuDQabqmPK1i3rULUeLfd710onHlyt eyD4gIg9dAYLfcgcALRlQn455lsVSOJ0od1spmpIY3LH/cT+qH6fsXWyuT1U08kV7wVq cGgkUtdpE9Yf5Dsk2Ou+RcwzHZyBY9GmVjemIyDaoEm24Ysij+fHgsYWfx1fx7ofWJn7 kox5Nj3c8qvDNn6E1fuvSVuaK7YYraKABBmcjCnj+/tz6IGU84rrbnb1Dgcze6aon+Jv SDDA== X-Forwarded-Encrypted: i=1; AFNElJ/lDLlSuCELxpQHwXuRc5oCJZLnm0yFZQIyr6dGiJtEQ1rZ3HMQykAVNEAWkpkozrGy8lUAYb1ptmhxtbE=@vger.kernel.org X-Gm-Message-State: AOJu0YynTzcROZbSE95dJbCKWfzuhM+I+9Z1wHgBLcp207i5A4EcOLQS 1hH2E51Xk3GF6h1TBd325mXNxpL26rKdniXZ0IdNR01JM9cZSHcqYdJG3u1NKdkp3fBNQDfxrwe kEPNXlGarBJ6eYUy5ceu+Wu5Ayj/cdZ/pYAbO4ROAzL792e/UAugsjTGkZl2EafYJpWI= X-Gm-Gg: Acq92OFlKLbSsloxwA+3Zvw+etX93jtheumbQtRLlzZ4ca4KxEIfYVpz0PobDuKnKv9 1BwIYyxq0r7t0WPVeo7QPjkOguruZuu4MtkwZfontYnNucGjPfi/lnyJGJE2WjOmsdVa5x42N4+ AVwOtgxVXnYmY+9Zda+w//Kp2/XIljdJDgNA/GwIzeNmkpFDQdJQwbo5z2Wrc6W/mdOtm6Z3pKv MVvkI0vjnO569a8Y9fs0/HVOW+Y+0FQQ0nKErRfPNJCq82v+HpOJCQAT9L9GsNu3Uye7+UhP8pe rhOwJiuIYI9SbuedLuFxcEDgPOsHodYxYXPHqYE2B9kQ7OHd6Kc6HmcyC8A1+N5QrnI14D9ZgSB FU7nHV4zpyWLbb6bYv8pRDcd9NRnnFf0aWIcl7yh/51axeGd7P3aW2yhNBXiziVMDgY3rYEyeBI aKEi4IqqHDgWRQDn4TAA== X-Received: by 2002:a17:902:b090:b0:2b4:5cea:f61c with SMTP id d9443c01a7336-2bd7e77a4ccmr179096765ad.4.1779264255788; Wed, 20 May 2026 01:04:15 -0700 (PDT) X-Received: by 2002:a17:902:b090:b0:2b4:5cea:f61c with SMTP id d9443c01a7336-2bd7e77a4ccmr179096385ad.4.1779264255222; Wed, 20 May 2026 01:04:15 -0700 (PDT) Received: from [10.133.33.109] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5cfe7270sm207228825ad.50.2026.05.20.01.04.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 May 2026 01:04:14 -0700 (PDT) Message-ID: Date: Wed, 20 May 2026 16:04:08 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] cpufreq: conservative: Fix incorrect frequency decrease due to stale target To: Viresh Kumar Cc: "zhenglifeng (A)" , rafael@kernel.org, stratosk@semaphore.gr, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linuxarm@huawei.com, zhanjie9@hisilicon.com, lihuisong@huawei.com, yubowen8@huawei.com, zhangpengjie2@huawei.com, wangzhi12@huawei.com, linhongye@h-partners.com, zhongqiu.han@oss.qualcomm.com References: <20260421123545.1745998-1-zhenglifeng1@huawei.com> <80d32bdb-f661-44cb-b529-3d5ce2142af0@oss.qualcomm.com> <5ivkhopr53lsrnlu62ucdn5yfyeh42nwq3knfifp4ihgv6kpzy@sd6eekl2r45a> Content-Language: en-US From: Zhongqiu Han In-Reply-To: <5ivkhopr53lsrnlu62ucdn5yfyeh42nwq3knfifp4ihgv6kpzy@sd6eekl2r45a> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIwMDA3NiBTYWx0ZWRfX0XZB3H38bqc8 +fR4hJycjlv8UFjXBLECXKlLWURj9/i9kTA5VQq8lS7ud7ZykUY4N7fRmAQHOxtKsWeDhYJhabz jl9iY4DPQ3R+bkXfhauoFCPJUw7VhHyaUPvigOJLFMjy1cf1T80dOVz5H7+SAemkXXTnvqY0qYW JFRiwBCHHvk+kPmhBU6t0Doir0/4cBpmxU0lOjnZlxBmMbkxcSH8pH5D6X5ycde00RhlbHxI397 2k/+fPnt6IeEzbdROglkKdUzk1eeYZGTAz/PAvF8G40RZY0vAp8aXgzJYSX2Fgo263Z/idnmB19 NM5lWlaXinI8Wm8vL8I4PpYp+vMU5zDkNB2N6NiHfVRNHDnJC8cimdRajC2Tt+9gH07ypXnABjJ U4ZX72O4mplE5HHIBRQFtLpazn4pqTn7t4UphgW+cGpQGF7GWYxXhwp2Lp+GSCmIaRdQE9GXgEo OvQo/flidpRSyCpcFGg== X-Proofpoint-GUID: JCzHV3_vZTe_62GxtZ15W2xw3VH58GdP X-Proofpoint-ORIG-GUID: JCzHV3_vZTe_62GxtZ15W2xw3VH58GdP X-Authority-Analysis: v=2.4 cv=Mr9iLWae c=1 sm=1 tr=0 ts=6a0d6b00 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=ZatVsnkQGjJaE5PWG9sA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-20_01,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 bulkscore=0 impostorscore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605200076 On 5/20/2026 3:48 PM, Viresh Kumar wrote: > On 11-05-26, 12:03, Zhongqiu Han wrote: >> Just one small concern is that requested_freq may underflow as an >> unsigned value; perhaps this could be improved by: >> >> - if (requested_freq > freq_step) >> + if (requested_freq > policy->min + freq_step) >> requested_freq -= freq_step; >> else >> requested_freq = policy->min; > > Looks fine. > >> or use min() func? >> >> Additionally, it seems that dropping the early‑exit checks also appears >> to be a nice side effect fix for CPUFREQ_NEED_UPDATE_LIMITS drivers when >> updating internal upper and lower frequency boundaries. >> >> As designed in commit 1c534352f47f ("cpufreq: Introduce >> CPUFREQ_NEED_UPDATE_LIMITS driver flag"), a cpufreq driver may need to >> update its internal frequency limits when policy min or max changes for >> drivers setting CPUFREQ_NEED_UPDATE_LIMITS. >> >> However, the early‑exit in cs_dbs_update() can prevent >> __cpufreq_driver_target() from ever being called. >> >> For example, when policy->min rises from 200 to 400 kHz while policy >> ->cur is already at 400 kHz, under low load: >> >> cpufreq_policy_apply_limits(): >> policy->min(400) > policy->cur(400) ? NO -> driver not called >> >> cs_limits(): >> dbs_info->requested_freq = policy->cur = 400 >> >> [next sampling period, low load] >> cs_dbs_update(): >> requested_freq = 400 >> if (requested_freq == policy->min) /* 400 == 400 -> true */ >> goto out; /* __cpufreq_driver_target() never called */ >> >> With the early‑exit removed, __cpufreq_driver_target() is called with >> target == policy->cur, and CPUFREQ_NEED_UPDATE_LIMITS ensures the driver >> is invoked to update its internal performance boundaries. > > I think we are all in agreement on this now ? > This approach looks good to me. -- Thx and BRs, Zhongqiu Han