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 A57E1C3ABCC for ; Mon, 12 May 2025 17:30:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 77EF26B019D; Mon, 12 May 2025 13:30:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7070B6B019E; Mon, 12 May 2025 13:30:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5A8CD6B019F; Mon, 12 May 2025 13:30:14 -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 36D536B019D for ; Mon, 12 May 2025 13:30:14 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 8B148C0584 for ; Mon, 12 May 2025 17:30:15 +0000 (UTC) X-FDA: 83434944390.11.9BBF7A1 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) by imf07.hostedemail.com (Postfix) with ESMTP id 847954000F for ; Mon, 12 May 2025 17:30:13 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=W434IMoD; spf=pass (imf07.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.215.180 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747071013; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=m3Oohpf1ZkVjODZV3gPAW0cFtjTk5gH8ECsCQ1p0CS0=; b=YrhChzeQjA/GwdbHmkWqPZ1zrYEbrB3c7rtv+2R3eYODOTimTIE8H71XIuREwow9drCZ+4 Q/nnRmM64w9igk1KK1ZZV/dveYGQvX+NcPc/EOMsAsRzYI6DHfCAQKIP3mdUYNVLPv9t2X 08sGTPESqWcWifkiTfulV0/JB10/evo= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=W434IMoD; spf=pass (imf07.hostedemail.com: domain of inwardvessel@gmail.com designates 209.85.215.180 as permitted sender) smtp.mailfrom=inwardvessel@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747071013; a=rsa-sha256; cv=none; b=oV/qWFQFzt27Tat473z8+NprPCNKZgpH4cZm+YY86LiD5kgzt03dU1RadnT9+jh7UMxSjS vfYkhy8OBtSCac69AmkjQz5jT8RpQn1FdzooNFYF+PCtXV5KxpVdPsavPdeLo5nIKfnPE8 HZjuDcBmmtbUC/8HHMIPubLAg/fCbeY= Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-af91fc1fa90so3971575a12.0 for ; Mon, 12 May 2025 10:30:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747071012; x=1747675812; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=m3Oohpf1ZkVjODZV3gPAW0cFtjTk5gH8ECsCQ1p0CS0=; b=W434IMoDXt1gotWRC2TGDsVoE+BiMvGKt5w5P/sWw/ondwkeiUQFVomG/oW87njwI4 nfy7MZWsYa5Csd6+fCz9Tk2s5WvQ65fWFod/7/8ZialVqSoUpvcfRO3Bg4taW7RMAOHK nt3BsfsNNYK4LFqepk4n4kOVOQP2ZdvpHU09JvxtoH/WruYVHax2RK/6xU9tDQpfD9CR LzyJUlKcJm/Da40vyqbU/Xh7oe/3jFKfzJgjFN4oaTwsiKqwl/Z4AXGWadS4boaahHX6 TbBvHsBAKloWTxOINj5H1OCeRWh3pd8EwTEtzpjoZGOWP/sdWULyoMwMKB2i4gkn+QIr GWDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747071012; x=1747675812; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=m3Oohpf1ZkVjODZV3gPAW0cFtjTk5gH8ECsCQ1p0CS0=; b=dRXhZN98sVP16adST9KNcAUDsBy3I1DE5a6GAKCSyuHgAaeiMuZKj3xI2c3v5/hDDA /yenj85aDUnHhHvuwepuuJfQJ4M7kQiJ1aXdSX23vPTMmseqlJAau4QgJbrMsi5YfQQG LEzSRKqGnj9jtdfK6bG6Drol71KleIIMyoVv3SZPhm2CNpZWmvL4qaDOjJNoXDdqDAav UO3fZw29l2ebqG89dZ5y76+p8w2Aq1t/PJcRuMgJNCBX/5qDWhCD7JChR+lczoAnGbDj alCVjoGWr63JOcRUsn47VqJhWUDx75WL0osb+SLvt/xLaM+OZDs623bYqZ+tcf0EYBDM UxUg== X-Forwarded-Encrypted: i=1; AJvYcCXXRNQRf+rs/eGGPhlnQvR9Rsp6LUjSsg6UE6ycmmZFRm26nKXCthZOxMjDM1cP6YlyMHAPzFOc6Q==@kvack.org X-Gm-Message-State: AOJu0YxgDWtOOM9mjyRIz2JyqYLwUupk0/8pQi6V9Jid7dfxPKq5hYOW MjHYVtVPD0zWuuOGnCwM4fOACq9AyCbsNgc1hB/UL+jSzzgtQD86 X-Gm-Gg: ASbGncvHpsKhZwGvwrthUAs7KYHB6xwKbZa/JD9f0PqPuJoV425HImmLI9EYLUVTVns k5mfNcbx0q/ay26s7718dUkZ5vCnb4iEb4kPIXbny+gU5QkVLUn7n4FXe8OKeBkhjVudbhXFdzq lmKGkhfSVxrVvtzS+WfXZ3QCrDtCkyK+ffJsKIi/aI25qIalNRW+KD7E4wrZSQ28ZO2Bqvwrgey c0GZujvV9wktbyGF70Jrt/I1dx7NGnktqwrKSDBXvUBEc8KsYEUle6yT3LMDV1eXROSVdxfzfQL retH/NtufD4oZmXx/FOspgBn9gwhLF5AE/+hmekqBsoYcmyEcOEqTcFW56+d0ZtV5mw/TCyCaF8 8RWRQ/ots X-Google-Smtp-Source: AGHT+IEaSyLJVmLs7PPhJpaV0pzj326vzlBTcqgbKYJa9OH2+AXRMs3xkrTBdexAwpUy3ZC9uOwIRQ== X-Received: by 2002:a17:902:f682:b0:224:a79:5fe9 with SMTP id d9443c01a7336-22fc8b59bd0mr186119875ad.30.1747071011993; Mon, 12 May 2025 10:30:11 -0700 (PDT) Received: from ?IPV6:2a03:83e0:1151:15:fe23:5aa8:9def:b916? ([2620:10d:c090:500::4:17ac]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc7742e2asm65561935ad.88.2025.05.12.10.30.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 12 May 2025 10:30:11 -0700 (PDT) Message-ID: Date: Mon, 12 May 2025 10:30:10 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 2/5] cgroup: use separate rstat trees for each subsystem To: Yosry Ahmed Cc: tj@kernel.org, shakeel.butt@linux.dev, mkoutny@suse.com, hannes@cmpxchg.org, akpm@linux-foundation.org, linux-mm@kvack.org, cgroups@vger.kernel.org, kernel-team@meta.com References: <20250503001222.146355-1-inwardvessel@gmail.com> <20250503001222.146355-3-inwardvessel@gmail.com> Content-Language: en-US From: JP Kobryn In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 847954000F X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: f6jd8zf4taa4akk3q6zcmew4xykeuudr X-HE-Tag: 1747071013-377296 X-HE-Meta: U2FsdGVkX18oQSH5QcOCJehW7mrrWSAZhQKzZLGTzn/RAtw+G5JwR9+uYId4smtUVIeOgV9pnmnUnObdmvXNoT0ay8/8I80I1BhKxHvuK3Tlj9Pw6BH4jHK76VVK/DmyXoafenDcDCw9017E7o0chD7B+DH9lLqxzCjiF77x4XkesddRHoQ6hzkZm+pLwATt44OSxIjtXthJbI62i7lUo7vvAmes8OIMamkrvshOb0HqsncB1+/VJcOss/SRf9rn9gCgC6RxRbQMI+xbrWtnAQM8TAs8YgO/K94q5frbjeAGC+cWq/s6fTC49ZHot7Apt9Ae9Q4esoFxdtXFNy0E9sumYWvVsb51aXzgs9Nfv4+nuFQkY4xR6rsS83X1va5DRENjiNmM+jIGpEp1NQ9WYJ0PPQsH3UUzK3PCUcV2wlNWEetDN5YJaP6BuNJGVx17n4HaL8crKuVQ4cyktpJT8VrLM4rAll5K9zx11zlnr3qJmF6JKUCKWRqQKGSfIvdwMi0fddkDJ/xi7m/OhSHmUnwouEsgJ1KK8L7ue979Q45lig8KbMgDIYM1doZ39RIf4gi8hNpYVvp556ksHcv6t4tKqbpC3embON0KL5DopnDyqY10zVksccvTBknvVxg2Gx6XUGDL9rPrux1SCNFDOK9mj8hSVN6ymdgiVNCAbJ8LYfTu4o+Xhw168ZOgU6JyaRG0IbsjKSLt9HCwxDJg/flcyXyKAwankWy3WYM5oUtLMPAsblvwQdyPZ8q/hn+FZwA9Dd+Io8D3YiJKxWJVduSU7mdbXwuh7LUXPyRgHc2w5XZu+xmP6MykwiZAw/Rq6AHfp3Z+Xazgcwj7bN0LQFXsUkok3wwi01aqcuI9GT5Ro75lYUqdwu0R7WwZXOadgRD04KHOiTqpYBAxIKbN9FdozYGTCYL7VuNn8S2mHDPR/FzNODGdFqnhIH45n6Nk3q5U5JHG5UikB8orglD Xn5iCVvb n4HhlzJSe8oTJyKVBKmRinXyCr2dirykr8nQMm8wnUdWRzLC+OP4c29V+ChN4Y//i5tWOnaQyath353Xh+udV6Ltn5qzMj4Nf0mSrbOHFc3X3yRMkysI9yXpCDB6/442HP/iI6PHgVJejlVHkqj3GOUEFxCR77SsDw24Tg5XHvjlHxZqj3kXiFw/Z8jFe29ffYnn9Uztri5f5/DuZ7/fgVlW+YW+JPHOYzNw42zEV7lxFAhZpsTsfnVmDB/7dMb6IAZOJFk/+LZdTDqYyapnw2coqdG4LJy/WM9c5riJJTZOtljjAwuwpU/6o/boDLR+JvKe4aclQyYf57gWUl2+4J4ONnrqk++WXRtXXdYLnQCbh7qGy9Wpm/waJ6Xk0Y42niAj0x/3sZ7cy16D3sU0mKFH++6a7oJsf7Os3DZ5UfsY8HTDZZs7ikCYu8bDdO2RhpFAD 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: On 5/7/25 2:24 AM, Yosry Ahmed wrote: > On Fri, May 02, 2025 at 05:12:19PM -0700, JP Kobryn wrote: [..] >> @@ -383,32 +395,45 @@ __bpf_kfunc void css_rstat_flush(struct cgroup_subsys_state *css) >> >> int css_rstat_init(struct cgroup_subsys_state *css) >> { >> - struct cgroup *cgrp = css->cgroup; >> + struct cgroup *cgrp; >> int cpu; >> + bool is_cgroup = css_is_cgroup(css); >> >> - /* the root cgrp has rstat_cpu preallocated */ >> - if (!cgrp->rstat_cpu) { >> - cgrp->rstat_cpu = alloc_percpu(struct cgroup_rstat_cpu); >> - if (!cgrp->rstat_cpu) >> - return -ENOMEM; >> - } >> + if (is_cgroup) { >> + cgrp = css->cgroup; > > You can keep 'cgrp' initialized at the top of the function to avoid the > extra level of indentation here, right? > I can move this initialization to the top but the indentation of this conditional branch will remain. See more thoughts below related to this block. >> >> - if (!cgrp->rstat_base_cpu) { >> - cgrp->rstat_base_cpu = alloc_percpu(struct cgroup_rstat_base_cpu); >> + /* the root cgrp has rstat_base_cpu preallocated */ >> if (!cgrp->rstat_base_cpu) { >> - free_percpu(cgrp->rstat_cpu); >> + cgrp->rstat_base_cpu = alloc_percpu(struct cgroup_rstat_base_cpu); >> + if (!cgrp->rstat_base_cpu) >> + return -ENOMEM; >> + } >> + } else if (css->ss->css_rstat_flush == NULL) >> + return 0; > > We can probably just do this at the beginning of the function to be able > to use the helper: > > if (!css_is_cgroup(css) && css->ss->css_rstat_flush == NULL) > return 0; If we did this we would be wasting extra memory allocating the base stats for every subsystem css. The intention behind the way I wrote it was to optimize the memory overhead needed for split rstat trees.