Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp6887533rwr; Tue, 25 Apr 2023 05:28:08 -0700 (PDT) X-Google-Smtp-Source: AKy350YujoNd2nsbru5zHlKpXZd2RCzPLjaYGR+AoAOemsNvrTMqT5829SZiHti676+R/gVR/Q+k X-Received: by 2002:a05:6a00:2da7:b0:625:ea57:389b with SMTP id fb39-20020a056a002da700b00625ea57389bmr23079229pfb.5.1682425687683; Tue, 25 Apr 2023 05:28:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682425687; cv=none; d=google.com; s=arc-20160816; b=CkpuCkJcCIU6IlTfUcGzWOxx64iaWqk8+0T/9zI2zQjISQGdFVA2F5uuNxeCTa1VJu qcKInoVVSORg3Or/vidAadPzw4/bwFL70MxJ7VAgEgx5igA21ARg3wPcUuQmjKtFB2JQ vCRUMXnEuPjgNfH/JYYO0rZLULvl3054H3VKYvVVZvlFUuP6u8zVVT31ERkvY7BBcE/4 P1GfT25sFj61U+QAd8dHcUF7H6C5c53YFPWt5RWpLKFxgM1hU9l/x2XNjBvbrJ6bROlE GJ3tjI1pyBJmLZw6rXx0dcZCNygQ+vWj7kAgYmpAmXLbOL1YZFysqRjUXFzI1AgDJBaM Xg6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:from:subject:user-agent:mime-version:date:message-id; bh=g9F25p1hOBy/IkV29HoQne/+55lmiHYGuntLve+Mckw=; b=rcDse4Xvm/96oRyHf9jVZkJCqvyj8zg6551nmUbJd5tSX0etvQ4RLaEmyYoEXENZI4 W5OGEAJCKmtBAwd0TxoJ2DXW+Y1jL5t7KuIttpKKiT3ZhMpo8jxGVB3qwVfmF6if7Kiy Pa43CELeiXghboJ2vJTS61OI7+PravpeI5p+mrRBqYVXGge0OhcXZI8rlDpPDPNb5YTl TosAj6ObJxCIv85VamKwLJoNPLJB8iD3nPgCUU8KHv6l2cdDvdaIvh1oAsMg9nPE7PrX 0TlTYfwDyS4/oUjcBr8bP4y+Jiis+HHFBICtsR8DXbzpCMckZz7v7zwLqwUTJPVAZEL1 qJ8A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=antgroup.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y4-20020aa79e04000000b00627f0f8d49fsi13457487pfq.373.2023.04.25.05.27.56; Tue, 25 Apr 2023 05:28:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=antgroup.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233778AbjDYMOf (ORCPT + 99 others); Tue, 25 Apr 2023 08:14:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39354 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233082AbjDYMOd (ORCPT ); Tue, 25 Apr 2023 08:14:33 -0400 Received: from out0-195.mail.aliyun.com (out0-195.mail.aliyun.com [140.205.0.195]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A7A64EF1 for ; Tue, 25 Apr 2023 05:14:30 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R511e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018047205;MF=yanyan.yan@antgroup.com;NM=1;PH=DS;RN=13;SR=0;TI=SMTPD_---.SQAyIdK_1682424865; Received: from 30.177.18.177(mailfrom:yanyan.yan@antgroup.com fp:SMTPD_---.SQAyIdK_1682424865) by smtp.aliyun-inc.com; Tue, 25 Apr 2023 20:14:26 +0800 Message-ID: <3ac59e0f-507f-4603-033b-e493c290cf9f@antgroup.com> Date: Tue, 25 Apr 2023 20:14:23 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH v1 1/3] sched/debug: use int type and fix wrong print for rq->nr_uninterruptible From: "=?UTF-8?B?5pmP6ImzKOmHh+iLkyk=?=" To: linux-kernel@vger.kernel.org Cc: "=?UTF-8?B?6LCI6Ym06ZSL?=" , "Tiwei Bie" , "Ingo Molnar" , "Peter Zijlstra" , "Juri Lelli" , "Vincent Guittot" , "Dietmar Eggemann" , "Steven Rostedt" , "Ben Segall" , "Mel Gorman" , "Daniel Bristot de Oliveira" , "Valentin Schneider" References: <20230412030731.24990-1-yanyan.yan@antgroup.com> <20230412030731.24990-2-yanyan.yan@antgroup.com> <269db8cf-4ff0-70e4-80f3-36970d0a2169@antgroup.com> In-Reply-To: <269db8cf-4ff0-70e4-80f3-36970d0a2169@antgroup.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2023/4/19 15:46, 晏艳 写道: > > > 在 2023/4/12 11:07, 晏艳(采苓) 写道: >> commit e6fe3f422be1 ("sched: Make multiple runqueue task counters >> 32-bit") changed rq->nr_uninterruptible from 'unsigned long' >> to 'unsigned int', but left the wrong print to >> /sys/kernel/debug/sched/debug and to the console. >> >> For example: >> Current type is 'unsigned int' and value is fffffff7, and the print >> will run the sentences, >> "do { \ >> if (sizeof(rq->x) == 4) \ >> SEQ_printf(m, " .%-30s: %ld\n", #x, (long)(rq->x)); \ >> else \ >> SEQ_printf(m, " .%-30s: %Ld\n", #x, (long long)(rq->x));\ >> } while (0)" >> >> The result will be 4294967287 on 64-bit machines to print (long)(rq->x) >> while old type 'unsigned long' will print -9. >> >> And the other places that use its value will cast to int to return >> expected output, so we convert its type from 'unsigned int' to int. >> >> Signed-off-by: Yan Yan >> --- >> kernel/sched/loadavg.c | 2 +- >> kernel/sched/sched.h | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) > Ping, any comment? > > thanks, > -Yan Yan Ping, any comment? thanks, -Yan Yan >> diff --git a/kernel/sched/loadavg.c b/kernel/sched/loadavg.c >> index 52c8f8226b0d..b9867495fe8b 100644 >> --- a/kernel/sched/loadavg.c >> +++ b/kernel/sched/loadavg.c >> @@ -80,7 +80,7 @@ long calc_load_fold_active(struct rq *this_rq, long adjust) >> long nr_active, delta = 0; >> >> nr_active = this_rq->nr_running - adjust; >> - nr_active += (int)this_rq->nr_uninterruptible; >> + nr_active += this_rq->nr_uninterruptible; >> >> if (nr_active != this_rq->calc_load_active) { >> delta = nr_active - this_rq->calc_load_active; >> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h >> index 060616944d7a..23c643948331 100644 >> --- a/kernel/sched/sched.h >> +++ b/kernel/sched/sched.h >> @@ -1006,7 +1006,7 @@ struct rq { >> * one CPU and if it got migrated afterwards it may decrease >> * it on another CPU. Always updated under the runqueue lock: >> */ >> - unsigned int nr_uninterruptible; >> + int nr_uninterruptible; >> >> struct task_struct __rcu *curr; >> struct task_struct *idle;