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 62DFCC02180 for ; Mon, 13 Jan 2025 17:58:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E69EA6B0083; Mon, 13 Jan 2025 12:58:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E1A2F6B0088; Mon, 13 Jan 2025 12:58:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CBB926B0092; Mon, 13 Jan 2025 12:58:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id AC2A76B0083 for ; Mon, 13 Jan 2025 12:58:08 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 3A53A1A013C for ; Mon, 13 Jan 2025 17:58:08 +0000 (UTC) X-FDA: 83003187456.07.99D9F58 Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) by imf12.hostedemail.com (Postfix) with ESMTP id 4E65B40004 for ; Mon, 13 Jan 2025 17:58:06 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=EXHc6fso; spf=pass (imf12.hostedemail.com: domain of surenb@google.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736791086; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=90xDU8T9GXwB9Alx6oCwvrZULAsPLAPSmywSnm6C8ro=; b=aW4oNEA72zqmiwHcHYIeGBWw4hHUVHY2zpJ94uRRlAkfwu54H669hxxR9VH1BW2PzXhwxa +/6mUs04ltuK0a8YZWrbjNQtJTf2p+NrInMKMdgR6prFwWBMmzQ0Wicy3SWilIegDxJVV6 Zo+zHgcsVMVA0abeNvWo15PwFHH0m+A= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=EXHc6fso; spf=pass (imf12.hostedemail.com: domain of surenb@google.com designates 209.85.160.181 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736791086; a=rsa-sha256; cv=none; b=rRezK4t+wokCJMqigTvlNMBtA5I7Zna13okkfG32EBrzX++RTgRat6u7McqGEij02l65OF 3ksRcFX9wHf3Oi+Z+l+Fxi3xkFkQM96PKcTduBSOc+XdtMieSLP6/iBXXXVb0CBpevsw90 UJ0HK/YILioIzhuY0U670PCmmWfjM5E= Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-467896541e1so5941cf.0 for ; Mon, 13 Jan 2025 09:58:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736791085; x=1737395885; darn=kvack.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=90xDU8T9GXwB9Alx6oCwvrZULAsPLAPSmywSnm6C8ro=; b=EXHc6fsoLdIPRk1vfWK5SD3dkV4d/RwMyGsLOqxSEZ06hVb2Fywrr3YcCZoqS9ryEl zpb8YxZ3+J/SXKvCfiHfFtIW3l4RhLKRY0DZD5yDl2edrRlGS+nQEh4BwsYh++sBSWIU B2u2z3kozJRNtZKEjtGOlXFzIzXVplvUKbcS3VK26Orv41EVaqQ4WbDY3HSKpqi0O5HX af45cO54B+VdtUxiI4DgG/xtJZ6gVjKb3zU+iLa62fS5WmfREFchuSeY23ncIHy33Oiw eleYfKg21V28UY09VTGAU7KOJSbzNb1s9DwB7hKDIbFkVqgp+SLtwyJnlF5Rc0jqpBRT iq5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736791085; x=1737395885; h=content-transfer-encoding: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=90xDU8T9GXwB9Alx6oCwvrZULAsPLAPSmywSnm6C8ro=; b=jANb7aTT/V6ZBhjsO+TdVpz/Fd4HUg4PbWHGGuqZmSB4AZ27St6cVmk32y1SH5j6dH x9NbC2PmHvL8E9LDdYWLiEeFjc31eZ7ECGhz/hkwCwO68Q5C4oDk0ALuq3dlKFsrFbUG KOuoj5rmoiFRXxnIOBtpGLVxWPQ1GJXGHm4o6xJ8Hrmj4ufoD9JdB/2fqN2GOw8xmvOb HTLON1a8gBRxcq1pg9k9+6kh7vfu0Kp2OQti6DKF6KzQjBX2OiRB/ztcJDaQaQmHfLt5 cRlSk2JmXKLKqI0uGKweG+3hQVJs5zS5rvIiZjw2nLgEIfDayBu/uRlWpGIbRNs5rYmW 9XZw== X-Forwarded-Encrypted: i=1; AJvYcCVwOdYX9TB0hF1N5h9Qyru6XYN4somdU79zgjgbA3ZjnTvENwWXRVeOI68dHBXQ180nV3XNLr6lPw==@kvack.org X-Gm-Message-State: AOJu0Yzd12P/dUX8LkvvwossKQLSsaSQngHGKiDm/ZIMtxDARm9Jjd9M jVi2HY2thvAxTzWlst5D8AzjYWYFWY/ADDF7tHgKqnuku3oToI1jS0SsjWoycVLKyVHvxS1+8l8 Az38hO+86rd7JHojJYAVH1ZpN4HSS85hZu2JG X-Gm-Gg: ASbGncsMjwLGX3XHWv4hBEuxntnwCpp81Dm77vBV42vf2e9DT3huLRJKFBrKODSVsJB kOPZAi/5oDIoRRLGhz+oVu7dbdGCQGqYGpfIZEw== X-Google-Smtp-Source: AGHT+IHH7AsF4K4r5L8CTwcX7/Xvl2j8GKsJsh3z67HWxdhTnp9Y/3B7i6VCL0T5RD5JKKB8wGhwnMZDm9xmJXNose8= X-Received: by 2002:a05:622a:1b1a:b0:46d:d452:a1b0 with SMTP id d75a77b69052e-46dd452a75bmr5536251cf.2.1736791085221; Mon, 13 Jan 2025 09:58:05 -0800 (PST) MIME-Version: 1.0 References: <20250111042604.3230628-1-surenb@google.com> <20250111042604.3230628-14-surenb@google.com> <60b60b02-5dbf-4bb0-8301-0e2f511bbc7f@lucifer.local> In-Reply-To: From: Suren Baghdasaryan Date: Mon, 13 Jan 2025 09:57:54 -0800 X-Gm-Features: AbW1kvY6xiVVlhvbR2OfJlzPdp0nmZtAdNS1tpMsFn-2MxLX4_cLtgzjVOa1nRk Message-ID: Subject: Re: [PATCH v9 13/17] mm/debug: print vm_refcnt state when dumping the vma To: "Liam R. Howlett" , Lorenzo Stoakes , Suren Baghdasaryan , akpm@linux-foundation.org, peterz@infradead.org, willy@infradead.org, david.laight.linux@gmail.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mjguzik@gmail.com, oliver.sang@intel.com, mgorman@techsingularity.net, david@redhat.com, peterx@redhat.com, oleg@redhat.com, dave@stgolabs.net, paulmck@kernel.org, brauner@kernel.org, dhowells@redhat.com, hdanton@sina.com, hughd@google.com, lokeshgidra@google.com, minchan@google.com, jannh@google.com, shakeel.butt@linux.dev, souravpanda@google.com, pasha.tatashin@soleen.com, klarasmodin@gmail.com, richard.weiyang@gmail.com, corbet@lwn.net, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4E65B40004 X-Rspamd-Server: rspam12 X-Stat-Signature: 93zi3ydthxj6ymnsngcqt6soi64cof53 X-Rspam-User: X-HE-Tag: 1736791086-390507 X-HE-Meta: U2FsdGVkX197wJvqRg9hygiCZYHH8lJRFbkdgMWskFg833Qe3p58sc3x7Jh2+fnODvP5KtBYWzflKkQ1NslG2aDJvh8KzMJa8ZUq4dgeqU5z4zWTUt8dEUZYRKhaP5sMqyItyLKPt9RfP5JaSkbqqbfjaqe+6qJIEgXfQ+hddySUmjTLM6KwYdfoLvK+r1rKw7WC2iOS7HJbahKLq8h+cRhXu8dBKUT4KhHH8KV/HncK1F/jcfmEQBticZy3iA2fXwJ3F/UHOk6+rB//G6+Gwy5GrH0S/nSqt/mCaPrzcURxPxlIukrbrKjidakt3oPyegG0CAvZ7GjP0zFmj/z+6yb4LWE/1amJOMgThjS2MoJ2ABL4wAg2G1z1sJEb/WGyfL7fjc9EIDsDY/vWgj/PKWa5g3JFfcH2GJVYfdVQlx/VAl5PfZGz87jl8x2TZzWJD8CqI+Irqtzrv4ejAkocjS8rAPymYlj7LHzlTF23ONr5qvFSy1lMGt3OhCduYATG3M5t/ahiUTQEb419SbI1yHJnzTsJln5ngh6W1GmhX8EDAe/1+Xpw268lt58QHic0EZOp0CpLyceYlDg1A43mpBqD+b1+5rAKfTzDklCuWYV1os7zf2SE3RzM2/C85TLtEe/Cj8QaM6kHtMnzKzE9ecn5WBE0GlUWdxR924p7qc8uF9Xdt+A1IQN3T78eXHycBBA1qHRRytgaBjuh+4wu5Y5dDpDgqDAYTRE9gYTyG4Jd/2KHG6/MxQvbpcHcDgojfl0FrFOClskDI4ipqhjIk2tqAmqhyetFYwC8D+lDv5R+04AOMPjb3A/pA4ivwoSdRju8z6bbDXRo3Jx4hoyEdMlVV4iwW2fPAdm3tzF3RRzMEYCX/H37bG11bofYD+pCCgORooLB/An5p15in+iGWCb4vWn1saWHKlqxiuHduj41+3zqKPtaIi3yfSLEOpyFAnZ/zUiXD9/nBLhCCO9 PqPa1WYI d6Nbxhs9hoaVH+cqtTmtHwcIrg5LLSPZiouDcYECd8XTP3Vdws9bFLP6yTCOK4F9NQPegtEetw6czgswZhPvLLLKdUAT8Ab2RrYEVwbtm2snfoHBhTbVe7prwKanVjPkY6Bj4dIkSUCSGmmvAZDreqIAJD9U205RT0tFDJ+b/UZlYwZ09P6a/YiiRpL7hHokyxm8Mxg+bW/c2odcjSwyBrcJw5qv/R2CPXwToK3uIdPCCWuVR3kIT/QSg1UbP3AJBklDzlnmiQtusFtl9U/maeiDXk3MHcKF+05lQFrpF2CK+2rmkZDDe4qgZINVbCqUan5R/LKfabksVXkbOiSW0gOAGBTGCS2dRZHBJGd12J3Z7w9M= 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 Mon, Jan 13, 2025 at 8:35=E2=80=AFAM Liam R. Howlett wrote: > > * Lorenzo Stoakes [250113 11:21]: > > On Fri, Jan 10, 2025 at 08:26:00PM -0800, Suren Baghdasaryan wrote: > > > vm_refcnt encodes a number of useful states: > > > - whether vma is attached or detached > > > - the number of current vma readers > > > - presence of a vma writer > > > Let's include it in the vma dump. > > > > > > Signed-off-by: Suren Baghdasaryan > > > Acked-by: Vlastimil Babka > > > --- > > > mm/debug.c | 12 ++++++++++++ > > > 1 file changed, 12 insertions(+) > > > > > > diff --git a/mm/debug.c b/mm/debug.c > > > index 8d2acf432385..325d7bf22038 100644 > > > --- a/mm/debug.c > > > +++ b/mm/debug.c > > > @@ -178,6 +178,17 @@ EXPORT_SYMBOL(dump_page); > > > > > > void dump_vma(const struct vm_area_struct *vma) > > > { > > > +#ifdef CONFIG_PER_VMA_LOCK > > > + pr_emerg("vma %px start %px end %px mm %px\n" > > > + "prot %lx anon_vma %px vm_ops %px\n" > > > + "pgoff %lx file %px private_data %px\n" > > > + "flags: %#lx(%pGv) refcnt %x\n", > > > + vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_= mm, > > > + (unsigned long)pgprot_val(vma->vm_page_prot), > > > + vma->anon_vma, vma->vm_ops, vma->vm_pgoff, > > > + vma->vm_file, vma->vm_private_data, > > > + vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_ref= cnt)); > > > +#else > > > pr_emerg("vma %px start %px end %px mm %px\n" > > > "prot %lx anon_vma %px vm_ops %px\n" > > > "pgoff %lx file %px private_data %px\n" > > > @@ -187,6 +198,7 @@ void dump_vma(const struct vm_area_struct *vma) > > > vma->anon_vma, vma->vm_ops, vma->vm_pgoff, > > > vma->vm_file, vma->vm_private_data, > > > vma->vm_flags, &vma->vm_flags); > > > +#endif > > > } > > > > This is pretty horribly duplicative and not in line with how this kind = of > > thing is done in the rest of the file. You're just adding one entry, so= why > > not: > > > > void dump_vma(const struct vm_area_struct *vma) > > { > > pr_emerg("vma %px start %px end %px mm %px\n" > > "prot %lx anon_vma %px vm_ops %px\n" > > "pgoff %lx file %px private_data %px\n" > > #ifdef CONFIG_PER_VMA_LOCK > > "refcnt %x\n" > > #endif > > "flags: %#lx(%pGv)\n", > > vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_= mm, > > (unsigned long)pgprot_val(vma->vm_page_prot), > > vma->anon_vma, vma->vm_ops, vma->vm_pgoff, > > vma->vm_file, vma->vm_private_data, > > vma->vm_flags, > > #ifdef CONFIG_PER_VMA_LOCK > > refcount_read(&vma->vm_refcnt), > > #endif > > &vma->vm_flags); > > } > > right, I had an issue with this as well. > > Another option would be: > > pr_emerg("vma %px start %px end %px mm %px\n" > "prot %lx anon_vma %px vm_ops %px\n" > "pgoff %lx file %px private_data %px\n", > ); > dump_vma_refcnt(); > pr_emerg("flags:...", vma_vm_flags); > > > Then dump_vma_refcnt() either dumps the refcnt or does nothing, > depending on the config option. > > Either way is good with me. Lorenzo's suggestion is in line with the > file and it's clear as to why the refcnt might be missing, but I don't > really see this being an issue in practice. Thanks for clarifying! Lorenzo's suggestion LGTM too. I'll adopt it. Thanks= ! > > Thanks, > Liam >