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 B1BB7C46CD2 for ; Tue, 30 Jan 2024 18:50:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 253356B009C; Tue, 30 Jan 2024 13:50:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 204316B009D; Tue, 30 Jan 2024 13:50:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0CBC06B00A2; Tue, 30 Jan 2024 13:50:54 -0500 (EST) 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 ED41A6B009C for ; Tue, 30 Jan 2024 13:50:53 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id B0677120142 for ; Tue, 30 Jan 2024 18:50:53 +0000 (UTC) X-FDA: 81736869186.22.BAC4F0C Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by imf17.hostedemail.com (Postfix) with ESMTP id CB8A340007 for ; Tue, 30 Jan 2024 18:50:51 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FBtLJ4C5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf17.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=lstoakes@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706640651; a=rsa-sha256; cv=none; b=OPz3HCLGDuLy/+txh+YuMZfXx3ve7T/2wq7xMMAAIWL4/QOz/j/hDBaGoxh4hNp4RxI2uX TJ9o78IhOKhX7poWjGZK+MkLleJ8VTLJzZLx36DSZolcvsHXEgCRwpb6gfHn3RKwgwea7x 2sotEy1eCe2HVcwoEyp9WHeiPVp3iLE= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FBtLJ4C5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf17.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=lstoakes@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706640651; 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=9CIUacINaADYtMqx3QJQeG/Z7nbsmgMvtClge7g0C+w=; b=Ng10ci2oWskC27eXQ9c4qq7oeFgoYblUyvQQHzPFxOPu87vBdFGN4uflAb0XISQD8J1rv5 pgsP5i3HTz2tJDJF3pojSEzYw7yidlTxv2qZFIyNRcwSjSdg90qA9B0mZE3U2SOQ/jthsy b2Szp4qEZIfu6H9pcZAGg/ASfHWC6aM= Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-40ef6f10b56so18718015e9.2 for ; Tue, 30 Jan 2024 10:50:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706640650; x=1707245450; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=9CIUacINaADYtMqx3QJQeG/Z7nbsmgMvtClge7g0C+w=; b=FBtLJ4C5DBexfYre+u8tK5fTNck9Vk9j2HUiFnYZLxtRe2QyiiqqPhtMBXFLdINEbX WrFpemYPtf4phxL3io8wGalOesw02w667sizuS2QZMsoTL3p6vNcCcU7GTB0AhTrR1Lp wlmOhMXPz9PwOoIWuwQcs2k0kMN3MG0TTEPFW6NeoOgBsCFJZPNuR/Zv5vnhTZF07T64 uPq7mZZsUbjeQvfKtB3F2Au8ECuvSWxQ8ITQ4AGO3EaCSy0PQeP/0PwEVfAJbBkUCk+H ep6DVX+qIBnpkVsc/CmOOPizoIK5U3bphlXGDPm/1GeayDrTugiEFw1V+sXAnuElENko 9+2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706640650; x=1707245450; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9CIUacINaADYtMqx3QJQeG/Z7nbsmgMvtClge7g0C+w=; b=CIxi8hBVJKaMITayHW5AsZRoA63YgCjxULu6dHVi9NPDyhAbiXTzqK2l1FVgDrfKYV hfQYTGuqbSOkTN77yRtPsrs2Pt+ZBREv4Wp7vU/gikDWD3lCmwH+ndh9Q9ZWIpgnsYKw SAZZoI+qHYczImpO0O95U4t2+pGmcWEJGYQsMBgYR4dQz4+39uduRXaefO3MtRjhf14I cOEjYTkU7AttO/8hGczW0KnrHM1u27TiGS2gM8M+Q2KGaUWOzsXkALFCzvNRlkqBqDlr tDmRGZhC0xqiaqfLjz0ttWheiRZdeltLOXMNYkFTAUGkipGhTPR47SpgGl/mAL8xawJs wPOw== X-Gm-Message-State: AOJu0YyPU2wO6p+X1fe3D+GNPqUcPVn7cGHy9V/2IsL4sH6s2d7rwrAW iith8ygYEH/Ly2Qmezc1wGOEhWG9+nfSLvmZmMiFixDj8LvibASN X-Google-Smtp-Source: AGHT+IGVOO/A+A56LC+lfMQnzTb2hoYK4/wyQn3uch4CvYl9NIzJ3VECDxsn2WiDC9T79cPX5sh4LQ== X-Received: by 2002:a5d:4412:0:b0:33a:eb5c:aa25 with SMTP id z18-20020a5d4412000000b0033aeb5caa25mr5495425wrq.23.1706640650029; Tue, 30 Jan 2024 10:50:50 -0800 (PST) Received: from localhost ([2a00:23cc:d20f:ba01:bb66:f8b2:a0e8:6447]) by smtp.gmail.com with ESMTPSA id cw7-20020a056000090700b0033afcb5b5d2sm1969574wrb.80.2024.01.30.10.50.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Jan 2024 10:50:49 -0800 (PST) Date: Tue, 30 Jan 2024 18:50:48 +0000 From: Lorenzo Stoakes To: "Uladzislau Rezki (Sony)" Cc: linux-mm@kvack.org, Andrew Morton , LKML , Baoquan He , Christoph Hellwig , Matthew Wilcox , Dave Chinner , Oleksiy Avramchenko Subject: Re: [PATCH 2/2] mm: vmalloc: Refactor vmalloc_dump_obj() function Message-ID: References: <20240124180920.50725-1-urezki@gmail.com> <20240124180920.50725-2-urezki@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240124180920.50725-2-urezki@gmail.com> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CB8A340007 X-Stat-Signature: 1fjjqeawyk8ngk8h41c95yo4driukeob X-HE-Tag: 1706640651-39985 X-HE-Meta: U2FsdGVkX19mapxGjCn0phz5MgWzLpEO1VBro9Es4FzBgwwLu8oeu24i97oT52lbTukb+pGrjdvLuHgllydgeqFcf6lEm7+RxuwAbfhvXGoqRLPqx+cTyPyh4iXe6WMoeCwUAvyCePPJ8RsvnxIxTl38oygRVr/pGvNZpEvieuN6BBZWfRQUTPbMSMXfmQOfuHCVVbCmAABXAgNs8Jtgb6ksTwLWrpLp2pMm5kfHCIzDVKBwJeNnbXaolRs3mFO5r7ojqbnlHJwQeBmMEcxSPp6JhkeIN+ckh3jc6RegYX1N14ck/oF9Wj4hFu15hbbFcqZq2hsgLhsrWfSX+BxLZDwdqHT8OB+25Mucx/iMAFJPH4RaEgcGq5SK1KhV6Sp20SyUJwDYjAjZkDLtGnVkKpOyjoseg4hC9LP9YV/34V2mE47P1NRSHRFFODK/ELWnMXpCdKZoONm1Mua0TO8FVoqAFfAeBrEo/hTHrt4ttXXErS7yA+CkQTGIFsQjM6Th7qcnFTsjUsak14OFi+hG1EY+LgOugrAdL/Cswuhy1t8tJ0tFf68A1pBMHnaiGFIM4XePfXWZmINcml6131BoUQaAo74tmzGYU1pWv2xT87SpnHpKmveKd+bN9OLMN102PCQLA0YfKcEQxYcA4gj2AEBXOneSSCZ4aVGJHupsx24fMQ7IfOhViUoMx8VnKytw1yXkrBXkJ9FEewJa5f3Bkz1FBXB9X09fhPds2AjRYjs6b3yi6xTvB7iMl5Wn/bDffGDctkZtR8oX4uPgxcxP89SKFVJdKfm0OA8IY54+C/04K5Md+0XcmCWdYky0j0J+AWpxRFahzk5xf5msasarK5TTkGoOKZ5nSF2VG8W/pUPDEV1iIHLTTa4vtIN1097Glz24m9YaJ1QKrbb1028ka+OYHdkZOe+jppRiXr1MKD4BTO925w1jayzwbUEm8+tMujEaGPXjlKtrSM9GeWR lrkeFE3w l9XWmDvKC6yVIR8H1gFxOLL+94SUCqMDI9j0rwmGStbihbdI2xKpkQat12h1ubroaWkJvvFjbGqoV/0vmlRvku1ULll38/ZwuJUANIaJi2R22CfBbTVyActvNcqTAp5qh51QZmcVD1z5MadBZLOeEU8FSvM83Rg97e9Je8pUpnxg07mK3VlaqMQZi+hErqslo/pqdVuoMFsZ9ohqCVhqkdDLa7HI+AOknPeRCssu47gwXVUXV8xO7D0671IQG2X3GuLJbirkcvYPEiU0LkaVNCtpMz0DHOL5IUTOaxZbeowUZ+RBiOlPwvCf/MzrS2zc+Amx1wb/ipq6nmWapwGtv1aWqNOejWcj74+aXTqpKaTvYizfre10hrsIfLeS8nZ0rqoUc/w2q1lfY+Lb2zRvhNNI3BuJununDe5q6oPb55EVufcdH0QrPFD7hqRUxubMvzUQG3V60tsbzbbhNIQ092AgrYA== 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, Jan 24, 2024 at 07:09:20PM +0100, Uladzislau Rezki (Sony) wrote: > This patch tends to simplify the function in question, > by removing an extra stack "objp" variable, returning > back to an early exit approach if spin_trylock() fails > or VA was not found. > > Signed-off-by: Uladzislau Rezki (Sony) > --- > mm/vmalloc.c | 33 +++++++++++++++++---------------- > 1 file changed, 17 insertions(+), 16 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index b8be601b056d..449f45b0e474 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -4696,34 +4696,35 @@ void pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms) > #ifdef CONFIG_PRINTK > bool vmalloc_dump_obj(void *object) > { > - void *objp = (void *)PAGE_ALIGN((unsigned long)object); > const void *caller; > + struct vm_struct *vm; > struct vmap_area *va; > struct vmap_node *vn; > unsigned long addr; > unsigned int nr_pages; > - bool success = false; > - > - vn = addr_to_node((unsigned long)objp); > > - if (spin_trylock(&vn->busy.lock)) { > - va = __find_vmap_area((unsigned long)objp, &vn->busy.root); > + addr = PAGE_ALIGN((unsigned long) object); > + vn = addr_to_node(addr); > > - if (va && va->vm) { > - addr = (unsigned long)va->vm->addr; > - caller = va->vm->caller; > - nr_pages = va->vm->nr_pages; > - success = true; > - } > + if (!spin_trylock(&vn->busy.lock)) > + return false; > > + va = __find_vmap_area(addr, &vn->busy.root); > + if (!va || !va->vm) { > spin_unlock(&vn->busy.lock); > + return false; > } > > - if (success) > - pr_cont(" %u-page vmalloc region starting at %#lx allocated at %pS\n", > - nr_pages, addr, caller); > + vm = va->vm; > + addr = (unsigned long) vm->addr; Hmm not so nice to reuse addr here for something different, might be nice to have separate obj_addr and vm_addr or something. But it's not critical! > + caller = vm->caller; > + nr_pages = vm->nr_pages; > + spin_unlock(&vn->busy.lock); > > - return success; > + pr_cont(" %u-page vmalloc region starting at %#lx allocated at %pS\n", > + nr_pages, addr, caller); > + > + return true; > } > #endif > > -- > 2.39.2 > Other than the nit, which I don't insist on, this is a big improvement so, Reviewed-by: Lorenzo Stoakes