Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp3238152lqp; Tue, 26 Mar 2024 03:51:28 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVNDWXM8FI5lcEeGd389lDvy6pap+6LibTBg3V1GHy6nbEZPcKkhj1kusy2zp3X9eJxi5cgaNquZGhf+RhGTsXEC3f2JJ81o5Vx5xMWCw== X-Google-Smtp-Source: AGHT+IG3FlJit3cy+Olwe6X08XN+eJoCpAcETWubYnUVQT3AkLzpCHO1oL5U8mwZMcHFa9NlLRfd X-Received: by 2002:a50:ab0e:0:b0:568:9936:b2e with SMTP id s14-20020a50ab0e000000b0056899360b2emr647695edc.24.1711450288778; Tue, 26 Mar 2024 03:51:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711450288; cv=pass; d=google.com; s=arc-20160816; b=m96LikLv+Z+1UyOqn+eTRhqzGdsjfKVMQ+hGomW53ti+wkOtBQmj4vQR4do1abWBBF EtD2oEDjLF639l1xHqTtJoNqQnPWRG9zWNlkZ3Dbd+aOHHHz6aju29pEXeP4mbhxxLdG K8EAzCWyfh3w/R/RIa3W5Fpha0ZUKLrRTBRxhpVQa+McKt0Hotlxa15MZd4ybC4Wg+o7 o1sSUEuf2m1HouNK2SPuLCvYRUKNHSSkOdWpLc/35vlt9tEQyQFm2KBxRVvVHVW4ftG9 w70Zxj6AnOV1jkJxglmKy0HfeYt5GH+VGmeW2n4g5zJATWWZ4ldasFWJfMqDbV646Fh2 cHAQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id; bh=NwT6FEkrkHdAL00lYlWIqjej9U/g0Zbto6DrhK2tcIk=; fh=Lh7W6TbxHAKrAtroVjryCKZwTt5nSgYom6Mkg1N6SZE=; b=b6VLZ1n+TpkKxLwODD3pUkpV8dT4sXHvKjrj0j4Ww4rKfCsBnJqNy7fX+PfVef0wBv /YsRwXJbh8tgf13PUC1kyC8P+J+qNH0T8bHzjQzL3CYIjEusHc/pM9VWWUv9Fa0HMDJa cmPa32f3r1jdb8onI14XDeFU8bqkRnfWDKoAJ0SPsEZIep7+u4ARLR+7Hmt8Q9N48/BC Jp7aksB+1dYE/PufuNZYHc5WtQsQ+zkCwqMUDFkeDzFaDcaKQiOWe3f6VC05hdUBpOiZ 905ba4SbO5BB7oes54VZOHNUElkJJcMMbeR5Ex6AARKdJx0KTlvQkK4v8hNexls28on2 8EmA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-118836-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-118836-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id i15-20020a05640242cf00b0056c06f5b037si2564417edc.315.2024.03.26.03.51.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Mar 2024 03:51:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-118836-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-118836-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-118836-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 72B211F639CB for ; Tue, 26 Mar 2024 10:51:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E29AE12B6C; Tue, 26 Mar 2024 10:51:19 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 711A35C99; Tue, 26 Mar 2024 10:51:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711450279; cv=none; b=u0InjfrMX1CUOdoVzHnyxKjsynupVZB+NzfYIe/w6zHWUgLIJWMDvReKoWvQGUHKP+M3DCfUK34BGPdvadTUzbsu6KXv1uuckzIBPetl4A1ptUgQ94iiZlLk3VfwRASUroJFDrbTJZ3lM23ChsA2UU15eCOc4ltt6zCShqbAFKM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711450279; c=relaxed/simple; bh=OI7JQ835ZCR5Y7ozOfvQut7gIaPuGOPU6h6L2IuhnbY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=IT3sbMmYXTJPHHp2xXI595sgEutFketBQT/GBaPLQY7vgi+pWbpVgFVaDEE/2McvblxDwxkoFusKTstksPJ74vXcYrE2iHNUD7jcAy1hbriO8HQU+hAsadJDduzvlYfA/W5qUoGORgoVCNjgxBgZP3xRkDrAFEBXbDMyxbQqowY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 55CA22F4; Tue, 26 Mar 2024 03:51:50 -0700 (PDT) Received: from [192.168.178.6] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C88923F64C; Tue, 26 Mar 2024 03:51:14 -0700 (PDT) Message-ID: Date: Tue, 26 Mar 2024 11:51:09 +0100 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: [RESEND][PATCH v2 2/4] PM: EM: Change the em_adjust_new_capacity() to re-use code Content-Language: en-US To: Lukasz Luba , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, sboyd@kernel.org, nm@ti.com, linux-samsung-soc@vger.kernel.org, daniel.lezcano@linaro.org, rafael@kernel.org, viresh.kumar@linaro.org, krzysztof.kozlowski@linaro.org, alim.akhtar@samsung.com, m.szyprowski@samsung.com, mhiramat@kernel.org References: <20240322110850.77086-1-lukasz.luba@arm.com> <20240322110850.77086-3-lukasz.luba@arm.com> From: Dietmar Eggemann In-Reply-To: <20240322110850.77086-3-lukasz.luba@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 22/03/2024 12:08, Lukasz Luba wrote: Maybe better : "PM: EM: Refactoring em_adjust_new_capacity()" ? > There is going to be a new update function addressing chip binning. > Therefore, some common code which can be refactored and called from > upcoming changes and em_adjust_new_capacity(). In this way the code > duplication can be avoided. IMHO, that's hard to digest. Extract em_table_dup() and em_recalc_and_update() from em_adjust_new_capacity(). Both functions will be later reused by the 'update EM due to chip binning' functionality. [...] > +static int em_recalc_and_update(struct device *dev, struct em_perf_domain *pd, > + struct em_perf_table __rcu *em_table) > +{ > + int ret; > + > + ret = em_compute_costs(dev, em_table->state, NULL, pd->nr_perf_states, > pd->flags); > - if (ret) { > - dev_warn(dev, "EM: compute costs failed\n"); > - return; > - } > + if (ret) > + goto free_em_table; There seems to be a subtle change in this patch. When em_compute_costs() fails now em_table_free() is called. This wasn't the case before when em_compute_costs() was directly called from em_adjust_new_capacity(). [...]