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 2328BC3ABBC for ; Fri, 9 May 2025 20:46:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF0056B00F4; Fri, 9 May 2025 16:46:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A9FF06B00F5; Fri, 9 May 2025 16:46:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 98DD56B00F6; Fri, 9 May 2025 16:46:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 774766B00F4 for ; Fri, 9 May 2025 16:46:47 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id F2962C077B for ; Fri, 9 May 2025 20:46:48 +0000 (UTC) X-FDA: 83424553296.28.D716D04 Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by imf09.hostedemail.com (Postfix) with ESMTP id 1F2B7140006 for ; Fri, 9 May 2025 20:46:46 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=ruBB1x5w; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of surenb@google.com designates 209.85.160.174 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746823607; a=rsa-sha256; cv=none; b=xz2rJrHU55Gja4+GJwuntOI35Y3w4E6CarKx1L2log/CwVegLjw3ZQZfpIHqqXCOdqbw8i et6IitZd8DplinuGXjYQTO0Xod60ISpKCBvIDezUUPISP4cLPsfeMB8b+0MjGp7zAqQ1bJ U0KtfWw2SWXRgb/uavEcK6He7LQVyvA= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=ruBB1x5w; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of surenb@google.com designates 209.85.160.174 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=1746823607; 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=nMwdV78Do/D0NTWsn0pPOqDldUmgRqLJqXDySmxsUFk=; b=5kUEZMRSNads4F1o3EotdYSYEzkjdbd2zilrKVNvdojnbKebezRh9UvrtUHN7ODGF2TnEF yanhZUgoJ+GqMxiJzycoSLEB1+6azKq3fJulGIjsohuCCQZdqCRyCp/9Jmc3NwGqLdsTiy tygc5V9C1NufYL0534vYpsNOuBGqGcw= Received: by mail-qt1-f174.google.com with SMTP id d75a77b69052e-47666573242so83571cf.0 for ; Fri, 09 May 2025 13:46:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1746823606; x=1747428406; 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=nMwdV78Do/D0NTWsn0pPOqDldUmgRqLJqXDySmxsUFk=; b=ruBB1x5wkyDFwghAYrO1gIF7GPgGdRGeEwipSFKqNMpGbHJSkRmCBYmOJmUcWRsSPO TATh41CG8xTjD+57CEuEWr5yrOsT8GcY61aixICkdcjSIZ+y5vlF2vdQH8zic1Ho3pmx 7lPaQeRQm8uoDclWOrVmFs901kfZUWF3p+Ex5JyTkY2BeGwALR6+iLArk6tVKlxK49Za NMnr6qol80E7u8eqMhRRmjgxKCKSmcgY8j7J73biSrMb9XRkATQXx6opRpUEem4D8UGf NOjCeTPUguB+slqlYv08EG2/V0VmasIMbSzObk9Rnwet+RS9Mi7lxLM8u1y4F5vBaIEV 88UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746823606; x=1747428406; 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=nMwdV78Do/D0NTWsn0pPOqDldUmgRqLJqXDySmxsUFk=; b=T3ckox3p0t/1kGzetgla98UELTARLFUICKLdFDv41yefKz5ZO/28FOVco94hBcL7QC ieki+uRX9vyX1tA+h2msVNGmoYgCW3Z/Edn1NvIppo0WXtJRkeyb1T2VOHEOr3SWlRrh 3LePS98lu9h3RCU3aCg5VHdJa+pfoe6K4J9cESSPZiNz0so0YxRAk3K7zgIdQEeJCU9d sjw5vfi3dVyVkPwaVRDi1uKMtIRYKSn+hXu+I3r1gJhrnOIOp6E4aZMn2SB0/s9f3Pbr XFBXyEq/hdCBScnObErl47X6ER593BumCrXYxHPIHSrUtCxz9D7KtUyZ4R82LB2NkUMN 3u9Q== X-Forwarded-Encrypted: i=1; AJvYcCVC9LCSsSWb9pUHQlc8ZrGMT1C34/KchFs7rqSGGgxevw2nht0LueGSAogk8dJZ6ZgySeoKQZ5QQw==@kvack.org X-Gm-Message-State: AOJu0YxfmzLn1lviJ/yeXZPoZ153kmzsE1l+J9uckXKP0SVi3YDAS6NY 6tKev3UBc8K+9uE6Ke5S4g3AQuw3VXo4lD58tT8DlYVbIcYSVOjOIzvQBDR07v8ASVPawyVE7OI 82j7gIfMIHUTJyAD8v7sDzufQM7FNyjCnTHDQ X-Gm-Gg: ASbGnctaD7OQ41mnDcduMEt2aWbjp5jgvaURO2qEYMxMmq6F1GDiH2DwaRXjKURvke5 qx5Ghg9yGoIrTGOQLVYMpc5dLjO0Mi8jMlHjOZuGLzcWds9wkeEbTxkTSxIDZrLnrRPP6VnbuOl M6lPE68gTuwFH3DrxOfwpfFDzJRO3MBAY= X-Google-Smtp-Source: AGHT+IH6jfC0LXpfkycrb/+0Yn4u2q8VMq0XT3FpWUL56TTu6Gwn5Q722UotafbWRl5Fq7XQJ8taCtPABVRNAmb/iIE= X-Received: by 2002:ac8:5d10:0:b0:476:f4e9:3152 with SMTP id d75a77b69052e-494612f9be9mr936421cf.25.1746823605969; Fri, 09 May 2025 13:46:45 -0700 (PDT) MIME-Version: 1.0 References: <20250507175500.204569-1-00107082@163.com> <20250509173929.42508-1-00107082@163.com> <7f237574d9f08a9fa8dcaa60d2edf8d8e91441d4.camel@linux.intel.com> <294d0743c0b2e5c409857ef81a6fe8baaf87727f.camel@linux.intel.com> In-Reply-To: <294d0743c0b2e5c409857ef81a6fe8baaf87727f.camel@linux.intel.com> From: Suren Baghdasaryan Date: Fri, 9 May 2025 13:46:34 -0700 X-Gm-Features: AX0GCFthQheh3sKufeKBFzfQvnT3bFILXkW0UXHqoFTmEB5sdEQigCntENja8Fk 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-Rspam-User: X-Rspamd-Queue-Id: 1F2B7140006 X-Rspamd-Server: rspam04 X-Stat-Signature: ugqqxftbnqb4zmu7hy5yjgo5n395we8f X-HE-Tag: 1746823606-120634 X-HE-Meta: U2FsdGVkX1/k0JivIEwRmp1gKL0zs0IokYt1Tw5CfzC+96WV/hjn4gpvaaFPOdIVIJyBws1Y4drNlFEAB4obsSdpQ0UyacWLfV9zYJDQc0LLhypCEaMud+wc29ZcP0fM6lG4zZ3onJ4PC8xdlKez8lay0CQfymfIVayQLxxewJ5iTH+iSWobL3/dq+tym8W6iBVVuKn2TUwXadTkqGM75qCIfTJDbfNasSJBwgWqwiUETCd/r5Z6qz6vZcXIGeC2KDje2bmnYHwQCfLrmezZGLaYDJLULd8uMSQAjJ259k7j28A6HjZ5LKS8llnTDVmkSe9AZhZrNReFhMLheJJgxHLz0I5q+1CsJMQtVkK7owBsNtmSZQ1fVwOc6L9ZCl4tZcm0/U5EVs8kjhWMeVdNndTfD4nW05kxDXPdXYceSifrhw5iV8TCuEnpOqjkwKUnsed78PncnOGvIqC7mM3x9nJ8Hp8scjzJybLkib3gNIvKepkXt6xDLgJ6UcYWxfX7wGQSVULfWVrzmeQX5ra9bJ7dRkoSdVGxp77N6uye7gqzWzWZFGVbuPHSxLGseX0bg7D81JFdr57ItcBfK4UdcBY8Ptqwh5IJIUvT9dBjs93sMqedfrkljsP9mYzN0EAQXkhk0oTh4G6d0/tO2rfuRcTEXsBA+W71ZyM2WN5/4dc5Aqf38Z83DTYYYCPwcFcCvQBKwNGE7Y+v8MLFPB6eoQ/mamjXOf0o75WKN7/rOWQmqPXZQC8y3EypSqUab1wzMtaoCL8x2b9yX3h74bcC2yxFA7c3CjEWC6J+d1RnXUx3fBRAcWR8s3y2VvdiP2fdL8b2zBN5v21nO/nPheQJmWoWPtJsV1xHDohTqxZmPqAXOlA7s6bYH2padGOcM02mbDdXOg3zuf1lSJdtx2W2dfXw8bzhDbTY4Zk4r8yTINwE3wL5BqGEybl5xSNf7vyoAnv9tg6ujA8vKPgig0G YDa+5hN/ e2U1Kfe9mI6fQKGRz++n7b1UwCD6hQvcHNR+zl3SKo+0gk4lAsgWNTWdr//eNrrMzOYm4TIfB8AmVz5DijEmZfP2tBU6xrM6OJa8yuZcP+iwy1tvWRKxxmwALqL0wOk0mrYGxleRXgSZdV9Sfto63+W/PilPURe+yomRz00zrR4oEMHjLW/Kqx4jseYgEusQef1qSnvwkkZiC95pcQrbcNfnUr+16TVsn5Orzswg+KOGTTc9qAcWIYNWlWKxAbrZpH4m01xSmBzLvPYWbdv3ioaMhzgywdZHDO8/cvYDqzfnCDIPX2PBIjEPNWeMUOsMJUTUU94OwWeQgS11r8+FWt/NjhRfFiX4OEsWoqE58PWoxSsUn5j0EijQHtEDpgHdC7eEa8SZLrJONtgc= 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 12:46=E2=80=AFPM Tim Chen wrote: > > On Fri, 2025-05-09 at 12:36 -0700, Suren Baghdasaryan wrote: > > 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 && nod= e) > > > > - 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. > > But we'll start with first call to allocinfo_start() with *pos =3D=3D 0, Usually but not always if we do lseek() to a non-zero position beforehand. > then print_header will be initialized to true. After the first call to allocinfo_show() print_header will be reset back to false. > Will there be subsequent calls of allocinfo_start() with *pos !=3D0, > but priv->print_header stays at 0? Yes, there will be subsequent calls to allocinfo_start() with *pos !=3D0 and priv->print_header=3Dfalse, which is what we want, right? We want to print the header only at the beginning of the file (node =3D=3D 0). > > Tim > > > > > > > > } else { > > > priv->print_header =3D false; > > > } > > > > > > Tim > > > > > > > + return priv->iter.ct ? priv : NULL; > > > > } > > > > > > > >