From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 156FCC433FE for ; Fri, 5 Nov 2021 19:51:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id ED346604DA for ; Fri, 5 Nov 2021 19:51:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232555AbhKETyP (ORCPT ); Fri, 5 Nov 2021 15:54:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44148 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232554AbhKETyO (ORCPT ); Fri, 5 Nov 2021 15:54:14 -0400 Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com [IPv6:2607:f8b0:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6E804C061205 for ; Fri, 5 Nov 2021 12:51:34 -0700 (PDT) Received: by mail-ot1-x333.google.com with SMTP id b5-20020a9d60c5000000b0055c6349ff22so3891585otk.13 for ; Fri, 05 Nov 2021 12:51:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kali.org; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=zab+Ou5F3dW/0ZI0DKEFUpycAWNeYtpXPO2oI479330=; b=KcqJhLbaoCexVm3KDkroByaRJ7lHmAQeK3eocFyPKufdbpWkkF77OSWmTJyBmS4EbW jHHIb/nS3qCIIQwDjMapXNFrnyC/hUn1srD0MPGA/r8t7N140uA/WfyrFVyPQrscIlrK SLs3vNwYKoGgwgY0XbZgmpuEl536B//TmdSAI5h3Gju5uF+CWwC1OuizoRA2WzzHRty3 he5j3o6H+9b53pBIiQ4YnU95WWl4344y2vlMiLw8mFtWXblOATFL4nRZEjpfhG9VCLAk 8sI6rr6dNaNn4JyPLsFtYt/iLwpTxF+JcmlmuxGKJoBL+q133GpWmDx9ylayRNipwLRI sypw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=zab+Ou5F3dW/0ZI0DKEFUpycAWNeYtpXPO2oI479330=; b=V3sv9B3IiG9Bkd7WcAGCVWvMvehwLQOnG+7FB617qHuZLky1CFRLD/qwEbNC91vfUt B5Yzwm3fO3yle78IGUjeEsVVjIk/uSkAH5gck5PgbNdscwCsSHTVEacqSqe6uFp5Id7N M/34Vgxe4vrX8wSzLrI5Hj8ejD91Oyw8knZ14UkEMWNp130NK3x3G6R+1/Zyv4HNBoFx 2YMdO1s6EVUGR6/OuuN34xcuN/FRk2wTk6jCKAfM0mC9FxRNwMjWfAEUUr782q9CC+c0 wTIBIXDn57h5x+zsIb/99CvOD9erHuhCq4DA5gYv40ZV/Od++Tm1oYADVpgZgUp7OwN/ riJg== X-Gm-Message-State: AOAM530EfzcQvtbScSbJw1YxJuQsvy4fb90AAQD10r6edKjTatUbd7jZ xdlhAeHN8gWoL0RJfxbB7ASaxA== X-Google-Smtp-Source: ABdhPJwwcJebiYj6bzdtbn3M7TB4ZyB2aAPZl+DRYQNGGHgqlwqzd2M4WHSiZ8HTWqu9YZ27mLAikg== X-Received: by 2002:a05:6830:91a:: with SMTP id v26mr31093705ott.313.1636141893687; Fri, 05 Nov 2021 12:51:33 -0700 (PDT) Received: from [192.168.11.48] (cpe-173-173-107-246.satx.res.rr.com. [173.173.107.246]) by smtp.gmail.com with ESMTPSA id x13sm2664707ooj.37.2021.11.05.12.51.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Nov 2021 12:51:33 -0700 (PDT) Message-ID: <74603569-2ff1-999e-9618-79261fdb0ee4@kali.org> Date: Fri, 5 Nov 2021 14:51:31 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: [PATCH v3 0/5] Refactor thermal pressure update to avoid code duplication Content-Language: en-US To: Thara Gopinath , Lukasz Luba Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, sudeep.holla@arm.com, will@kernel.org, catalin.marinas@arm.com, linux@armlinux.org.uk, gregkh@linuxfoundation.org, rafael@kernel.org, viresh.kumar@linaro.org, amitk@kernel.org, daniel.lezcano@linaro.org, amit.kachhap@gmail.com, bjorn.andersson@linaro.org, agross@kernel.org References: <20211103161020.26714-1-lukasz.luba@arm.com> <3cba148a-7077-7b6b-f131-dc65045aa348@arm.com> <9d533b6e-a81c-e823-fa6f-61fdea92fa65@kali.org> <74ea027b-b213-42b8-0f7d-275f3b84712e@linaro.org> From: Steev Klimaszewski In-Reply-To: <74ea027b-b213-42b8-0f7d-275f3b84712e@linaro.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On 11/5/21 2:18 PM, Thara Gopinath wrote: > > > On 11/5/21 1:33 PM, Steev Klimaszewski wrote: >> Hi, >> >> On 11/5/21 11:26 AM, Lukasz Luba wrote: >>> Hi Steev, >>> >>> On 11/5/21 3:39 PM, Steev Klimaszewski wrote: >>>> Hi Lukasz, >>>> >>> [snip] > Hi Steve, > > Does your system have enough load to hit the boost frequencies ? I > don't think this patch should affect hitting boost frequencies as > there is no error being returned from topology_update_thermal_pressure. > > The warning you are getting is because you have boost frequency > enabled and IIUC lmh enabled and thermal pressure framework bails out > due to boost_frequency being greater than what is available in per_cpu > freq_factor. This is because we do not recalculate freq_factor every > time boost is enabled / disabled. IIRC there were some discussions > around rebuilding scheduler domains and capacity with user space > changes to max frequency but it has never proceeded much. Till that > point, I think the right way, is to check whether the new capcity > exceeds the max_capacity of the cpu and if yes use max_capacity in > lieu of new_capacity to calculate thermal pressure. > Hi Thara, I should definitely be able to push it to 2.96GHz, however I'm simply not getting it at all with these patches applied. So, I'm currently compiling multiple applications - alacritty (https://github.com/alacritty/alacritty), and zellij (https://github.com/zellij-org/zellij), as well as running pixz on a 5.1GB file to compress it, and throwing in cpuburn-a53 (https://github.com/ssvb/cpuburn-arm) and I'm simply not getting 2.96GHz at all.  Ever.  I don't normally try to push it that high, but I wanted to see if we could ever hit it (the system was also never going above 86C) analyzing CPU 4:   driver: qcom-cpufreq-hw   CPUs which run at the same hardware frequency: 4 5 6 7   CPUs which need to have their frequency coordinated by software: 4 5 6 7   maximum transition latency: 4294.55 ms.   hardware limits: 826 MHz - 2.96 GHz   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz   available cpufreq governors: ondemand, conservative, powersave, userspace, performance, schedutil   current policy: frequency should be within 826 MHz and 2.84 GHz.                   The governor "schedutil" may decide which speed to use                   within this range.   current CPU frequency is 2.84 GHz.   cpufreq stats: 826 MHz:54.84%, 902 MHz:0.02%, 979 MHz:0.02%, 1.06 GHz:0.02%, 1.21 GHz:0.08%, 1.29 GHz:0.07%, 1.36 GHz:0.09%, 1.46 GHz:0.04%, 1.54 GHz:0.02%, 1.61 GHz:0.02%, 1.69 GHz:0.02%, 1.77 GHz:0.13%, 1.84 GHz:0.04%, 1.92 GHz:0.04%, 2.00 GHz:0.02%, 2.09 GHz:0.03%, 2.17 GHz:0.02%, 2.25 GHz:0.02%, 2.32 GHz:0.01%, 2.40 GHz:0.02%, 2.48 GHz:0.02%, 2.55 GHz:0.02%, 2.65 GHz:0.02%, 2.75 GHz:0.02%, 2.84 GHz:44.38%, 2.96 GHz:0.00%  (8066) analyzing CPU 5:   driver: qcom-cpufreq-hw   CPUs which run at the same hardware frequency: 4 5 6 7   CPUs which need to have their frequency coordinated by software: 4 5 6 7   maximum transition latency: 4294.55 ms.   hardware limits: 826 MHz - 2.96 GHz   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz   available cpufreq governors: ondemand, conservative, powersave, userspace, performance, schedutil   current policy: frequency should be within 826 MHz and 2.84 GHz.                   The governor "schedutil" may decide which speed to use                   within this range.   current CPU frequency is 2.84 GHz.   cpufreq stats: 826 MHz:54.84%, 902 MHz:0.02%, 979 MHz:0.02%, 1.06 GHz:0.02%, 1.21 GHz:0.08%, 1.29 GHz:0.07%, 1.36 GHz:0.09%, 1.46 GHz:0.04%, 1.54 GHz:0.02%, 1.61 GHz:0.02%, 1.69 GHz:0.02%, 1.77 GHz:0.13%, 1.84 GHz:0.04%, 1.92 GHz:0.04%, 2.00 GHz:0.02%, 2.09 GHz:0.03%, 2.17 GHz:0.02%, 2.25 GHz:0.02%, 2.32 GHz:0.01%, 2.40 GHz:0.02%, 2.48 GHz:0.02%, 2.55 GHz:0.02%, 2.65 GHz:0.02%, 2.75 GHz:0.02%, 2.84 GHz:44.38%, 2.96 GHz:0.00%  (8066) analyzing CPU 6:   driver: qcom-cpufreq-hw   CPUs which run at the same hardware frequency: 4 5 6 7   CPUs which need to have their frequency coordinated by software: 4 5 6 7   maximum transition latency: 4294.55 ms.   hardware limits: 826 MHz - 2.96 GHz   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz   available cpufreq governors: ondemand, conservative, powersave, userspace, performance, schedutil   current policy: frequency should be within 826 MHz and 2.84 GHz.                   The governor "schedutil" may decide which speed to use                   within this range.   current CPU frequency is 2.84 GHz.   cpufreq stats: 826 MHz:54.84%, 902 MHz:0.02%, 979 MHz:0.02%, 1.06 GHz:0.02%, 1.21 GHz:0.08%, 1.29 GHz:0.07%, 1.36 GHz:0.09%, 1.46 GHz:0.04%, 1.54 GHz:0.02%, 1.61 GHz:0.02%, 1.69 GHz:0.02%, 1.77 GHz:0.13%, 1.84 GHz:0.04%, 1.92 GHz:0.04%, 2.00 GHz:0.02%, 2.09 GHz:0.03%, 2.17 GHz:0.02%, 2.25 GHz:0.02%, 2.32 GHz:0.01%, 2.40 GHz:0.02%, 2.48 GHz:0.02%, 2.55 GHz:0.02%, 2.65 GHz:0.02%, 2.75 GHz:0.02%, 2.84 GHz:44.38%, 2.96 GHz:0.00%  (8066) analyzing CPU 7:   driver: qcom-cpufreq-hw   CPUs which run at the same hardware frequency: 4 5 6 7   CPUs which need to have their frequency coordinated by software: 4 5 6 7   maximum transition latency: 4294.55 ms.   hardware limits: 826 MHz - 2.96 GHz   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz   available cpufreq governors: ondemand, conservative, powersave, userspace, performance, schedutil   current policy: frequency should be within 826 MHz and 2.84 GHz.                   The governor "schedutil" may decide which speed to use                   within this range.   current CPU frequency is 2.84 GHz.   cpufreq stats: 826 MHz:54.84%, 902 MHz:0.02%, 979 MHz:0.02%, 1.06 GHz:0.02%, 1.21 GHz:0.08%, 1.29 GHz:0.07%, 1.36 GHz:0.09%, 1.46 GHz:0.04%, 1.54 GHz:0.02%, 1.61 GHz:0.02%, 1.69 GHz:0.02%, 1.77 GHz:0.13%, 1.84 GHz:0.04%, 1.92 GHz:0.04%, 2.00 GHz:0.02%, 2.09 GHz:0.03%, 2.17 GHz:0.02%, 2.25 GHz:0.02%, 2.32 GHz:0.01%, 2.40 GHz:0.02%, 2.48 GHz:0.02%, 2.55 GHz:0.02%, 2.65 GHz:0.02%, 2.75 GHz:0.02%, 2.84 GHz:44.38%, 2.96 GHz:0.00%  (8066) After removing this patchset, and rebooting and just compiling zellij: analyzing CPU 4:   driver: qcom-cpufreq-hw   CPUs which run at the same hardware frequency: 4 5 6 7   CPUs which need to have their frequency coordinated by software: 4 5 6 7   maximum transition latency: 4294.55 ms.   hardware limits: 826 MHz - 2.96 GHz   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz   available cpufreq governors: ondemand, conservative, powersave, userspace, performance, schedutil   current policy: frequency should be within 826 MHz and 2.84 GHz.                   The governor "schedutil" may decide which speed to use                   within this range.   current CPU frequency is 2.84 GHz.   cpufreq stats: 826 MHz:16.01%, 902 MHz:0.08%, 979 MHz:0.05%, 1.06 GHz:0.06%, 1.21 GHz:0.37%, 1.29 GHz:0.17%, 1.36 GHz:0.15%, 1.46 GHz:0.20%, 1.54 GHz:0.18%, 1.61 GHz:0.21%, 1.69 GHz:0.17%, 1.77 GHz:0.22%, 1.84 GHz:0.32%, 1.92 GHz:0.37%, 2.00 GHz:0.22%, 2.09 GHz:0.20%, 2.17 GHz:0.20%, 2.25 GHz:0.19%, 2.32 GHz:0.19%, 2.40 GHz:0.21%, 2.48 GHz:0.18%, 2.55 GHz:0.18%, 2.65 GHz:0.21%, 2.75 GHz:0.16%, 2.84 GHz:79.49%, 2.96 GHz:0.03%  (5315) analyzing CPU 5:   driver: qcom-cpufreq-hw   CPUs which run at the same hardware frequency: 4 5 6 7   CPUs which need to have their frequency coordinated by software: 4 5 6 7   maximum transition latency: 4294.55 ms.   hardware limits: 826 MHz - 2.96 GHz   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz   available cpufreq governors: ondemand, conservative, powersave, userspace, performance, schedutil   current policy: frequency should be within 826 MHz and 2.84 GHz.                   The governor "schedutil" may decide which speed to use                   within this range.   current CPU frequency is 2.84 GHz.   cpufreq stats: 826 MHz:16.01%, 902 MHz:0.08%, 979 MHz:0.05%, 1.06 GHz:0.06%, 1.21 GHz:0.37%, 1.29 GHz:0.17%, 1.36 GHz:0.15%, 1.46 GHz:0.20%, 1.54 GHz:0.18%, 1.61 GHz:0.21%, 1.69 GHz:0.17%, 1.77 GHz:0.22%, 1.84 GHz:0.32%, 1.92 GHz:0.37%, 2.00 GHz:0.22%, 2.09 GHz:0.20%, 2.17 GHz:0.20%, 2.25 GHz:0.19%, 2.32 GHz:0.19%, 2.40 GHz:0.21%, 2.48 GHz:0.18%, 2.55 GHz:0.18%, 2.65 GHz:0.21%, 2.75 GHz:0.16%, 2.84 GHz:79.49%, 2.96 GHz:0.03%  (5315) analyzing CPU 6:   driver: qcom-cpufreq-hw   CPUs which run at the same hardware frequency: 4 5 6 7   CPUs which need to have their frequency coordinated by software: 4 5 6 7   maximum transition latency: 4294.55 ms.   hardware limits: 826 MHz - 2.96 GHz   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz   available cpufreq governors: ondemand, conservative, powersave, userspace, performance, schedutil   current policy: frequency should be within 826 MHz and 2.84 GHz.                   The governor "schedutil" may decide which speed to use                   within this range.   current CPU frequency is 2.84 GHz.   cpufreq stats: 826 MHz:16.01%, 902 MHz:0.08%, 979 MHz:0.05%, 1.06 GHz:0.06%, 1.21 GHz:0.37%, 1.29 GHz:0.17%, 1.36 GHz:0.15%, 1.46 GHz:0.20%, 1.54 GHz:0.18%, 1.61 GHz:0.21%, 1.69 GHz:0.17%, 1.77 GHz:0.22%, 1.84 GHz:0.32%, 1.92 GHz:0.37%, 2.00 GHz:0.22%, 2.09 GHz:0.20%, 2.17 GHz:0.20%, 2.25 GHz:0.19%, 2.32 GHz:0.19%, 2.40 GHz:0.21%, 2.48 GHz:0.18%, 2.55 GHz:0.18%, 2.65 GHz:0.21%, 2.75 GHz:0.16%, 2.84 GHz:79.49%, 2.96 GHz:0.03%  (5315) analyzing CPU 7:   driver: qcom-cpufreq-hw   CPUs which run at the same hardware frequency: 4 5 6 7   CPUs which need to have their frequency coordinated by software: 4 5 6 7   maximum transition latency: 4294.55 ms.   hardware limits: 826 MHz - 2.96 GHz   available frequency steps: 826 MHz, 902 MHz, 979 MHz, 1.06 GHz, 1.21 GHz, 1.29 GHz, 1.36 GHz, 1.46 GHz, 1.54 GHz, 1.61 GHz, 1.69 GHz, 1.77 GHz, 1.84 GHz, 1.92 GHz, 2.00 GHz, 2.09 GHz, 2.17 GHz, 2.25 GHz, 2.32 GHz, 2.40 GHz, 2.48 GHz, 2.55 GHz, 2.65 GHz, 2.75 GHz, 2.84 GHz   available cpufreq governors: ondemand, conservative, powersave, userspace, performance, schedutil   current policy: frequency should be within 826 MHz and 2.84 GHz.                   The governor "schedutil" may decide which speed to use                   within this range.   current CPU frequency is 2.84 GHz.   cpufreq stats: 826 MHz:16.01%, 902 MHz:0.08%, 979 MHz:0.05%, 1.06 GHz:0.06%, 1.21 GHz:0.37%, 1.29 GHz:0.17%, 1.36 GHz:0.15%, 1.46 GHz:0.20%, 1.54 GHz:0.18%, 1.61 GHz:0.21%, 1.69 GHz:0.17%, 1.77 GHz:0.22%, 1.84 GHz:0.32%, 1.92 GHz:0.37%, 2.00 GHz:0.22%, 2.09 GHz:0.20%, 2.17 GHz:0.20%, 2.25 GHz:0.19%, 2.32 GHz:0.19%, 2.40 GHz:0.21%, 2.48 GHz:0.18%, 2.55 GHz:0.18%, 2.65 GHz:0.21%, 2.75 GHz:0.16%, 2.84 GHz:79.49%, 2.96 GHz:0.03%  (5315) >> >> Thank you for the fast response! >> >> -- steev >> > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3251AC433EF for ; Fri, 5 Nov 2021 19:53:10 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D762E60EB4 for ; Fri, 5 Nov 2021 19:53:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D762E60EB4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kali.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=K1qITZahVG6quh4T04idYhpeX4SkiMmOQJnSpJb+rCk=; b=ZNVR69mGv9mVRc JyieVK7QD8uscgReKjYarezyUF7aoi+ZOGlHmHeEnED970yHDHi2XtR/nHJW0wNdrgkzvJJLbA5Eg drpr2ZP1ZB1JZAaYWOMJeZ5talNDksxcbAJFpUe5iPkK7ym0FQCzLMl0KmTZvX97pGkzxfoOZ8aS2 FgRQ0+ELn1LhN/WT770xbQXh/soE7k63TIGKqfljojCTYjkQxnvfeW0rzvXMvppAU2AkVoDGP3zYW 24+QWDcoXPxEQEay5l89Z2vWVbT7DmfJ0aeh3lzP56gXU/3MsHn1JCEIaziXxmiWfvlenv3FERFvD GbsRKSSIIOFekYYlV2uw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mj5FT-00CEd4-LM; Fri, 05 Nov 2021 19:51:39 +0000 Received: from mail-ot1-x331.google.com ([2607:f8b0:4864:20::331]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mj5FP-00CEbW-4Y for linux-arm-kernel@lists.infradead.org; Fri, 05 Nov 2021 19:51:37 +0000 Received: by mail-ot1-x331.google.com with SMTP id t21-20020a9d7295000000b0055bf1807972so6531068otj.8 for ; Fri, 05 Nov 2021 12:51:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kali.org; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=zab+Ou5F3dW/0ZI0DKEFUpycAWNeYtpXPO2oI479330=; b=KcqJhLbaoCexVm3KDkroByaRJ7lHmAQeK3eocFyPKufdbpWkkF77OSWmTJyBmS4EbW jHHIb/nS3qCIIQwDjMapXNFrnyC/hUn1srD0MPGA/r8t7N140uA/WfyrFVyPQrscIlrK SLs3vNwYKoGgwgY0XbZgmpuEl536B//TmdSAI5h3Gju5uF+CWwC1OuizoRA2WzzHRty3 he5j3o6H+9b53pBIiQ4YnU95WWl4344y2vlMiLw8mFtWXblOATFL4nRZEjpfhG9VCLAk 8sI6rr6dNaNn4JyPLsFtYt/iLwpTxF+JcmlmuxGKJoBL+q133GpWmDx9ylayRNipwLRI sypw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=zab+Ou5F3dW/0ZI0DKEFUpycAWNeYtpXPO2oI479330=; b=DBEL/yLfvZ1sheWpKmykhqfwGOqC/lP7M+5RMZEk3DHe39aeXU4FsBN31Ocar/2o7A cSz1KqzbXMAV4tkYhRwzuCDXEIlT1mJkC5iqSbZxPdnapFOczCUr36Wrp+mzbYh6JEDP E3EKqm3WDbnjEqLpzsQN7vbW0Ytj4nEIl2zo2B7I6d9e2qnoNJWVVstbf9FgI8hWUhKg k5+LnfjRwa1vvD1bqFOF9l0fi4gaCvAbUUOXqBI3X2AVffyzYexPk/qimYikLzGptHcp yOQkPPD9SHXx8JPdUcUIWQyaFEDzFb6BRApJoJGYGc9GE47MmxybE8Ow81YwNwm8Db68 wPPg== X-Gm-Message-State: AOAM533krfxC24ketaU0mDBgGkbNC1RmijNEre089D3yQa05pGx8Qt6g JscUbwvyJH0lcIuncRtCj7/KSQ== X-Google-Smtp-Source: ABdhPJwwcJebiYj6bzdtbn3M7TB4ZyB2aAPZl+DRYQNGGHgqlwqzd2M4WHSiZ8HTWqu9YZ27mLAikg== X-Received: by 2002:a05:6830:91a:: with SMTP id v26mr31093705ott.313.1636141893687; Fri, 05 Nov 2021 12:51:33 -0700 (PDT) Received: from [192.168.11.48] (cpe-173-173-107-246.satx.res.rr.com. [173.173.107.246]) by smtp.gmail.com with ESMTPSA id x13sm2664707ooj.37.2021.11.05.12.51.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Nov 2021 12:51:33 -0700 (PDT) Message-ID: <74603569-2ff1-999e-9618-79261fdb0ee4@kali.org> Date: Fri, 5 Nov 2021 14:51:31 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: [PATCH v3 0/5] Refactor thermal pressure update to avoid code duplication Content-Language: en-US To: Thara Gopinath , Lukasz Luba Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, sudeep.holla@arm.com, will@kernel.org, catalin.marinas@arm.com, linux@armlinux.org.uk, gregkh@linuxfoundation.org, rafael@kernel.org, viresh.kumar@linaro.org, amitk@kernel.org, daniel.lezcano@linaro.org, amit.kachhap@gmail.com, bjorn.andersson@linaro.org, agross@kernel.org References: <20211103161020.26714-1-lukasz.luba@arm.com> <3cba148a-7077-7b6b-f131-dc65045aa348@arm.com> <9d533b6e-a81c-e823-fa6f-61fdea92fa65@kali.org> <74ea027b-b213-42b8-0f7d-275f3b84712e@linaro.org> From: Steev Klimaszewski In-Reply-To: <74ea027b-b213-42b8-0f7d-275f3b84712e@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211105_125135_354603_5AB3A3C6 X-CRM114-Status: GOOD ( 22.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ck9uIDExLzUvMjEgMjoxOCBQTSwgVGhhcmEgR29waW5hdGggd3JvdGU6Cj4KPgo+IE9uIDExLzUv MjEgMTozMyBQTSwgU3RlZXYgS2xpbWFzemV3c2tpIHdyb3RlOgo+PiBIaSwKPj4KPj4gT24gMTEv NS8yMSAxMToyNiBBTSwgTHVrYXN6IEx1YmEgd3JvdGU6Cj4+PiBIaSBTdGVldiwKPj4+Cj4+PiBP biAxMS81LzIxIDM6MzkgUE0sIFN0ZWV2IEtsaW1hc3pld3NraSB3cm90ZToKPj4+PiBIaSBMdWth c3osCj4+Pj4KPj4+IFtzbmlwXQo+IEhpIFN0ZXZlLAo+Cj4gRG9lcyB5b3VyIHN5c3RlbSBoYXZl IGVub3VnaCBsb2FkIHRvIGhpdCB0aGUgYm9vc3QgZnJlcXVlbmNpZXMgPyBJIAo+IGRvbid0IHRo aW5rIHRoaXMgcGF0Y2ggc2hvdWxkIGFmZmVjdCBoaXR0aW5nIGJvb3N0IGZyZXF1ZW5jaWVzIGFz IAo+IHRoZXJlIGlzIG5vIGVycm9yIGJlaW5nIHJldHVybmVkIGZyb20gdG9wb2xvZ3lfdXBkYXRl X3RoZXJtYWxfcHJlc3N1cmUuCj4KPiBUaGUgd2FybmluZyB5b3UgYXJlIGdldHRpbmcgaXMgYmVj YXVzZSB5b3UgaGF2ZSBib29zdCBmcmVxdWVuY3kgCj4gZW5hYmxlZCBhbmQgSUlVQyBsbWggZW5h YmxlZCBhbmQgdGhlcm1hbCBwcmVzc3VyZSBmcmFtZXdvcmsgYmFpbHMgb3V0IAo+IGR1ZSB0byBi b29zdF9mcmVxdWVuY3kgYmVpbmcgZ3JlYXRlciB0aGFuIHdoYXQgaXMgYXZhaWxhYmxlIGluIHBl cl9jcHUgCj4gZnJlcV9mYWN0b3IuIFRoaXMgaXMgYmVjYXVzZSB3ZSBkbyBub3QgcmVjYWxjdWxh dGUgZnJlcV9mYWN0b3IgZXZlcnkgCj4gdGltZSBib29zdCBpcyBlbmFibGVkIC8gZGlzYWJsZWQu IElJUkMgdGhlcmUgd2VyZSBzb21lIGRpc2N1c3Npb25zIAo+IGFyb3VuZCByZWJ1aWxkaW5nIHNj aGVkdWxlciBkb21haW5zIGFuZCBjYXBhY2l0eSB3aXRoIHVzZXIgc3BhY2UgCj4gY2hhbmdlcyB0 byBtYXggZnJlcXVlbmN5IGJ1dCBpdCBoYXMgbmV2ZXIgcHJvY2VlZGVkIG11Y2guIFRpbGwgdGhh dCAKPiBwb2ludCwgSSB0aGluayB0aGUgcmlnaHQgd2F5LCBpcyB0byBjaGVjayB3aGV0aGVyIHRo ZSBuZXcgY2FwY2l0eSAKPiBleGNlZWRzIHRoZSBtYXhfY2FwYWNpdHkgb2YgdGhlIGNwdSBhbmQg aWYgeWVzIHVzZSBtYXhfY2FwYWNpdHkgaW4gCj4gbGlldSBvZiBuZXdfY2FwYWNpdHkgdG8gY2Fs Y3VsYXRlIHRoZXJtYWwgcHJlc3N1cmUuCj4KSGkgVGhhcmEsCgpJIHNob3VsZCBkZWZpbml0ZWx5 IGJlIGFibGUgdG8gcHVzaCBpdCB0byAyLjk2R0h6LCBob3dldmVyIEknbSBzaW1wbHkgCm5vdCBn ZXR0aW5nIGl0IGF0IGFsbCB3aXRoIHRoZXNlIHBhdGNoZXMgYXBwbGllZC4KClNvLCBJJ20gY3Vy cmVudGx5IGNvbXBpbGluZyBtdWx0aXBsZSBhcHBsaWNhdGlvbnMgLSBhbGFjcml0dHkgCihodHRw czovL2dpdGh1Yi5jb20vYWxhY3JpdHR5L2FsYWNyaXR0eSksIGFuZCB6ZWxsaWogCihodHRwczov L2dpdGh1Yi5jb20vemVsbGlqLW9yZy96ZWxsaWopLCBhcyB3ZWxsIGFzIHJ1bm5pbmcgcGl4eiBv biBhIAo1LjFHQiBmaWxlIHRvIGNvbXByZXNzIGl0LCBhbmQgdGhyb3dpbmcgaW4gY3B1YnVybi1h NTMgCihodHRwczovL2dpdGh1Yi5jb20vc3N2Yi9jcHVidXJuLWFybSkgYW5kIEknbSBzaW1wbHkg bm90IGdldHRpbmcgMi45NkdIeiAKYXQgYWxsLsKgIEV2ZXIuwqAgSSBkb24ndCBub3JtYWxseSB0 cnkgdG8gcHVzaCBpdCB0aGF0IGhpZ2gsIGJ1dCBJIHdhbnRlZCAKdG8gc2VlIGlmIHdlIGNvdWxk IGV2ZXIgaGl0IGl0ICh0aGUgc3lzdGVtIHdhcyBhbHNvIG5ldmVyIGdvaW5nIGFib3ZlIDg2QykK CmFuYWx5emluZyBDUFUgNDoKIMKgIGRyaXZlcjogcWNvbS1jcHVmcmVxLWh3CiDCoCBDUFVzIHdo aWNoIHJ1biBhdCB0aGUgc2FtZSBoYXJkd2FyZSBmcmVxdWVuY3k6IDQgNSA2IDcKIMKgIENQVXMg d2hpY2ggbmVlZCB0byBoYXZlIHRoZWlyIGZyZXF1ZW5jeSBjb29yZGluYXRlZCBieSBzb2Z0d2Fy ZTogNCA1IDYgNwogwqAgbWF4aW11bSB0cmFuc2l0aW9uIGxhdGVuY3k6IDQyOTQuNTUgbXMuCiDC oCBoYXJkd2FyZSBsaW1pdHM6IDgyNiBNSHogLSAyLjk2IEdIegogwqAgYXZhaWxhYmxlIGZyZXF1 ZW5jeSBzdGVwczogODI2IE1IeiwgOTAyIE1IeiwgOTc5IE1IeiwgMS4wNiBHSHosIDEuMjEgCkdI eiwgMS4yOSBHSHosIDEuMzYgR0h6LCAxLjQ2IEdIeiwgMS41NCBHSHosIDEuNjEgR0h6LCAxLjY5 IEdIeiwgMS43NyAKR0h6LCAxLjg0IEdIeiwgMS45MiBHSHosIDIuMDAgR0h6LCAyLjA5IEdIeiwg Mi4xNyBHSHosIDIuMjUgR0h6LCAyLjMyIApHSHosIDIuNDAgR0h6LCAyLjQ4IEdIeiwgMi41NSBH SHosIDIuNjUgR0h6LCAyLjc1IEdIeiwgMi44NCBHSHoKIMKgIGF2YWlsYWJsZSBjcHVmcmVxIGdv dmVybm9yczogb25kZW1hbmQsIGNvbnNlcnZhdGl2ZSwgcG93ZXJzYXZlLCAKdXNlcnNwYWNlLCBw ZXJmb3JtYW5jZSwgc2NoZWR1dGlsCiDCoCBjdXJyZW50IHBvbGljeTogZnJlcXVlbmN5IHNob3Vs ZCBiZSB3aXRoaW4gODI2IE1IeiBhbmQgMi44NCBHSHouCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIFRoZSBnb3Zlcm5vciAic2NoZWR1dGlsIiBtYXkgZGVjaWRlIHdoaWNoIHNw ZWVkIHRvIHVzZQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aXRoaW4gdGhp cyByYW5nZS4KIMKgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5jeSBpcyAyLjg0IEdIei4KIMKgIGNwdWZy ZXEgc3RhdHM6IDgyNiBNSHo6NTQuODQlLCA5MDIgTUh6OjAuMDIlLCA5NzkgTUh6OjAuMDIlLCAx LjA2IApHSHo6MC4wMiUsIDEuMjEgR0h6OjAuMDglLCAxLjI5IEdIejowLjA3JSwgMS4zNiBHSHo6 MC4wOSUsIDEuNDYgCkdIejowLjA0JSwgMS41NCBHSHo6MC4wMiUsIDEuNjEgR0h6OjAuMDIlLCAx LjY5IEdIejowLjAyJSwgMS43NyAKR0h6OjAuMTMlLCAxLjg0IEdIejowLjA0JSwgMS45MiBHSHo6 MC4wNCUsIDIuMDAgR0h6OjAuMDIlLCAyLjA5IApHSHo6MC4wMyUsIDIuMTcgR0h6OjAuMDIlLCAy LjI1IEdIejowLjAyJSwgMi4zMiBHSHo6MC4wMSUsIDIuNDAgCkdIejowLjAyJSwgMi40OCBHSHo6 MC4wMiUsIDIuNTUgR0h6OjAuMDIlLCAyLjY1IEdIejowLjAyJSwgMi43NSAKR0h6OjAuMDIlLCAy Ljg0IEdIejo0NC4zOCUsIDIuOTYgR0h6OjAuMDAlwqAgKDgwNjYpCmFuYWx5emluZyBDUFUgNToK IMKgIGRyaXZlcjogcWNvbS1jcHVmcmVxLWh3CiDCoCBDUFVzIHdoaWNoIHJ1biBhdCB0aGUgc2Ft ZSBoYXJkd2FyZSBmcmVxdWVuY3k6IDQgNSA2IDcKIMKgIENQVXMgd2hpY2ggbmVlZCB0byBoYXZl IHRoZWlyIGZyZXF1ZW5jeSBjb29yZGluYXRlZCBieSBzb2Z0d2FyZTogNCA1IDYgNwogwqAgbWF4 aW11bSB0cmFuc2l0aW9uIGxhdGVuY3k6IDQyOTQuNTUgbXMuCiDCoCBoYXJkd2FyZSBsaW1pdHM6 IDgyNiBNSHogLSAyLjk2IEdIegogwqAgYXZhaWxhYmxlIGZyZXF1ZW5jeSBzdGVwczogODI2IE1I eiwgOTAyIE1IeiwgOTc5IE1IeiwgMS4wNiBHSHosIDEuMjEgCkdIeiwgMS4yOSBHSHosIDEuMzYg R0h6LCAxLjQ2IEdIeiwgMS41NCBHSHosIDEuNjEgR0h6LCAxLjY5IEdIeiwgMS43NyAKR0h6LCAx Ljg0IEdIeiwgMS45MiBHSHosIDIuMDAgR0h6LCAyLjA5IEdIeiwgMi4xNyBHSHosIDIuMjUgR0h6 LCAyLjMyIApHSHosIDIuNDAgR0h6LCAyLjQ4IEdIeiwgMi41NSBHSHosIDIuNjUgR0h6LCAyLjc1 IEdIeiwgMi44NCBHSHoKIMKgIGF2YWlsYWJsZSBjcHVmcmVxIGdvdmVybm9yczogb25kZW1hbmQs IGNvbnNlcnZhdGl2ZSwgcG93ZXJzYXZlLCAKdXNlcnNwYWNlLCBwZXJmb3JtYW5jZSwgc2NoZWR1 dGlsCiDCoCBjdXJyZW50IHBvbGljeTogZnJlcXVlbmN5IHNob3VsZCBiZSB3aXRoaW4gODI2IE1I eiBhbmQgMi44NCBHSHouCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRoZSBn b3Zlcm5vciAic2NoZWR1dGlsIiBtYXkgZGVjaWRlIHdoaWNoIHNwZWVkIHRvIHVzZQogwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aXRoaW4gdGhpcyByYW5nZS4KIMKgIGN1cnJl bnQgQ1BVIGZyZXF1ZW5jeSBpcyAyLjg0IEdIei4KIMKgIGNwdWZyZXEgc3RhdHM6IDgyNiBNSHo6 NTQuODQlLCA5MDIgTUh6OjAuMDIlLCA5NzkgTUh6OjAuMDIlLCAxLjA2IApHSHo6MC4wMiUsIDEu MjEgR0h6OjAuMDglLCAxLjI5IEdIejowLjA3JSwgMS4zNiBHSHo6MC4wOSUsIDEuNDYgCkdIejow LjA0JSwgMS41NCBHSHo6MC4wMiUsIDEuNjEgR0h6OjAuMDIlLCAxLjY5IEdIejowLjAyJSwgMS43 NyAKR0h6OjAuMTMlLCAxLjg0IEdIejowLjA0JSwgMS45MiBHSHo6MC4wNCUsIDIuMDAgR0h6OjAu MDIlLCAyLjA5IApHSHo6MC4wMyUsIDIuMTcgR0h6OjAuMDIlLCAyLjI1IEdIejowLjAyJSwgMi4z MiBHSHo6MC4wMSUsIDIuNDAgCkdIejowLjAyJSwgMi40OCBHSHo6MC4wMiUsIDIuNTUgR0h6OjAu MDIlLCAyLjY1IEdIejowLjAyJSwgMi43NSAKR0h6OjAuMDIlLCAyLjg0IEdIejo0NC4zOCUsIDIu OTYgR0h6OjAuMDAlwqAgKDgwNjYpCmFuYWx5emluZyBDUFUgNjoKIMKgIGRyaXZlcjogcWNvbS1j cHVmcmVxLWh3CiDCoCBDUFVzIHdoaWNoIHJ1biBhdCB0aGUgc2FtZSBoYXJkd2FyZSBmcmVxdWVu Y3k6IDQgNSA2IDcKIMKgIENQVXMgd2hpY2ggbmVlZCB0byBoYXZlIHRoZWlyIGZyZXF1ZW5jeSBj b29yZGluYXRlZCBieSBzb2Z0d2FyZTogNCA1IDYgNwogwqAgbWF4aW11bSB0cmFuc2l0aW9uIGxh dGVuY3k6IDQyOTQuNTUgbXMuCiDCoCBoYXJkd2FyZSBsaW1pdHM6IDgyNiBNSHogLSAyLjk2IEdI egogwqAgYXZhaWxhYmxlIGZyZXF1ZW5jeSBzdGVwczogODI2IE1IeiwgOTAyIE1IeiwgOTc5IE1I eiwgMS4wNiBHSHosIDEuMjEgCkdIeiwgMS4yOSBHSHosIDEuMzYgR0h6LCAxLjQ2IEdIeiwgMS41 NCBHSHosIDEuNjEgR0h6LCAxLjY5IEdIeiwgMS43NyAKR0h6LCAxLjg0IEdIeiwgMS45MiBHSHos IDIuMDAgR0h6LCAyLjA5IEdIeiwgMi4xNyBHSHosIDIuMjUgR0h6LCAyLjMyIApHSHosIDIuNDAg R0h6LCAyLjQ4IEdIeiwgMi41NSBHSHosIDIuNjUgR0h6LCAyLjc1IEdIeiwgMi44NCBHSHoKIMKg IGF2YWlsYWJsZSBjcHVmcmVxIGdvdmVybm9yczogb25kZW1hbmQsIGNvbnNlcnZhdGl2ZSwgcG93 ZXJzYXZlLCAKdXNlcnNwYWNlLCBwZXJmb3JtYW5jZSwgc2NoZWR1dGlsCiDCoCBjdXJyZW50IHBv bGljeTogZnJlcXVlbmN5IHNob3VsZCBiZSB3aXRoaW4gODI2IE1IeiBhbmQgMi44NCBHSHouCiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRoZSBnb3Zlcm5vciAic2NoZWR1dGls IiBtYXkgZGVjaWRlIHdoaWNoIHNwZWVkIHRvIHVzZQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB3aXRoaW4gdGhpcyByYW5nZS4KIMKgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5jeSBp cyAyLjg0IEdIei4KIMKgIGNwdWZyZXEgc3RhdHM6IDgyNiBNSHo6NTQuODQlLCA5MDIgTUh6OjAu MDIlLCA5NzkgTUh6OjAuMDIlLCAxLjA2IApHSHo6MC4wMiUsIDEuMjEgR0h6OjAuMDglLCAxLjI5 IEdIejowLjA3JSwgMS4zNiBHSHo6MC4wOSUsIDEuNDYgCkdIejowLjA0JSwgMS41NCBHSHo6MC4w MiUsIDEuNjEgR0h6OjAuMDIlLCAxLjY5IEdIejowLjAyJSwgMS43NyAKR0h6OjAuMTMlLCAxLjg0 IEdIejowLjA0JSwgMS45MiBHSHo6MC4wNCUsIDIuMDAgR0h6OjAuMDIlLCAyLjA5IApHSHo6MC4w MyUsIDIuMTcgR0h6OjAuMDIlLCAyLjI1IEdIejowLjAyJSwgMi4zMiBHSHo6MC4wMSUsIDIuNDAg CkdIejowLjAyJSwgMi40OCBHSHo6MC4wMiUsIDIuNTUgR0h6OjAuMDIlLCAyLjY1IEdIejowLjAy JSwgMi43NSAKR0h6OjAuMDIlLCAyLjg0IEdIejo0NC4zOCUsIDIuOTYgR0h6OjAuMDAlwqAgKDgw NjYpCmFuYWx5emluZyBDUFUgNzoKIMKgIGRyaXZlcjogcWNvbS1jcHVmcmVxLWh3CiDCoCBDUFVz IHdoaWNoIHJ1biBhdCB0aGUgc2FtZSBoYXJkd2FyZSBmcmVxdWVuY3k6IDQgNSA2IDcKIMKgIENQ VXMgd2hpY2ggbmVlZCB0byBoYXZlIHRoZWlyIGZyZXF1ZW5jeSBjb29yZGluYXRlZCBieSBzb2Z0 d2FyZTogNCA1IDYgNwogwqAgbWF4aW11bSB0cmFuc2l0aW9uIGxhdGVuY3k6IDQyOTQuNTUgbXMu CiDCoCBoYXJkd2FyZSBsaW1pdHM6IDgyNiBNSHogLSAyLjk2IEdIegogwqAgYXZhaWxhYmxlIGZy ZXF1ZW5jeSBzdGVwczogODI2IE1IeiwgOTAyIE1IeiwgOTc5IE1IeiwgMS4wNiBHSHosIDEuMjEg CkdIeiwgMS4yOSBHSHosIDEuMzYgR0h6LCAxLjQ2IEdIeiwgMS41NCBHSHosIDEuNjEgR0h6LCAx LjY5IEdIeiwgMS43NyAKR0h6LCAxLjg0IEdIeiwgMS45MiBHSHosIDIuMDAgR0h6LCAyLjA5IEdI eiwgMi4xNyBHSHosIDIuMjUgR0h6LCAyLjMyIApHSHosIDIuNDAgR0h6LCAyLjQ4IEdIeiwgMi41 NSBHSHosIDIuNjUgR0h6LCAyLjc1IEdIeiwgMi44NCBHSHoKIMKgIGF2YWlsYWJsZSBjcHVmcmVx IGdvdmVybm9yczogb25kZW1hbmQsIGNvbnNlcnZhdGl2ZSwgcG93ZXJzYXZlLCAKdXNlcnNwYWNl LCBwZXJmb3JtYW5jZSwgc2NoZWR1dGlsCiDCoCBjdXJyZW50IHBvbGljeTogZnJlcXVlbmN5IHNo b3VsZCBiZSB3aXRoaW4gODI2IE1IeiBhbmQgMi44NCBHSHouCiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIFRoZSBnb3Zlcm5vciAic2NoZWR1dGlsIiBtYXkgZGVjaWRlIHdoaWNo IHNwZWVkIHRvIHVzZQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aXRoaW4g dGhpcyByYW5nZS4KIMKgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5jeSBpcyAyLjg0IEdIei4KIMKgIGNw dWZyZXEgc3RhdHM6IDgyNiBNSHo6NTQuODQlLCA5MDIgTUh6OjAuMDIlLCA5NzkgTUh6OjAuMDIl LCAxLjA2IApHSHo6MC4wMiUsIDEuMjEgR0h6OjAuMDglLCAxLjI5IEdIejowLjA3JSwgMS4zNiBH SHo6MC4wOSUsIDEuNDYgCkdIejowLjA0JSwgMS41NCBHSHo6MC4wMiUsIDEuNjEgR0h6OjAuMDIl LCAxLjY5IEdIejowLjAyJSwgMS43NyAKR0h6OjAuMTMlLCAxLjg0IEdIejowLjA0JSwgMS45MiBH SHo6MC4wNCUsIDIuMDAgR0h6OjAuMDIlLCAyLjA5IApHSHo6MC4wMyUsIDIuMTcgR0h6OjAuMDIl LCAyLjI1IEdIejowLjAyJSwgMi4zMiBHSHo6MC4wMSUsIDIuNDAgCkdIejowLjAyJSwgMi40OCBH SHo6MC4wMiUsIDIuNTUgR0h6OjAuMDIlLCAyLjY1IEdIejowLjAyJSwgMi43NSAKR0h6OjAuMDIl LCAyLjg0IEdIejo0NC4zOCUsIDIuOTYgR0h6OjAuMDAlwqAgKDgwNjYpCgoKCkFmdGVyIHJlbW92 aW5nIHRoaXMgcGF0Y2hzZXQsIGFuZCByZWJvb3RpbmcgYW5kIGp1c3QgY29tcGlsaW5nIHplbGxp ajoKCmFuYWx5emluZyBDUFUgNDoKIMKgIGRyaXZlcjogcWNvbS1jcHVmcmVxLWh3CiDCoCBDUFVz IHdoaWNoIHJ1biBhdCB0aGUgc2FtZSBoYXJkd2FyZSBmcmVxdWVuY3k6IDQgNSA2IDcKIMKgIENQ VXMgd2hpY2ggbmVlZCB0byBoYXZlIHRoZWlyIGZyZXF1ZW5jeSBjb29yZGluYXRlZCBieSBzb2Z0 d2FyZTogNCA1IDYgNwogwqAgbWF4aW11bSB0cmFuc2l0aW9uIGxhdGVuY3k6IDQyOTQuNTUgbXMu CiDCoCBoYXJkd2FyZSBsaW1pdHM6IDgyNiBNSHogLSAyLjk2IEdIegogwqAgYXZhaWxhYmxlIGZy ZXF1ZW5jeSBzdGVwczogODI2IE1IeiwgOTAyIE1IeiwgOTc5IE1IeiwgMS4wNiBHSHosIDEuMjEg CkdIeiwgMS4yOSBHSHosIDEuMzYgR0h6LCAxLjQ2IEdIeiwgMS41NCBHSHosIDEuNjEgR0h6LCAx LjY5IEdIeiwgMS43NyAKR0h6LCAxLjg0IEdIeiwgMS45MiBHSHosIDIuMDAgR0h6LCAyLjA5IEdI eiwgMi4xNyBHSHosIDIuMjUgR0h6LCAyLjMyIApHSHosIDIuNDAgR0h6LCAyLjQ4IEdIeiwgMi41 NSBHSHosIDIuNjUgR0h6LCAyLjc1IEdIeiwgMi44NCBHSHoKIMKgIGF2YWlsYWJsZSBjcHVmcmVx IGdvdmVybm9yczogb25kZW1hbmQsIGNvbnNlcnZhdGl2ZSwgcG93ZXJzYXZlLCAKdXNlcnNwYWNl LCBwZXJmb3JtYW5jZSwgc2NoZWR1dGlsCiDCoCBjdXJyZW50IHBvbGljeTogZnJlcXVlbmN5IHNo b3VsZCBiZSB3aXRoaW4gODI2IE1IeiBhbmQgMi44NCBHSHouCiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIFRoZSBnb3Zlcm5vciAic2NoZWR1dGlsIiBtYXkgZGVjaWRlIHdoaWNo IHNwZWVkIHRvIHVzZQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aXRoaW4g dGhpcyByYW5nZS4KIMKgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5jeSBpcyAyLjg0IEdIei4KIMKgIGNw dWZyZXEgc3RhdHM6IDgyNiBNSHo6MTYuMDElLCA5MDIgTUh6OjAuMDglLCA5NzkgTUh6OjAuMDUl LCAxLjA2IApHSHo6MC4wNiUsIDEuMjEgR0h6OjAuMzclLCAxLjI5IEdIejowLjE3JSwgMS4zNiBH SHo6MC4xNSUsIDEuNDYgCkdIejowLjIwJSwgMS41NCBHSHo6MC4xOCUsIDEuNjEgR0h6OjAuMjEl LCAxLjY5IEdIejowLjE3JSwgMS43NyAKR0h6OjAuMjIlLCAxLjg0IEdIejowLjMyJSwgMS45MiBH SHo6MC4zNyUsIDIuMDAgR0h6OjAuMjIlLCAyLjA5IApHSHo6MC4yMCUsIDIuMTcgR0h6OjAuMjAl LCAyLjI1IEdIejowLjE5JSwgMi4zMiBHSHo6MC4xOSUsIDIuNDAgCkdIejowLjIxJSwgMi40OCBH SHo6MC4xOCUsIDIuNTUgR0h6OjAuMTglLCAyLjY1IEdIejowLjIxJSwgMi43NSAKR0h6OjAuMTYl LCAyLjg0IEdIejo3OS40OSUsIDIuOTYgR0h6OjAuMDMlwqAgKDUzMTUpCmFuYWx5emluZyBDUFUg NToKIMKgIGRyaXZlcjogcWNvbS1jcHVmcmVxLWh3CiDCoCBDUFVzIHdoaWNoIHJ1biBhdCB0aGUg c2FtZSBoYXJkd2FyZSBmcmVxdWVuY3k6IDQgNSA2IDcKIMKgIENQVXMgd2hpY2ggbmVlZCB0byBo YXZlIHRoZWlyIGZyZXF1ZW5jeSBjb29yZGluYXRlZCBieSBzb2Z0d2FyZTogNCA1IDYgNwogwqAg bWF4aW11bSB0cmFuc2l0aW9uIGxhdGVuY3k6IDQyOTQuNTUgbXMuCiDCoCBoYXJkd2FyZSBsaW1p dHM6IDgyNiBNSHogLSAyLjk2IEdIegogwqAgYXZhaWxhYmxlIGZyZXF1ZW5jeSBzdGVwczogODI2 IE1IeiwgOTAyIE1IeiwgOTc5IE1IeiwgMS4wNiBHSHosIDEuMjEgCkdIeiwgMS4yOSBHSHosIDEu MzYgR0h6LCAxLjQ2IEdIeiwgMS41NCBHSHosIDEuNjEgR0h6LCAxLjY5IEdIeiwgMS43NyAKR0h6 LCAxLjg0IEdIeiwgMS45MiBHSHosIDIuMDAgR0h6LCAyLjA5IEdIeiwgMi4xNyBHSHosIDIuMjUg R0h6LCAyLjMyIApHSHosIDIuNDAgR0h6LCAyLjQ4IEdIeiwgMi41NSBHSHosIDIuNjUgR0h6LCAy Ljc1IEdIeiwgMi44NCBHSHoKIMKgIGF2YWlsYWJsZSBjcHVmcmVxIGdvdmVybm9yczogb25kZW1h bmQsIGNvbnNlcnZhdGl2ZSwgcG93ZXJzYXZlLCAKdXNlcnNwYWNlLCBwZXJmb3JtYW5jZSwgc2No ZWR1dGlsCiDCoCBjdXJyZW50IHBvbGljeTogZnJlcXVlbmN5IHNob3VsZCBiZSB3aXRoaW4gODI2 IE1IeiBhbmQgMi44NCBHSHouCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRo ZSBnb3Zlcm5vciAic2NoZWR1dGlsIiBtYXkgZGVjaWRlIHdoaWNoIHNwZWVkIHRvIHVzZQogwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aXRoaW4gdGhpcyByYW5nZS4KIMKgIGN1 cnJlbnQgQ1BVIGZyZXF1ZW5jeSBpcyAyLjg0IEdIei4KIMKgIGNwdWZyZXEgc3RhdHM6IDgyNiBN SHo6MTYuMDElLCA5MDIgTUh6OjAuMDglLCA5NzkgTUh6OjAuMDUlLCAxLjA2IApHSHo6MC4wNiUs IDEuMjEgR0h6OjAuMzclLCAxLjI5IEdIejowLjE3JSwgMS4zNiBHSHo6MC4xNSUsIDEuNDYgCkdI ejowLjIwJSwgMS41NCBHSHo6MC4xOCUsIDEuNjEgR0h6OjAuMjElLCAxLjY5IEdIejowLjE3JSwg MS43NyAKR0h6OjAuMjIlLCAxLjg0IEdIejowLjMyJSwgMS45MiBHSHo6MC4zNyUsIDIuMDAgR0h6 OjAuMjIlLCAyLjA5IApHSHo6MC4yMCUsIDIuMTcgR0h6OjAuMjAlLCAyLjI1IEdIejowLjE5JSwg Mi4zMiBHSHo6MC4xOSUsIDIuNDAgCkdIejowLjIxJSwgMi40OCBHSHo6MC4xOCUsIDIuNTUgR0h6 OjAuMTglLCAyLjY1IEdIejowLjIxJSwgMi43NSAKR0h6OjAuMTYlLCAyLjg0IEdIejo3OS40OSUs IDIuOTYgR0h6OjAuMDMlwqAgKDUzMTUpCmFuYWx5emluZyBDUFUgNjoKIMKgIGRyaXZlcjogcWNv bS1jcHVmcmVxLWh3CiDCoCBDUFVzIHdoaWNoIHJ1biBhdCB0aGUgc2FtZSBoYXJkd2FyZSBmcmVx dWVuY3k6IDQgNSA2IDcKIMKgIENQVXMgd2hpY2ggbmVlZCB0byBoYXZlIHRoZWlyIGZyZXF1ZW5j eSBjb29yZGluYXRlZCBieSBzb2Z0d2FyZTogNCA1IDYgNwogwqAgbWF4aW11bSB0cmFuc2l0aW9u IGxhdGVuY3k6IDQyOTQuNTUgbXMuCiDCoCBoYXJkd2FyZSBsaW1pdHM6IDgyNiBNSHogLSAyLjk2 IEdIegogwqAgYXZhaWxhYmxlIGZyZXF1ZW5jeSBzdGVwczogODI2IE1IeiwgOTAyIE1IeiwgOTc5 IE1IeiwgMS4wNiBHSHosIDEuMjEgCkdIeiwgMS4yOSBHSHosIDEuMzYgR0h6LCAxLjQ2IEdIeiwg MS41NCBHSHosIDEuNjEgR0h6LCAxLjY5IEdIeiwgMS43NyAKR0h6LCAxLjg0IEdIeiwgMS45MiBH SHosIDIuMDAgR0h6LCAyLjA5IEdIeiwgMi4xNyBHSHosIDIuMjUgR0h6LCAyLjMyIApHSHosIDIu NDAgR0h6LCAyLjQ4IEdIeiwgMi41NSBHSHosIDIuNjUgR0h6LCAyLjc1IEdIeiwgMi44NCBHSHoK IMKgIGF2YWlsYWJsZSBjcHVmcmVxIGdvdmVybm9yczogb25kZW1hbmQsIGNvbnNlcnZhdGl2ZSwg cG93ZXJzYXZlLCAKdXNlcnNwYWNlLCBwZXJmb3JtYW5jZSwgc2NoZWR1dGlsCiDCoCBjdXJyZW50 IHBvbGljeTogZnJlcXVlbmN5IHNob3VsZCBiZSB3aXRoaW4gODI2IE1IeiBhbmQgMi44NCBHSHou CiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRoZSBnb3Zlcm5vciAic2NoZWR1 dGlsIiBtYXkgZGVjaWRlIHdoaWNoIHNwZWVkIHRvIHVzZQogwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB3aXRoaW4gdGhpcyByYW5nZS4KIMKgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5j eSBpcyAyLjg0IEdIei4KIMKgIGNwdWZyZXEgc3RhdHM6IDgyNiBNSHo6MTYuMDElLCA5MDIgTUh6 OjAuMDglLCA5NzkgTUh6OjAuMDUlLCAxLjA2IApHSHo6MC4wNiUsIDEuMjEgR0h6OjAuMzclLCAx LjI5IEdIejowLjE3JSwgMS4zNiBHSHo6MC4xNSUsIDEuNDYgCkdIejowLjIwJSwgMS41NCBHSHo6 MC4xOCUsIDEuNjEgR0h6OjAuMjElLCAxLjY5IEdIejowLjE3JSwgMS43NyAKR0h6OjAuMjIlLCAx Ljg0IEdIejowLjMyJSwgMS45MiBHSHo6MC4zNyUsIDIuMDAgR0h6OjAuMjIlLCAyLjA5IApHSHo6 MC4yMCUsIDIuMTcgR0h6OjAuMjAlLCAyLjI1IEdIejowLjE5JSwgMi4zMiBHSHo6MC4xOSUsIDIu NDAgCkdIejowLjIxJSwgMi40OCBHSHo6MC4xOCUsIDIuNTUgR0h6OjAuMTglLCAyLjY1IEdIejow LjIxJSwgMi43NSAKR0h6OjAuMTYlLCAyLjg0IEdIejo3OS40OSUsIDIuOTYgR0h6OjAuMDMlwqAg KDUzMTUpCmFuYWx5emluZyBDUFUgNzoKIMKgIGRyaXZlcjogcWNvbS1jcHVmcmVxLWh3CiDCoCBD UFVzIHdoaWNoIHJ1biBhdCB0aGUgc2FtZSBoYXJkd2FyZSBmcmVxdWVuY3k6IDQgNSA2IDcKIMKg IENQVXMgd2hpY2ggbmVlZCB0byBoYXZlIHRoZWlyIGZyZXF1ZW5jeSBjb29yZGluYXRlZCBieSBz b2Z0d2FyZTogNCA1IDYgNwogwqAgbWF4aW11bSB0cmFuc2l0aW9uIGxhdGVuY3k6IDQyOTQuNTUg bXMuCiDCoCBoYXJkd2FyZSBsaW1pdHM6IDgyNiBNSHogLSAyLjk2IEdIegogwqAgYXZhaWxhYmxl IGZyZXF1ZW5jeSBzdGVwczogODI2IE1IeiwgOTAyIE1IeiwgOTc5IE1IeiwgMS4wNiBHSHosIDEu MjEgCkdIeiwgMS4yOSBHSHosIDEuMzYgR0h6LCAxLjQ2IEdIeiwgMS41NCBHSHosIDEuNjEgR0h6 LCAxLjY5IEdIeiwgMS43NyAKR0h6LCAxLjg0IEdIeiwgMS45MiBHSHosIDIuMDAgR0h6LCAyLjA5 IEdIeiwgMi4xNyBHSHosIDIuMjUgR0h6LCAyLjMyIApHSHosIDIuNDAgR0h6LCAyLjQ4IEdIeiwg Mi41NSBHSHosIDIuNjUgR0h6LCAyLjc1IEdIeiwgMi44NCBHSHoKIMKgIGF2YWlsYWJsZSBjcHVm cmVxIGdvdmVybm9yczogb25kZW1hbmQsIGNvbnNlcnZhdGl2ZSwgcG93ZXJzYXZlLCAKdXNlcnNw YWNlLCBwZXJmb3JtYW5jZSwgc2NoZWR1dGlsCiDCoCBjdXJyZW50IHBvbGljeTogZnJlcXVlbmN5 IHNob3VsZCBiZSB3aXRoaW4gODI2IE1IeiBhbmQgMi44NCBHSHouCiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIFRoZSBnb3Zlcm5vciAic2NoZWR1dGlsIiBtYXkgZGVjaWRlIHdo aWNoIHNwZWVkIHRvIHVzZQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aXRo aW4gdGhpcyByYW5nZS4KIMKgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5jeSBpcyAyLjg0IEdIei4KIMKg IGNwdWZyZXEgc3RhdHM6IDgyNiBNSHo6MTYuMDElLCA5MDIgTUh6OjAuMDglLCA5NzkgTUh6OjAu MDUlLCAxLjA2IApHSHo6MC4wNiUsIDEuMjEgR0h6OjAuMzclLCAxLjI5IEdIejowLjE3JSwgMS4z NiBHSHo6MC4xNSUsIDEuNDYgCkdIejowLjIwJSwgMS41NCBHSHo6MC4xOCUsIDEuNjEgR0h6OjAu MjElLCAxLjY5IEdIejowLjE3JSwgMS43NyAKR0h6OjAuMjIlLCAxLjg0IEdIejowLjMyJSwgMS45 MiBHSHo6MC4zNyUsIDIuMDAgR0h6OjAuMjIlLCAyLjA5IApHSHo6MC4yMCUsIDIuMTcgR0h6OjAu MjAlLCAyLjI1IEdIejowLjE5JSwgMi4zMiBHSHo6MC4xOSUsIDIuNDAgCkdIejowLjIxJSwgMi40 OCBHSHo6MC4xOCUsIDIuNTUgR0h6OjAuMTglLCAyLjY1IEdIejowLjIxJSwgMi43NSAKR0h6OjAu MTYlLCAyLjg0IEdIejo3OS40OSUsIDIuOTYgR0h6OjAuMDMlwqAgKDUzMTUpCgoKPj4KPj4gVGhh bmsgeW91IGZvciB0aGUgZmFzdCByZXNwb25zZSEKPj4KPj4gLS0gc3RlZXYKPj4KPgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=