Received: by 2002:a05:7412:8598:b0:f9:33c2:5753 with SMTP id n24csp302913rdh; Mon, 18 Dec 2023 22:04:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IFDphpl/j2VPTUaJ8kE9UB6sbke7qZLRSJUNrSsmFqe6juZ7VElWDqjMbKcEcqeGa+B+0tD X-Received: by 2002:a05:622a:509:b0:423:6fca:66f1 with SMTP id l9-20020a05622a050900b004236fca66f1mr23690414qtx.0.1702965842678; Mon, 18 Dec 2023 22:04:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702965842; cv=none; d=google.com; s=arc-20160816; b=x7uSdOZfpS4zWX9cy0/TJ4xTkQHF12o814hRzBcp1g5llM/nzgI/yZ0LJmTukG+EVE QEXuYjLqTr8kEHJiJHoDCzgH5O3mMMbEKXZhFstffcik1PmdiBc3/Uh/NDwORoK87tSe J8mEX6fKmdOZU5WIxbbgvXrU6IQvVMSAyDuWdGsVOZtVZAqwkhtM9iwOmumyObTB/UBv NaIgAT7ytO4XJgOmDimlDl57kIQlGy3iEswMzyFnFOnrunG+1NFFXrtGaD1zm2bc6fNP aNUJgKRABdTbLXQpByyapJkV5qJTpa6oo5GurK+iXRMba+qICDufC3xt1mxx59utn6+S E2Jw== ARC-Message-Signature: i=1; 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=1W1q1+AmuC+Kxq97MbwvMfJxV+uDp6b7BoRnf609t14=; fh=mqnS2zA2veWjD/ESFj6gpWqOcfVOCzvDop6rCuUjwJ0=; b=mLxkk9fWfk7ce64ViguIZkjQHjlnvYiel51OXqVPsqU2oFWMCOW2s3/mSWT76ylVgR KaIylEnlGhJvO1f/lXJ1DmDhP0v89QLBb02DfNEgSmXm67QpEGzsWNp+yfPgsJnWWYHx ZO/IVuPeCWe0fyjnmJQwd4Ii1lCL8LG04L9OYW0k2waWuDmCBZ4jhxW6oeIUAlLLsFJ2 lhxEIlwKx1hkdJiXdcszPWFk7WrOMxzZFEoaSENtsz8Ik96fJlShlFWvve8RUQWhMq1E JPxa7Oqlt/v5rpSCP1+hz3KHemlqv+N/xOkbyRMkA/FP9JzuUWWRozhU6GaCVwWLUAex V6Qg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-4731-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-4731-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id v31-20020a05622a189f00b0042374c4031csi25260977qtc.391.2023.12.18.22.04.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Dec 2023 22:04:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-4731-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-4731-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-4731-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 3A99C1C232E8 for ; Tue, 19 Dec 2023 06:04:02 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F354DC2C7; Tue, 19 Dec 2023 06:03:50 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from out30-97.freemail.mail.aliyun.com (out30-97.freemail.mail.aliyun.com [115.124.30.97]) (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 2BC16C123; Tue, 19 Dec 2023 06:03:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R171e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046056;MF=jefflexu@linux.alibaba.com;NM=1;PH=DS;RN=8;SR=0;TI=SMTPD_---0Vypj0Vc_1702965501; Received: from 30.221.145.29(mailfrom:jefflexu@linux.alibaba.com fp:SMTPD_---0Vypj0Vc_1702965501) by smtp.aliyun-inc.com; Tue, 19 Dec 2023 13:58:22 +0800 Message-ID: <5460aaf1-44f6-475f-b980-cb9058cc1df4@linux.alibaba.com> Date: Tue, 19 Dec 2023 13:58:21 +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 v2 2/2] mm: fix arithmetic for max_prop_frac when setting max_ratio Content-Language: en-US To: Matthew Wilcox Cc: shr@devkernel.io, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, joseph.qi@linux.alibaba.com, linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org References: <20231219024246.65654-1-jefflexu@linux.alibaba.com> <20231219024246.65654-3-jefflexu@linux.alibaba.com> From: Jingbo Xu In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 12/19/23 12:06 PM, Matthew Wilcox wrote: > On Tue, Dec 19, 2023 at 10:42:46AM +0800, Jingbo Xu wrote: >> } else { >> bdi->max_ratio = max_ratio; >> - bdi->max_prop_frac = (FPROP_FRAC_BASE * max_ratio) / 100; >> + bdi->max_prop_frac = div64_u64(FPROP_FRAC_BASE * max_ratio, >> + 100 * BDI_RATIO_SCALE); >> } > > Why use div64_u64 here? > > FPROP_FRAC_BASE is an unsigned long. max_ratio is an unsigned int, so > the numerator is an unsigned long. BDI_RATIO_SCALE is 10,000, so the > numerator is an unsigned int. There's no 64-bit arithmetic needed here. Yes, div64_u64() is actually not needed here. So it seems bdi->max_prop_frac = FPROP_FRAC_BASE * max_ratio / 100 / BDI_RATIO_SCALE; is adequate? -- Thanks, Jingbo