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 DECBFC04FFE for ; Wed, 8 May 2024 15:29:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C4E36B008C; Wed, 8 May 2024 11:29:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6749F6B0092; Wed, 8 May 2024 11:29:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 53C1B6B0093; Wed, 8 May 2024 11:29:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 374376B008C for ; Wed, 8 May 2024 11:29:16 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id E414D1C0355 for ; Wed, 8 May 2024 15:29:15 +0000 (UTC) X-FDA: 82095612270.19.0BDA3BB Received: from mx0a-00823401.pphosted.com (mx0a-00823401.pphosted.com [148.163.148.104]) by imf12.hostedemail.com (Postfix) with ESMTP id C6B4140019 for ; Wed, 8 May 2024 15:29:13 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=motorola.com header.s=DKIM202306 header.b=1EKx5BvI; spf=pass (imf12.hostedemail.com: domain of mbland@motorola.com designates 148.163.148.104 as permitted sender) smtp.mailfrom=mbland@motorola.com; dmarc=pass (policy=none) header.from=motorola.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715182154; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=cGgfm3JhXLARphCYx+vuVE/z5SXwoyLJfxNkrGFGD8w=; b=uF/Qb3hEfGzVBUtcJhd7O1lbl/H/2FnCJNwwtwQJL+qlrKuespI2++n0M0gt4puAG3xIzt XWEjJ11T2OFAaG1Y7qifbhOuKKTSgOYfoaXHAvXzQGZ6Bqd5lcyzAHjpHxOV4s2P8K4jKE 3aj7AEK77R6lDzwbP1hhOyvUjHC2ElU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715182154; a=rsa-sha256; cv=none; b=dZWfVp2PeKUyu/K6GbT8c8Ssv0oqdXO86spCPtY616w1RgcVKpxdczJjn9ZTxpdcbpCLFV Jp0LlqdiRyYxxQe4LickiHO0gP17UpUghVwvgiJ/eCRfV3Qd0+qEz37n1IsJi6hKY07lUD 5BmK/8GvotZOaCIKlbJAkMtvtdFTJE4= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=motorola.com header.s=DKIM202306 header.b=1EKx5BvI; spf=pass (imf12.hostedemail.com: domain of mbland@motorola.com designates 148.163.148.104 as permitted sender) smtp.mailfrom=mbland@motorola.com; dmarc=pass (policy=none) header.from=motorola.com Received: from pps.filterd (m0355088.ppops.net [127.0.0.1]) by m0355088.ppops.net (8.18.1.2/8.18.1.2) with ESMTP id 4489oU6U014952; Wed, 8 May 2024 15:29:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=motorola.com; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=DKIM202306; bh=cGgfm3JhXLARphCYx+vu VE/z5SXwoyLJfxNkrGFGD8w=; b=1EKx5BvIv5YJL/+zjBlp/AACoftJ4JIRtMQk ZfYAceFaoj1RubYf0/oNui357lH6boZ9NI8YO5ADPjPsJ+WiBN8byD+b6HTDbAA7 hQ/DeH9vZs0qA1x2wdiKy/51R+TY/3t6mUV9zYBSo4NId/FLkHIWTZzlv40u+b5N Vl2CTEU/IjiSKrhJWwj0uV3hvkMBdjVE8GP+rqX5BOIO1RVfalXF//HqkMgVXPus a89djP6eliWMjf08nC3aGgYUGQkoXeC8lEi2vasr5hCkNvzc2i2Zf7KGpN9X6fUg iT8FUK5OOIi8C2/oZib0MZOELwgTjqO5VDkk/ggo/gtMgYbhZg== Received: from va32lpfpp01.lenovo.com ([104.232.228.21]) by m0355088.ppops.net (PPS) with ESMTPS id 3xysg1tbuw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 08 May 2024 15:29:05 +0000 (GMT) Received: from ilclmmrp02.lenovo.com (ilclmmrp02.mot.com [100.65.83.26]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by va32lpfpp01.lenovo.com (Postfix) with ESMTPS id 4VZJw014BFzgQ3p; Wed, 8 May 2024 15:29:04 +0000 (UTC) Received: from ilclasset02 (ilclasset02.mot.com [100.64.49.13]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: mbland) by ilclmmrp02.lenovo.com (Postfix) with ESMTPSA id 4VZJvz6l6Jz3p6jp; Wed, 8 May 2024 15:29:03 +0000 (UTC) Date: Wed, 8 May 2024 10:29:02 -0500 From: Maxwell Bland To: Catalin Marinas Cc: linux-mm@kvack.org, Will Deacon , Jonathan Corbet , Andrew Morton , Ard Biesheuvel , Mark Rutland , Christophe Leroy , Alexandre Ghiti , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] ptdump: add intermediate directory support Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Proofpoint-GUID: Pe7vE0fxNa4ELU7UpgxPS46DCDq9E_EK X-Proofpoint-ORIG-GUID: Pe7vE0fxNa4ELU7UpgxPS46DCDq9E_EK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-08_09,2024-05-08_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 adultscore=0 impostorscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 lowpriorityscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2405010000 definitions=main-2405080111 X-Rspam-User: X-Stat-Signature: k45augmjpwzufjjfxknu3jt563zzrbpz X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: C6B4140019 X-HE-Tag: 1715182153-276218 X-HE-Meta: U2FsdGVkX1/GwRBxE8gYq2F0Tgodckjz+y7i33WsbcmI9LtleH4MFU0mRp8TEv8sHvDL8BuaQqHmYWFIxFj5IV14LPyN8lHJFpPbwo9sl06iEmiPnZD3bkBbu2hl2pe8yVUCBaq2n7uj7/uDgJ7UrHKCLKBPAlUHPVF5aaSNteqFxUsBfNd98Hc7K7d0GHbS6Mil0XI6/0645lzicWs7AmkbGgYkg06L/pddRbZDWdUWHbpNR8x6ot33qSUzQGGqfs+7SgH2kJQz6sy4PXbarSlZeyPY6HTHrSmmY15MH+P7SXQa85TJOKTDPOGH3WEfWet1IziwIQQsKftyQ7HhhTJ5ZLmZ1palrFKcW3YnpxwB9kq1svcVTXVYNB0m0Fmt3i2LK1xBnYnEvuWfrzRpEICZVN6RSZVQqTbQgbZm8GVDPA9xs0alxAq3MzKpgF9Q5KHNOHL5HPDfzPkqhUJrZW3XGo/p/9WgPIWL3gBNET7d4l3GRmTyM5c5J5gGE3U2+fC56pEyqBK6wryvz5HiA8dWxCiPnH4gYB65E5mylgpuehfhroIB20siGxbPueVFSP3qrXGCeVivhdraQPeNhXwpVQOhoknTQ9z1HDrTwwQrKrZL+ZaiGra32orxQfdVqt7UeGeclKgKwWYDY8lan1r8z9ueOPjyZ+fS9vmOi2CrmdXHRCx66vk7CVaIleHSHfQ26CYPhNtk16GO8s86tCU8mmZgfNtzDOJHworuQLIWNStVHtyJCmOCWOL91RtRfbW1M3uorim5heq9SnYkFqhzDmoDtSazhlwF7TYUl7gd9OLgRgTKJkhPPGpF8PLkHVESr4L6LfwzVp94jAa4UNC7ZWdbSFG0jMqCuJdWX0E320RPMzYlDCyB924wG9PsIQsBOoqWZoa+l19fpdCeaYS7NeDl71B42RWjY0Y0KTbr8FDJpwDRecXL6mF60D/ATSVXUx+WUQ6bHcEFVs9 hDVZGJd5 M4mmb3GN3No+PYQhgO6gFbji1kgUZnIa8nDJG5e96jNORmqBiUyLCaeimWRASFvMF1ccaSWjtNR25jAD9MGhNbjXRK9xSWqmUt7vF2R+6+y4r355Blsn/2omRD2C+Sh0blopEZMmGXc0Ceq0mdhzUolfKhqvEV0Q6x0XKFzrVYDBKCOroIioU8wvNSxxB+EnWTi9s9V1ZzDsCn78= 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 Wed, May 08, 2024 at 12:20:41PM GMT, Catalin Marinas wrote: > On Tue, Apr 30, 2024 at 11:05:01AM -0500, Maxwell Bland wrote: > > + if (st->start_address != addr) { > > + pt_dump_seq_printf(st->seq, "0x%016lx-0x%016lx ", > > + st->start_address, addr); > > + delta = (addr - st->start_address); > Should it show a PGD_SIZE * number_of_entries instead? It should show the full range of memory covered by the PGD's table. Will fix, thanks! r > + if (st->note_non_leaf && !pgd_leaf(val)) > > + st->note_page(st, addr, 0, pgd_val(val)); > > + > > if (pgd_leaf(val)) { > > st->note_page(st, addr, 0, pgd_val(val)); > > walk->action = ACTION_CONTINUE; > Is the difference between leaf and non-leaf calls only the walk->action? > We could have a single call to st->note_page() and keep the walk->action > setting separately. Do we also need to set ACTION_SUBTREE in case the > entry is a table entry? Or is it done in the caller somewhere? I could > not figure out. > > An alternative would be to have an ARCH_WANT_NON_LEAF_PTDUMP Kconfig > option instead of a bool note_non_leaf in struct ptdump_state. This > option seems to be entirely static, not sure it's worth a struct member > for it. You'd use IS_ENABLED() above instead of st->note_non_leaf. ACTION_SUBTREE seems right, I will look into it. Something like (though I'll check to see if it is correct and polish): walk_action = (!pgd_leaf) ? ACTION_SUBTREE : ACTION_CONTINUE; if ((IS_ENABLED(...) && !pgd_leaf()) || pgd_leaf()) st->note_page ... > -- > Catalin Nice! Thank you for your feedback. I will iterate and also fix up the other minor things, e.g. 72 character wrap in doc files.