Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp3983079rdh; Tue, 28 Nov 2023 08:43:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IGXGjFD6KyT+Ds3Q/142lzluimyVvqxtZp5HIbIV7MLfmTustRrJiqenWKz6ztiBzSL446P X-Received: by 2002:a05:6a20:918e:b0:18b:57e1:dbfc with SMTP id v14-20020a056a20918e00b0018b57e1dbfcmr18123232pzd.0.1701189833918; Tue, 28 Nov 2023 08:43:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701189833; cv=none; d=google.com; s=arc-20160816; b=j61JTrkh9e/uNElzjYuTsaQDXJcE/R9ffBnHyo7B3N+Fi+zdGO2WVc3dGBbWyHevR4 M+bUHuilbaM2UEHdnLClGcX+rSU4n8l135I5jgNbW+kBqT50chllVqjwzFfbYsnxpAOR e1cvi5vJoz0PNubz2q5DYUKTXlDW063S+bwepPMYWmAsbzkDzCHIvoh9UahzX6ujEH3P sW8DPFPDEMh1GunKpX5yBvb8rG+hjCyJ5BH1ZRLRAEXdq7Uz4YBvsn+Q8/nE5QdalYPY Lkv7RanGaRmKUT3xNo3VU8ln4TyCAxbGUktDLmPGVYgg4ATyeZTHGJniJ54g5bQTkDSR ZZ0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:sender:dkim-signature; bh=t1G9rYIEZ34mJXbbwuA3/PHTXFDOWuxrzGTb7P8Akig=; fh=MYE08DscYi1D75BwE/6iBAkFOGZM0NmSk40PXNugFGI=; b=BDRKSI4vaW0Vhv0ZmYdvTHWyjNXWCRVjYy2QBMjS+FosAXHsH0p+FEu/9wgXmPfOTf gPtmSTfIGYHJPMbzziGsIN9FPLC9j1GIbf8/jeoLzj0Ch9FYcs3SdLTuKF5U9u5QuEzY 6Wx8HYk9/CxQM71DoOuwn5gI6fFgobPWHhgQ3c/GbWluCZk6U3ezePz7ikZbvaUcn+9e Z0cuMxg2dJC+Numuw+/b95/KvU7qMFkVZhQJS00uQ2utL9cPFEmChv5W47sFvB5qKj2V JlN8gA7W4/3zD5jgB6GcPxsBixRyzJ5PdtbBqlvzxGTOSPpK1iVcoO0Ee+fFdflNpF5E aqXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Knq0k55b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id 3-20020a631543000000b005b92a7d88e6si12329728pgv.823.2023.11.28.08.43.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Nov 2023 08:43:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Knq0k55b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 66147804C616; Tue, 28 Nov 2023 08:43:51 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229671AbjK1Qnf (ORCPT + 99 others); Tue, 28 Nov 2023 11:43:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229567AbjK1Qnf (ORCPT ); Tue, 28 Nov 2023 11:43:35 -0500 Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95DBBD6; Tue, 28 Nov 2023 08:43:41 -0800 (PST) Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1cf8e569c35so37395465ad.0; Tue, 28 Nov 2023 08:43:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701189821; x=1701794621; darn=vger.kernel.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=t1G9rYIEZ34mJXbbwuA3/PHTXFDOWuxrzGTb7P8Akig=; b=Knq0k55bN+diKYC8OTzPLGcLkogD7/+w3N+s1CQTqx23Amwx3SmaaIE2QosSSqZRr+ 951Q0y7gTQwMR+CsJG2rinb+js3gDzDLkVozFAu1ediF8JJVJqifwHyrzQcHlW9fImks YCbvXv7gDQnEHk4e5pRHnYtz8JeKnYoco6lALft/Ft47XmDKsUrHOvWYCuruBMXtFp7k 5x16746SqkUrhjaYpuhRWZPcqwLKWhTcP4xYQa8W8AVYaEF/CKCdgoaIBE2TjLlgroHu BYdKm7c28ElmbkCMy6L8+VydJ0ICaqNY2kKc/gmGObGq3v45tiuzyV3sVt2NICtEZKL4 OGbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701189821; x=1701794621; 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=t1G9rYIEZ34mJXbbwuA3/PHTXFDOWuxrzGTb7P8Akig=; b=LBUvmr4mJTVa51uyitvov/AYNA6whXTakK4T4n533lMj2S+ETyR5GCInSnLK7XHX/f JWdzEincfyKP+XbqTTvJ5BjDLEoARgagq3ttj6lie8p5aFcQ/Tgoz6L+FW0PHtSojMdY c3IUTguz5BZlhlzQ4k8rYI0WKXhZNgT3mhSZUbDD5thF7Fdb8GbgQWcXqNqIetUSU3GV /csFr2uJik6+9U6Ih+dR+lBBzaYWDVNUM2iZCp7zoM+I5bouEXK/OA4SZ3bO0jCBkGMd 6vrsA95Zjoz0xFXEm0tY+QgddP+U4Dc8lUfJSME00fqB+pn+Us3LrNumu7ijNj6jefuY b48A== X-Gm-Message-State: AOJu0YwC+TKSqTdppFmVA0sF3DVihfTnD8MtXEC7gRZrw1wjJgwJLCPL IN1L6S8P49l7ygOtNI/9Ot8= X-Received: by 2002:a17:902:c10d:b0:1cf:cd2d:e296 with SMTP id 13-20020a170902c10d00b001cfcd2de296mr6915216pli.37.1701189820925; Tue, 28 Nov 2023 08:43:40 -0800 (PST) Received: from localhost (dhcp-72-253-202-210.hawaiiantel.net. [72.253.202.210]) by smtp.gmail.com with ESMTPSA id c6-20020a170902c1c600b001cfd0ed1604sm3930815plc.87.2023.11.28.08.43.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Nov 2023 08:43:40 -0800 (PST) Sender: Tejun Heo Date: Tue, 28 Nov 2023 06:43:38 -1000 From: Tejun Heo To: Waiman Long Cc: Zefan Li , Johannes Weiner , cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Joe Mario , Sebastian Jug , Yosry Ahmed Subject: Re: [PATCH v4 2/3] cgroup/rstat: Optimize cgroup_rstat_updated_list() Message-ID: References: <20231106210543.717486-1-longman@redhat.com> <20231106210543.717486-3-longman@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Tue, 28 Nov 2023 08:43:51 -0800 (PST) On Mon, Nov 27, 2023 at 11:01:22PM -0500, Waiman Long wrote: ... > > + * Recursively traverse down the cgroup_rstat_cpu updated tree and push > > + * parent first before its children into a singly linked list built from > > + * the tail backward like "pushing" cgroups into a stack. The parent is > > + * pushed by the caller. The recursion depth is the depth of the current > > + * updated subtree. > > + */ > > +static struct cgroup *cgroup_rstat_push_children(struct cgroup *head, > > + struct cgroup_rstat_cpu *prstatc, int cpu) > > +{ > > + struct cgroup *child, *parent; > > + struct cgroup_rstat_cpu *crstatc; > > + > > + parent = head; > > + child = prstatc->updated_children; > > + prstatc->updated_children = parent; > > + > > + /* updated_next is parent cgroup terminated */ > > + while (child != parent) { > > + child->rstat_flush_next = head; > > + head = child; > > + crstatc = cgroup_rstat_cpu(child, cpu); > > + if (crstatc->updated_children != child) > > + head = cgroup_rstat_push_children(head, crstatc, cpu); > > + child = crstatc->updated_next; > > + crstatc->updated_next = NULL; > > + } > > + return head; The recursion bothers me. We don't really have a hard limit on nesting depth. We might need to add another pointer field but can make this iterative, right? Thanks. -- tejun