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 4BD79C4345F for ; Tue, 23 Apr 2024 18:30:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C3CD66B0166; Tue, 23 Apr 2024 14:30:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BED016B0167; Tue, 23 Apr 2024 14:30:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AB4AD6B0168; Tue, 23 Apr 2024 14:30:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8DE1A6B0166 for ; Tue, 23 Apr 2024 14:30:50 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 4F722A13A5 for ; Tue, 23 Apr 2024 18:30:50 +0000 (UTC) X-FDA: 82041637860.29.75AFCB1 Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) by imf22.hostedemail.com (Postfix) with ESMTP id 31245C001A for ; Tue, 23 Apr 2024 18:30:48 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=QwN1dLIr; spf=pass (imf22.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.166.181 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713897048; h=from:from: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=awLc1C3yYWNbYWsTKFvaBZcSVTtx96/uP8a0BM23tGo=; b=BS1lcwjfAoi5N4PYCTqcTB0fwdvix+lUZeit2eZFuYvTOre1d01oLKlR0xBxUomVwJYC3U ZB+Ipl4puB9xwGnjGcg4j6UqoG16JH2mdRhGPX2YWKu9vs6oLGLPIXHLrQtrMUpFr8F4gS TnlT/FG5KSNaW3b1oJ0OalT7rknhBks= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=QwN1dLIr; spf=pass (imf22.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.166.181 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713897048; a=rsa-sha256; cv=none; b=elpvmZjh27DgKGmXmXs5YfsoW5w/pYttGqxaUiVAIsya3cMNcks1dWHQZ7Gsj3DB+g2f8E 7pWT7y0NbtMKPtv25kIGb64Ceg11zbxVkPKgkm8vGrRVWRW0eBkISpkhoXgnuKINyt+lsy eJGbi1j0fzCsd7l2pdAvnNX2YCY5PPA= Received: by mail-il1-f181.google.com with SMTP id e9e14a558f8ab-36c1a6cab24so4183635ab.1 for ; Tue, 23 Apr 2024 11:30:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1713897047; x=1714501847; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=awLc1C3yYWNbYWsTKFvaBZcSVTtx96/uP8a0BM23tGo=; b=QwN1dLIr6xbheNe8+56YnyrMKA5M0S/BV38fLx5ZOFz9hJMIAAjcaJvHCL+klBhp0t kC0A7XjDJpR/J6kCIvoEnuTdlXIb3ITAbfV03sfpD1NnHTHk5EAPgskcPfeDX1AlEPP4 t2Os2r/kZgtUzBro8EkyatytYBgrNWnd2b0BRwjrqx6SIslTlFY5TDM1+4MFQ72uPQUu jGWcmjYMB4Mwg0Uj28IKWOSaGCgkA1HaL4qBAy9Vj5GY3YANlvDvRdAbAIHuXXIazlft joOUh4n9MM6BKM4KgejHnM0qOIqP3g+9hFdm7CB0//+eyeynXaEA4ukLR/FUi37QYqJ1 HLQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713897047; x=1714501847; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=awLc1C3yYWNbYWsTKFvaBZcSVTtx96/uP8a0BM23tGo=; b=V340BV2GP/bV2H/OCvB9LxYbrXPdaSuBlz0uViik2dejevE+DxOhXalORqH5nhLRaY clYqOZfF0MJpaYUqTfegotb9K97K2Ituw3NSTjpy2RRJm/rij833YfQiA8MIqyoYTtJl LREgf95c9uEg626wTfo499s+W7B0kmsZBDBtJsMZPBmDxHwfsGi+/ZPLElfD+3TThQIT A4vF3LnXX44mZ3eOeusdbVbIZIC4n8KAF1j5UojN5ew0Pko+ALH2UkfYdZhM9aViPxIo ooYirB5YyNfoOCwS8G9ML0IAPoWWZ+dYKXw+Rrs67KgF3iO6Pc9GYPHlfyI9pMxbsvGA Z1rg== X-Forwarded-Encrypted: i=1; AJvYcCVU+/FaNTBbwluSH7uX3AdKb320HDJTkxFvOTMeGZnGljafJtRdLPqMqBmmCS0UcAWXAUjHdy9FtBLHgeYjkKbZe/A= X-Gm-Message-State: AOJu0Yz/qNCrwZOPo7jFK2maJaYNF1BAwBgLrpXEO6St0inEZytQCuhM e4CHiYczjvA3FKveDCjUPwUlc6IJxraHXjjhETKSRVVuYoL4mCx3uhh7yOm3aPs= X-Google-Smtp-Source: AGHT+IFijJhS19rqZtDgL0G2e5AzqIci+oG/GPCMeu1J34lQhcoYfcF6F7HQfVUuwUkInu9DWaTY6w== X-Received: by 2002:a05:6e02:12c5:b0:36b:3af7:42d8 with SMTP id i5-20020a056e0212c500b0036b3af742d8mr430742ilm.4.1713897047079; Tue, 23 Apr 2024 11:30:47 -0700 (PDT) Received: from localhost ([2620:10d:c091:400::5:9cfb]) by smtp.gmail.com with ESMTPSA id y19-20020a0cd993000000b0069b53e6cc5bsm5368080qvj.94.2024.04.23.11.30.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Apr 2024 11:30:46 -0700 (PDT) Date: Tue, 23 Apr 2024 14:30:41 -0400 From: Johannes Weiner To: Shakeel Butt Cc: Andrew Morton , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/4] mm: rearrange node_stat_item to put memcg stats at start Message-ID: <20240423183041.GA318022@cmpxchg.org> References: <20240423051826.791934-1-shakeel.butt@linux.dev> <20240423051826.791934-2-shakeel.butt@linux.dev> <20240423135844.GA21141@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 31245C001A X-Stat-Signature: 1mkni4mfywkn187xwcq7y8sw9wkj6tm7 X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1713897048-95784 X-HE-Meta: U2FsdGVkX1/eDrg31O0KFYpiouEska2c4wl8i1pvXxiiJzry5k2ceik26vrbXtWGXG39Z0rh14E7ua3ufM5SCT/miPvkV39uDQ2fbcIb9qnmyyfaNx/sEvw5xJV/SC4KfwRAJ5EM1AGeG5nE+upVDH+EkOi84cb59jI+nW3DWymLtm70fXmTQGebl0DVXDdsoMpOKlCBnW/cpbSxfShrgNJO8ybLlwFZEzcvSOMbVxBV+8Z+OMVOSvD9aJ/Ieiq45UtQvRR9sunVLMSRYjIQzHe2ym0vt/wW5SaHEp3vo+wZoUqV3c4Jlgyj3zI4qWcBq78s6O751AkdM8jG4iKrDqB6PrA85XpSWb7P7xk+UyYd2OFNUZy8ytSkPb9PuOKo13TT8Vfoy6V9+/xrwhXNdzixjHU5EcKMrvHc4AkY1SAf/Slscqa0Z6gNSswzQyOV7hg0B6Wq3uEtu2Ei1xss/qmEbWPCaPKxdU7QEj1S79/cH/8FHj7AWvptI1JKBNotJMMXgSnuYnMAUXdJ6eoBZ87S5SKahrc2KT7ozleOmZGI+slOf5D57kAzcWCc6jvczG2Uwb8zFmbPhE3g/HpiKN0trc+2oAeWT9Diu22JVEIXIpt9QB7lHUW1Tg/0OryOklLGfySgwLG5gEq2HcdUkCFEgb/aqvKYfjEaWIjSENabZJDTwaJTpIJJ0w5RKj/UJAqDqN24nW4qCxKgQNVOz8AEvzx9z9HAgeJIMXAjA+AIXIjABJHT1q0F2fsA7FJRbCFA/zjzjDWUwto/Oj3wqJ2jrg4lgR/B43bk5rQNSSneOUZ+1iGXTeoWIEfRQi0DFippzf3RPP3T8wPM4Q9+1ZfyDUA2k9/BiP5+IFWcNPLln7IM2J60ExsMskASdt3U5bonMBqTvwWgFSakccM1PHcdbN2tmSd6zmrKOLiVrRbnx4KAlgdMTGeB3AHBLSaKOT9yL2oBFU121cc5MRP HiJjbIsa c7wzIervtt9aDPRdlP5eUdkG5q9FeUI9NVRBC1vn5dZDl7OUkmLV/ov6tvkEE2MbcNtZc7iZP9sbAuqet0nmfUAoRX0NXtGTU6MMeJOxAaAxuNRGmoFKKMc+sI2m5cS1iLPrVM4zR3RWuLSaXirt6MLIowt6sH6qSIeH14FIIZFPGBpjo4naq9sCDb5iqW1PMye9qyD+5VC5L4BkOkb+tqvMshrHk2blhnnRV3mNlAVzFMJx6SY7n6J6e3AgcLSEGQ5OXS15R0Qza7IeMYUtGrlP6wJxp57NL2elyRVdQcrSAMcD9qFPkVZFM+isB5wwujFn21sFwV3wMcRm7j3nff+zILvuD8I2JqiTCO+pOJUO0cHwf5qKmbCoCkJIL5xqKE26LpAvloGO1xJIlKcctGGKeaz2T885aEEnDl5Iu1lHn/22sW8gYdkPFUw6b2ge1DUUtQroxpz1/czsriWxxm+COAqntj1b+rAhiQDmW3y9AY5fzkHoL6GcdDR5/1OKzPFi96hQBS3uqexZNi8gFYW1O3WAnPE2Khc6j X-Bogosity: Ham, tests=bogofilter, spamicity=0.000280, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Apr 23, 2024 at 10:44:07AM -0700, Shakeel Butt wrote: > On Tue, Apr 23, 2024 at 09:58:44AM -0400, Johannes Weiner wrote: > > On Mon, Apr 22, 2024 at 10:18:23PM -0700, Shakeel Butt wrote: > > > At the moment the memcg stats are sized based on the size of enum > > > node_stat_item but not all fields in node_stat_item corresponds to memcg > > > stats. So, rearrage the contents of node_stat_item such that all the > > > memcg specific stats are at the top and then the later patches will make > > > sure that the memcg code will not waste space for non-memcg stats. > > > > > > Signed-off-by: Shakeel Butt > > > > This series is a great idea and the savings speak for themselves. > > > > But rearranging and splitting vmstats along the memcg-nomemcg line > > seems like an undue burden on the non-memcg codebase and interface. > > > > - It messes with user-visible /proc/vmstat ordering, and sets things > > up to do so on an ongoing basis as stats are added to memcg. > > > > - It also separates related stats (like the workingset ones) in > > /proc/vmstat when memcg only accounts a subset. > > > > Would it make more sense to have a translation table inside memcg? > > Like we have with memcg1_events. > > Thanks for taking a look. I will look into the translation table > approach. The reason I went with this approach was that I am in parallel > looking into rearranging fields of important MM structs and also enums > to improve cache locality. For example, the field NR_SWAPCACHE is always > accessed together with NR_FILE_PAGES, so it makes sense to have them on > same cacheline. So, is the rearrangement of vmstats a big NO or a little > bit here and there is fine unlike what I did with this patch? I'm curious what other folks think. The cache optimization is a stronger argument, IMO, because it directly benefits the users of /proc/vmstat. And it would be fairly self contained inside the node_stat_item enum - "ordered for cache". I was more hesitant about imposing a memcg requirement on the generic vmstat ordering.