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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id BEC60C47DB3 for ; Mon, 29 Jan 2024 21:00:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B9036B0089; Mon, 29 Jan 2024 16:00:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 26A2A6B0092; Mon, 29 Jan 2024 16:00:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 131DC6B0095; Mon, 29 Jan 2024 16:00:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 01FED6B0089 for ; Mon, 29 Jan 2024 16:00:27 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id C2DAD409C2 for ; Mon, 29 Jan 2024 21:00:27 +0000 (UTC) X-FDA: 81733566894.24.DE23E60 Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) by imf15.hostedemail.com (Postfix) with ESMTP id C99E3A0008 for ; Mon, 29 Jan 2024 21:00:25 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=bkj5JXPr; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=pass (imf15.hostedemail.com: domain of htejun@gmail.com designates 209.85.167.179 as permitted sender) smtp.mailfrom=htejun@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706562025; a=rsa-sha256; cv=none; b=vwHowf113FiMXRDFeW9d7GfQz/cop2mjcSOcI3b3HnQutxF81gMjKVa+8i+8x/fk106JPp x3gBzh2xlLsxlUMc7kNC4OQfBX2Ay2PUrNmOItDldy3BYSWhBvmU5dHhS2mHdHsbaW1K+M 3qBNIehP9R5WDEzhqr6HbFpPQVI8DtU= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=bkj5JXPr; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=pass (imf15.hostedemail.com: domain of htejun@gmail.com designates 209.85.167.179 as permitted sender) smtp.mailfrom=htejun@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706562025; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DFggPS+olvhz5RaAN6PbMUp4vTeYAiwxyo5MJLQn+3A=; b=lxnAbJqmcxCgG+4ia3zPuENyNUWPXLRCIs0CUGC1PoKBGcch/DRfzOTw+S8R56bIzdAWF8 i6qXsQtj+918Tb7tKxW+Hs1W7wji5yYxt/0DSuh7iNIzUxryAQFEfN2XeqzM1dPTlzUlUa jCh918BHZ4maonSJOmDX0bYJmUGuDHk= Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-3bd5c4cffefso3719136b6e.1 for ; Mon, 29 Jan 2024 13:00:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706562025; x=1707166825; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=DFggPS+olvhz5RaAN6PbMUp4vTeYAiwxyo5MJLQn+3A=; b=bkj5JXPrx/8mMe6kufznJ4IvNmfNyWj08eoLJ4VCxyEych0jY6RTLmcR1iiKBKer4P frwtPdCj+Kl8QOUFjjUVZ3dnPKYFdulV7MOlj3bGaAL8T2SGuhZXVo7YQ0xAoUPFvIlp 6IY0udcMczOk/fFujP7nx1a0d6l9Lp2QuU3t7KOyXMBNhqS2VwiWHSoFjcLfnDBYY9Ek 6A1WxrINtCpMgEEBQOw7+nw2pYHOppo5tP8euISBVyVWH8z2ukqX3hT7z7pDXRMIp7fk qJgLCHEi7n4Wh17dhgcXUvYLIA/d6BN75DLM5+ioyeoPgQiFIcY8ZCkF2UsdhR9kI20i Ioiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706562025; x=1707166825; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DFggPS+olvhz5RaAN6PbMUp4vTeYAiwxyo5MJLQn+3A=; b=kS3fg7lJPPQNJjb7VFeWPUZwQ6TcibZCgMRc8/9lNttfQ81e0zVxnCvrlp5o+X2AGu dufdcD3XaP+brXKX0w6yniscnTb5Idi5Ndw9lwOGsoo0Zb3koP2+M222l0wyVBEZq4sw HeYfZ2ufZzo5ebjTBpSa+yuyGdPJJCSczxS/kM2pP6MHDSiNTUaXxYniq/bxefRH8TCE taaUxiQPNID/4/p5cmBb2FDppxUF512tqka8ELD3BP184ywhhW/fmvwmb6e2r+xC/piB 1UgvggWV8h+1JbtHo4PDGdnSQFtdZvmJ9/69xzA+TgysFmluP2rEA0P6BC+HUP4A5XOR LQqg== X-Gm-Message-State: AOJu0Yx40oRRW/JH5dNfBK6IdiBo5sEaifSgCZ7Pz/kri2uGFjJrVWNc btxfzWV/3ij/P74ythINkipe023E8UTYHXzPQvD5Trl36aQJE8s2 X-Google-Smtp-Source: AGHT+IG6lvs9rD1TD0S7JakS/rVYog6omuvqEGVQ3sg9e9r8HpesmJPGJg1pAZZW5PFlHWtBvnE8vw== X-Received: by 2002:a05:6870:d3c8:b0:218:5067:7108 with SMTP id l8-20020a056870d3c800b0021850677108mr6841732oag.19.1706562024802; Mon, 29 Jan 2024 13:00:24 -0800 (PST) Received: from localhost (dhcp-141-239-144-21.hawaiiantel.net. [141.239.144.21]) by smtp.gmail.com with ESMTPSA id p30-20020a63951e000000b005d8aef12380sm5578537pgd.73.2024.01.29.13.00.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jan 2024 13:00:24 -0800 (PST) Date: Mon, 29 Jan 2024 11:00:23 -1000 From: Tejun Heo To: Kemeng Shi Cc: willy@infradead.org, akpm@linux-foundation.org, hcochran@kernelspring.com, mszeredi@redhat.com, axboe@kernel.dk, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/5] mm: correct calculation of cgroup wb's bg_thresh in wb_over_bg_thresh Message-ID: References: <20240123183332.876854-1-shikemeng@huaweicloud.com> <20240123183332.876854-3-shikemeng@huaweicloud.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: C99E3A0008 X-Stat-Signature: 3momrheyywspseopkir7gexe1ixqixpc X-HE-Tag: 1706562025-156326 X-HE-Meta: U2FsdGVkX18ruKUp2UNmzaAxrOGFZWjVeGYs+rrsAOkeGMPEACHrRP+xbCx45guBXs+bJ2VQsT7lKPMpl8pyIaiA1oyIKz496kz5NW5/RdN/aUrz27zprAhsG7VKvLCwpOSXxQcNvVcJQgQQYYMcRcg5zInc/Rs7m//gyJzxpzQBDXcwFKuTwKFkm3ylCw/jyFy76FaMrTvpsAXCo2T/u0CzUbwECeizfzwEm5ao0VQmTjn7N7+L43Pwe0ReAJQjP8VovBMYfyYujlPokz0ilojOT/L/pVlmbCSsqRZLltT7jO+gmN9+/Z/41jmkz2B5lM+Ywlw7lUtAVu2Eej4SBmvOuNijj2jsqWXErVECp7w+PSeMOS8rVaeJPCOd4qzo8jYN0+UjRVJEx/59vJ4iQJnccCgbofDRc50UtZG4YCOsuhUM1zVDDmJNtsaJDTTjPrgfTss/6HOkoA6kgKaIIntJyzSpOYCGASFmPtM0h6CxtlQhAjYEyk6cbYkF0J4xX5cfBXK7nbgrhwQnoZ2xUNLBKrLIBmFys3eTUamzTDk8bCuD5BUxmJnKGuJs2crKDp3vt3L9Z8yEMy9J8WqW32IbdrGDKuzgOpKdvDOEXUCNenNZUP8kzLd0FGBhS8vAZbuDVUxOrDjDXjlztJ3I4Ui7zKtg5plhkbG+4mudJMgSnM2w9d0wmWDjFOLSenUSGqwobFuQun/G+12LgRj6RFIOymumluaqHNxDDwdVtaxGAMsDDcKCaqa1xzss73gWo6LRok6PiqW7iJuXXCol5hBQcpsDDDXM5RYHe6nxp+kMnkkYT7jd6Rh5opeemMXTYy07kpHn+9EDtpWnc4QjPc1v9y4VFM511okqLes1Cv2LWoPQK/xXlNq8s7K+geTgU2wZgyXorUbK14LQY8fa/mEn88ZRVMdpGDRLODwbweFrB4G5ZvbgzZUll9XaUMLa4fFko5Dt8iSe+03CHft /H2FjMsC I6eSoiLysDNo7EzCS6v1ndFRu3BdcHZbYFMfpTX7NdG6eE6YWhzDmlh+R/gnWw81BNAtX304MYVib1kXajeagz/6+VWGRtCro/hO5JdzoqqCM1WJ0P+nkxF0N9g2QZBfoynjg/jimEiRjFcsFS73O0IRpFpXQCSoCLu2uUxPBYQrrxA0MfVxFX+A4mBP+5V8xmZBPC7WEt+XFwYX4S48zFvovPyRw/hupgzJey76VKquEOvGlx0/2IGHg0HaQNONFqbaftJMMAkhnHabbfqAm6VqIdhWZD1uYYQKw4XDKaF/Umh4lYcbhJC9jNiTqf/73vNskHwkN3HG5eXlMi2r4sujan0HRo639HP0AOi7vSHhU+Ce4MZKcpUdfYkk56ZxAPWTnLZlHVYR9MXXu2V6nRHW2xjsXCZ3rhuBymXIh4L4CckO1/GGObUDPXxEY+xfKFrga4PpgNuFlKmOVIwQLVombl2sHtz15Ve0FscuWARapeYZI/DJHrNVin70w56NGdQR4L/wZknLbXh0OlO5sMSNSgNsVqa32BXv67D09Jts50+0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hello, On Wed, Jan 24, 2024 at 10:01:47AM +0800, Kemeng Shi wrote: > Hi Tejun, thanks for reply. For cgroup wb, it will belongs to a global wb > domain and a cgroup domain. I agree the way how we calculate wb's threshold > in global domain as you described above. This patch tries to fix calculation > of wb's threshold in cgroup domain which now is wb_calc_thresh(mdtc->wb, > mdtc->bg_thresh)), means: > (wb bandwidth) / (system bandwidth) * (*cgroup domain threshold*) > The cgroup domain threshold is > (memory of cgroup domain) / (memory of system) * (system threshold). > Then the wb's threshold in cgroup will be smaller than expected. > > Consider following domain hierarchy: > global domain (100G) > / \ > cgroup domain1(50G) cgroup domain2(50G) > | | > bdi wb1 wb2 > Assume wb1 and wb2 has the same bandwidth. > We have global domain bg_thresh 10G, cgroup domain bg_thresh 5G. > Then we have: > wb's thresh in global domain = 10G * (wb bandwidth) / (system bandwidth) > = 10G * 1/2 = 5G > wb's thresh in cgroup domain = 5G * (wb bandwidth) / (system bandwidth) > = 5G * 1/2 = 2.5G > At last, wb1 and wb2 will be limited at 2.5G, the system will be limited > at 5G which is less than global domain bg_thresh 10G. > > After the fix, threshold in cgroup domain will be: > (wb bandwidth) / (cgroup bandwidth) * (cgroup domain threshold) > The wb1 and wb2 will be limited at 5G, the system will be limited at > 10G which equals to global domain bg_thresh 10G. > > As I didn't take a deep look into memory cgroup, please correct me if > anything is wrong. Thanks! > > Also, how is this tested? Was there a case where the existing code > > misbehaved that's improved by this patch? Or is this just from reading code? > > This is jut from reading code. Would the case showed above convince you > a bit. Look forward to your reply, thanks!. So, the explanation makes some sense to me but can you please construct a case to actually demonstrate the problem and fix? I don't think it'd be wise to apply the change without actually observing the code change does what it says it does. Thanks. -- tejun