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 2C7F8C3ABBC for ; Fri, 9 May 2025 19:37:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4CA106B009B; Fri, 9 May 2025 15:37:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 478806B00A1; Fri, 9 May 2025 15:37:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 33F106B00A4; Fri, 9 May 2025 15:37:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 1107B6B009B for ; Fri, 9 May 2025 15:37:12 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 90AF8BFEE3 for ; Fri, 9 May 2025 19:37:12 +0000 (UTC) X-FDA: 83424377904.08.4AB5335 Received: from mail-qt1-f170.google.com (mail-qt1-f170.google.com [209.85.160.170]) by imf16.hostedemail.com (Postfix) with ESMTP id AC06F180011 for ; Fri, 9 May 2025 19:37:10 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="d2ywL/u9"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of surenb@google.com designates 209.85.160.170 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746819430; 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=3vTa7RtCHjxieC6hTOF42B8Cm9AsQcKEy9wOP2glWys=; b=gdz24Bz13aVLQJm8omKRqqQUMBW2Apu97FPOX4prZn8ne9R8f+7a8s2h6VKEsWYsrxT5bD cwWTgsOyf6IbSrbkQADh8JIhuRQP1wEQmCOaPGWGUbfKS9yZALa1ZRKYZ+H58XZ/Y2bsEH rRnC4fsXbxI4Rs0H9Tlyi2S8EITaJdI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746819430; a=rsa-sha256; cv=none; b=Ir2Vn3L81PDQUjmwL7ARcpYop9r7KPzl9AodAfUVZ00nNcemYthzOz5/O6NrhAF/MzgmCp bJWSr75B4jFabM/Q4rHUHXiUBSGlspZSQGLX8fXsI/ep5vPowt9S2xe8Pt4/9HjPNPzrLS QU18z+R6iPsECa9vM//LeGKARV0N9CU= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="d2ywL/u9"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of surenb@google.com designates 209.85.160.170 as permitted sender) smtp.mailfrom=surenb@google.com Received: by mail-qt1-f170.google.com with SMTP id d75a77b69052e-4774611d40bso45791cf.0 for ; Fri, 09 May 2025 12:37:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1746819430; x=1747424230; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3vTa7RtCHjxieC6hTOF42B8Cm9AsQcKEy9wOP2glWys=; b=d2ywL/u9qZYzF1gmmaaeF+qRYCruJ9dDXO5qja4MLyevNHDD8mSg7BPZmlDLsDCtrs G29CFU8rvo4ft53eW6+5tfGQTIgmCDAJ7AMA4zFNxK7cQOb1AJ5R6r7LEVhGT5Ng3Xph 37gbjWXgjL9JV0o47kdK2goFlEWg0PCdkMPxcs+q9vGw/P8DuB2jE4NAN1b1muYytKiC IwCASvRXP/ZteyZL+TGKEJcllcANNRI9Xc6B4yIxOEkMZZyccKmFdn0aL8PCb2W2erfe cd2g5OIU56xa1+LokocdTuCz56ms1M88fZnj0NV7wV58mRqzuXiJcuvp1PQSNu2JKjah C2GQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746819430; x=1747424230; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3vTa7RtCHjxieC6hTOF42B8Cm9AsQcKEy9wOP2glWys=; b=D8SYHBz4PYLDhhFXZsPCLuQ8i0Jr8E/QBhIW69iB/0ssraOq+D2muzh4yovhAoXKsN aokTNexJRaaHwAFUSACq6puNqScw55SLD1yj493pCtYI50UsPyVIDEIoz7euKjjaeFVK If4ag7e6i832sSUzMa/gljZ8s/Ril9nev4n7p3oSTmOn1vPIITZGMSY5B5avqN717YJW JkBCrHSjbDn/YrO2Ia6hl3zxvgoRrjDSBycqkbRjbEuoiN/zqrM1vZKN5ct8S2KmQM9M rygM/wgmc61pGKGyjvXgmRFVLAumNUv3oiTxoPKluCHv4jeIryiQyP8muRS9JVPRdp84 x/6Q== X-Forwarded-Encrypted: i=1; AJvYcCVEJ/Dc+2ITXwREXNORG22FTy3bcXgDXbnbMnY6eZwyKnNYt4SD8+FzVstROKvGgpkrHfbrpsgiQw==@kvack.org X-Gm-Message-State: AOJu0YyZM9zB7QBQpIhmIswXjIgpjmgd2O2YJ013niOgqk6yi3AoRlm6 XubkjizvwmKNhfzVxRWkmfEha5HHrcUZB+R6gfzEuu6/TLm/SPh98c4WG++yzhA77VNRU0c7cOr GLj4UXNy00rTHKsqF266dy7tDDelQ7IibxlWC X-Gm-Gg: ASbGncvEclSBVI6b+Rv+RniUiWlM1s9i7EUfQCCUioMc8qIVAgBfdEFwCXj0e+41E8I J0v+Xt2FwsZN+4Aj1KLmFYxjVRHy3S3eORVNK8f5hQocWuIXN6KAa0/jlI+zpT8EsjwrTpoYERB +Qw6m+rd02sjGbm++rpt/NsnwW5hdN2kI= X-Google-Smtp-Source: AGHT+IHxwdhepzhm9r4/VsjN1+OHVF5JZWVhbaKD3NJOFLFfHNJGUKeQRwNxPIm5hEZATtnjyhd24FOFu+BCJTxlq7k= X-Received: by 2002:ac8:5f85:0:b0:47d:cd93:5991 with SMTP id d75a77b69052e-494612f9bdemr576991cf.21.1746819429277; Fri, 09 May 2025 12:37:09 -0700 (PDT) MIME-Version: 1.0 References: <20250507175500.204569-1-00107082@163.com> <20250509173929.42508-1-00107082@163.com> <7f237574d9f08a9fa8dcaa60d2edf8d8e91441d4.camel@linux.intel.com> In-Reply-To: <7f237574d9f08a9fa8dcaa60d2edf8d8e91441d4.camel@linux.intel.com> From: Suren Baghdasaryan Date: Fri, 9 May 2025 12:36:47 -0700 X-Gm-Features: AX0GCFti7bNqGFrfEJY-DR9yB3WqRlM7xrBhfUKajVDVf17WhbO-8Pm_9O-kOeM Message-ID: Subject: Re: [PATCH v2 2/2] alloc_tag: keep codetag iterator active between read() calls To: Tim Chen Cc: David Wang <00107082@163.com>, kent.overstreet@linux.dev, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: AC06F180011 X-Rspam-User: X-Stat-Signature: z7aia4o16xysu4g314un34qnebxnmjei X-HE-Tag: 1746819430-509822 X-HE-Meta: U2FsdGVkX1/1Yy+eGpcbNuIgYPvfMXSlAETqAdkgZBBhQ1Fe7lXTGVNAT5ocgtxHMWMvLFKggx2Jfn9UPxqQ7o6GfzHphjn4Gu1lshtxXBy8zmhWzQll9US24SQMXiWeFUMXp2Q+Ri5wmGXU2oUVHHaq7+2susTq/XDwDbv6hHnIz/O4Jaw/RhgjQ+A0iu1GsStxtpP0Nx4xJbYvTtUXJnMrs4PAuZzEKzQjKgF4OmYlejCJ3LI/dyKUQCJCy7QE/MfckybMlLkAOlrt7Hme9//n1y1vnm6kyPOyjDUjOuOvhQ5jzsNiPXCIrrUpsR9D/BJ35w0HTElCRlA9aBeLzLMCJ9Eo8HHN9SNyV3YiCKJTCIsp/EtObFiLBr4b9sbMmu4/XeVbaeBRcb+9FhIZeUnnfwnuYCVz/vslV0gt6CHwYAFAHBNn/iX1JmdzVu5WymazMgihnVrNzPEs3dTvwkSmEkbCDcOZ2qyGiUbOC/prNLJSzYRGSsnOwuD49mup8i4MYSDHNAr2+ow81zuFZzh/OrNgglsPWL9fPJrRrFBtV5yx590w5Jt3xhVOcG2gD1uw8EhglV497ryBH6er1tqHyN2qsjoHlvthmH0QKGxYBLTDacwq0QHSxFp1qixkOKzEYIjB9Y71WiERsS6h5lp2pfHdjqas89ig2Pup10nBiLgZxyXPK4maf9xOACk4iBEn0V7T0NvnP43amdIHy/Re2p99U55DSttA6+XOuQtiuhZ+gkwCd4BbVFAfnndQHY17gKI3SKwFBD/gC73njWE8JkxedgKvlBLKzFDxQLPjKJrB7ZrpaxKfZ26xyTPXYjCTPliyczEcQoNHfyv0Rz1gXLrzuU3M+T2Fzd1elPu1FGqQ4mR9YyxCw2KtG2TUh/wsZBakJ5KJrCSlFdFv/bu8TTNf4a9oh7CnXBmmJgTsBZxIqNTQ8LpWYkY7v1Q7eV/vLmcLVLOXsWDsB5u SeeB4muG JHlNpAjLmpa1UxrQg3R8Gtaxkkit+k2SFNnkNZDbtQk7GOusDXNGDelvXjVfq71/1S/ZohoggrKbcIzO73itLywZh/ieMMFLfTV/gXEzmk0fnz4lJyWBIi7OYSMg5bH/O/xKkPg+RdX9ipPPGa5Vc5O5BJMlwAZLHxAXQDWE3sPFg7x6TOIMhv0gb4OXXBie8YLwY3MOx1xLmpy30IZhg3KiAPsP2JVT4YhNAE7UCX6BAWi+p+5wPWOYeOgC0q6rWD1dhMrIRcjfmMX++lTgbeVeQOAihEPEa+hbj7HmD5NxQ8xytq9N18M2vyaByEPMnq8zihu7324xiMYsSCEONlD0/uha1f6TIE6cklZXVfAbzvoVLjoKL57Kbp24VSLmzxVBUQFEkRinOVMg= 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 Fri, May 9, 2025 at 11:33=E2=80=AFAM Tim Chen wrote: > > On Sat, 2025-05-10 at 01:39 +0800, David Wang wrote: > > > > > > Signed-off-by: David Wang <00107082@163.com> Acked-by: Suren Baghdasaryan > > --- > > lib/alloc_tag.c | 29 ++++++++++------------------- > > 1 file changed, 10 insertions(+), 19 deletions(-) > > > > diff --git a/lib/alloc_tag.c b/lib/alloc_tag.c > > index 25ecc1334b67..fdd5887769a6 100644 > > --- a/lib/alloc_tag.c > > +++ b/lib/alloc_tag.c > > @@ -45,21 +45,16 @@ struct allocinfo_private { > > static void *allocinfo_start(struct seq_file *m, loff_t *pos) > > { > > struct allocinfo_private *priv; > > - struct codetag *ct; > > loff_t node =3D *pos; > > > > - priv =3D kzalloc(sizeof(*priv), GFP_KERNEL); > > - m->private =3D priv; > > - if (!priv) > > - return NULL; > > - > > - priv->print_header =3D (node =3D=3D 0); > > + priv =3D (struct allocinfo_private *)m->private; > > codetag_lock_module_list(alloc_tag_cttype, true); > > - priv->iter =3D codetag_get_ct_iter(alloc_tag_cttype); > > - while ((ct =3D codetag_next_ct(&priv->iter)) !=3D NULL && node) > > - node--; > > - > > - return ct ? priv : NULL; > > + if (node =3D=3D 0) { > > + priv->print_header =3D true; > > + priv->iter =3D codetag_get_ct_iter(alloc_tag_cttype); > > + codetag_next_ct(&priv->iter); > > + } > > Do you need to skip print header when *pos !=3D 0? i.e add Technically not needed since proc_create_seq_private() allocates seq->private using kzalloc(), so the initial value of priv->print_header is always false. > > } else { > priv->print_header =3D false; > } > > Tim > > > + return priv->iter.ct ? priv : NULL; > > } > > >