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 A65ADC6FD18 for ; Tue, 28 Mar 2023 12:30:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ECDCC6B0072; Tue, 28 Mar 2023 08:30:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E7DD16B0074; Tue, 28 Mar 2023 08:30:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D1E996B0075; Tue, 28 Mar 2023 08:30:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id BFBFC6B0072 for ; Tue, 28 Mar 2023 08:30:04 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 675D71409B1 for ; Tue, 28 Mar 2023 12:30:04 +0000 (UTC) X-FDA: 80618239128.04.E7F9838 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by imf16.hostedemail.com (Postfix) with ESMTP id 795C818000C for ; Tue, 28 Mar 2023 12:30:02 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=XHSVVhsx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.51 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680006602; 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=c8/IhKCi1jZsslOM0zG5uB2r2011J/tfE7DWqxzpB1k=; b=nVjzwPUswsyy7ue+0dr7pZqnB9Up4uSUhECdUjo7udAXOo8UXS65dmrSdoszzkuzhZIHxF jEerXLWrpsUX0n6/LbHfmbmC09/VMWKlA2kUYb4rRzYTMbWRUdwoMbRG1nBhopQiUPgazS x6oElMZx1Za52p8vLVMP8/FmipC9qgA= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=XHSVVhsx; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf16.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.51 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680006602; a=rsa-sha256; cv=none; b=UEKsPdgvt8PD1V5pNHgRqB32NDvLYebNdoP3IGZ1OIZXMg5p2M8RrskNyQ5lrylW2lE6RT Ktf84J61EIIum/CBnLiLeuBm0PgnsG/D+TD0m25FixQ+e+cc1yTbbjWvmrKzeiS+aAS05s F7fZiVtuvBcqEAVjP02mKwYKCFyYJhA= Received: by mail-lf1-f51.google.com with SMTP id h25so15585984lfv.6 for ; Tue, 28 Mar 2023 05:30:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680006600; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=c8/IhKCi1jZsslOM0zG5uB2r2011J/tfE7DWqxzpB1k=; b=XHSVVhsxOzhyUqKVjibXCEn9EPxvyOwt8Y0TKj+mJQ+BEHOBX0b4i2z+f+qqVyWv/a 74cF60BHgHIpCHOAtUqszuyWURwDD1UbcKb8dhXsjvRBgWTbhgkipiZ563yfHx4qyFq3 mTg7SOrV4c1lGvbfS5cD2Ha8/7FwchgcQtUlCH35xiX1ZC81U5ZBAItmyJnB36OuaKh7 8AsIrb1mQsinT7WXQHphEBdNB64OMdTdTcnCNCL0xqtbp+WgeimRsIAAG+YUy1sQxvQR 6jL02ScpqyavnrC/SiHqUx84r/uwF1TQvksCVAI2PVxs95hiUmqEKBOtKJAKmA+GLwyg R3PQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680006600; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=c8/IhKCi1jZsslOM0zG5uB2r2011J/tfE7DWqxzpB1k=; b=aVTFTGXycer/CfLcHs0ecUO+TERe7o2tJfUxappKS+Qq9YHNTd/SLHDF0LPHkuNUxC DBVTCtWDzvausmP1cu5y99rsRPexDAbXDUOutQTp7upkJYf2QW74pPY9thOPBQy6gisq oY62EDxJdz9+UQiA/RnUKips6tdwwNXpJ4CYtY5q573DQzkVeKUUs+Mh+9w2zlZjclCF 5Q0L3LmrTcr6e9sY591aJoibSr/BE4lgxuKJI0T2pFUY13dIWKO/Fa4kiZaqkNQ0m5IO hyTiPcMPeHJjdTQ4k7oOF0gtC7rt7+81n4wDywr/s1GbisyU7EgeOoY4ZL14CUGXZPrX 7VrA== X-Gm-Message-State: AAQBX9ccn38CMDHGGW225TCNtAYm+rf+VEchJEitBHOJUQ9QLHBwmYmO 3CrQYHO7UGgJOJ8I6wAc6sk= X-Google-Smtp-Source: AKy350bQ7ZmSVvio4rXBl3FqF0A1OeqFhkPn672Q/2Xd21rem00GNnzzY1ltgW4Kcw5IHBlKj1qXgg== X-Received: by 2002:a05:6512:4dd:b0:4d8:56d8:92ee with SMTP id w29-20020a05651204dd00b004d856d892eemr4798743lfq.35.1680006600508; Tue, 28 Mar 2023 05:30:00 -0700 (PDT) Received: from pc636 (host-90-233-209-50.mobileonline.telia.com. [90.233.209.50]) by smtp.gmail.com with ESMTPSA id s18-20020a2e9c12000000b00295765966d9sm5042273lji.86.2023.03.28.05.29.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Mar 2023 05:29:59 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Tue, 28 Mar 2023 14:29:57 +0200 To: Lorenzo Stoakes Cc: "Uladzislau Rezki (Sony)" , Andrew Morton , linux-mm@kvack.org, LKML , Baoquan He , Christoph Hellwig , Matthew Wilcox , Dave Chinner , Oleksiy Avramchenko Subject: Re: [PATCH v3 2/2] lib/test_vmalloc.c: Add vm_map_ram()/vm_unmap_ram() test case Message-ID: References: <20230327170126.406044-1-urezki@gmail.com> <20230327170126.406044-2-urezki@gmail.com> <68791932-5e23-4afd-9b36-6cc9a310fdd5@lucifer.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <68791932-5e23-4afd-9b36-6cc9a310fdd5@lucifer.local> X-Rspamd-Queue-Id: 795C818000C X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: npgizfmk8mfb97pnwff9gyufpt4jkuef X-HE-Tag: 1680006602-36609 X-HE-Meta: U2FsdGVkX19CyMOeVKuQ++crs5gfHVhY1jygaX5j0L6tGGV5dzSbZjhNd+qn9qvSEzuXZAltE/b8fIaGMO3spTYCqiNIQJRAuS2WMy5NAqrcCDLgWR42cUTSgkOq29xEKelc7wwJGBjNQg4RzxtTGSr0bk5NLm1sMPdvlsSotu1c3Lb3+C9XjHLBfR2q2yoHH42wEMidY27aDspTkIolh25qwZ7ZghZQpkY2ZnxraLHURTbFW0VD8S+sHZr2u9HhD9irhf1kQy5QkNaTSP71JC3KjHvGXMFs2Dy1X4QdruQ8RSlRKa3kzjdckJCYMsAJ+QPim5jYkDa8lXJXNABADFUBcLs4EH/yQt8PxAcNeal1iGRCEg7oD65xFk+kA1osMySRilm2gmlgDA94C2YcHljBzCFDi8zWk0i5y4p9+BbM8/+m2f9XTAEw7zzJTwlXyZe0ZlZZW6pnAIyBk3Bxhfh16Ba+AtoFqSxFgsw2AmQGfDGQDtk2ALPoGE7Z5KttAH8Jc6XZzfz/XAeoji3QIxnJExGNid0KGuwbTAyxouXRkf9A+NJ7eaqBzcdDZ3YPyjtOCYL9Y6jrZUCI/hZF7TrvzYUKi07DDt14+SH41GCDtqlFVw0Zww/ThZxtAHx0DjSObKX/GnZGhaBaQbvpNKuL1cU2G600SKP6QNzqgrxymLES3n2ysAFmHonROMprC56wLIGjz2G8LXK1tCB/sU2FUTPv3Q19uRE10nNW9WZIUuprFwtD1MI+ySJjVIEFTd546v1eViDSgink/H1P863SdyVFCm/AoFCMw5/9cb1SbpjaoTS1j/UghzaSU6h+cnK4whzEaRjX9M6wP3LvQqRH+6XPzfVSUW7Wk3ut2qwWplsbdI3oMwikx2sBudApGYY3XPVciUCVf5/WlFY3w4dbSZ37c+A3lbw+9TBEfN65hJfH7qPXX3QD2NPNU+tvitID4TqtRudMoKPmG+7 iHSy92nB I/42WiY2w0ltGJJMrOu1Tk19pz7n82GQA7IGdSkkLxt4AFZ4yhJxNGNCg8Vtu6s170zlJbI6aYOMMnYkGsraow0CqyIZsPltvjDovBvp6XwYDgIQnVusa+QWZitOLQVPAqkIH4XZlSJ8ijOI+yZ4jIk0Kpvj6cKLHt5DzvtZrO6Y3F9jWEQxL81j+voz03+PAIRMvnVbffGb9tk2Ej09MFuextjDHalnlZfT/IXsi1QHG8acsrBf4l+R6L1waTdPIRPuPeq//P+IIl6TqxzaKrr1yBM/slg34pwnyqNrXWk7a5oXhadaBkKnEqXlsH6sAERVQOSJMZAYRgUawr1DoxzBhwZWWDjDm0uHFdmUD92WGO41CSIllglm6TJTM+kIVe4KpIyFwpRtEDV/rKvWXIr2H40SQGQjcj/doUU+LMsXnrdotLn87D1UfR+bg68lX44Fy9DjHFt/aXYNiCBomp4fWesYMPPkBpLHEf9gEGN6nduGghJmAZ7K9QKn9x9EKj9y36ZkxV9IS90E= 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: > On Mon, Mar 27, 2023 at 07:01:26PM +0200, Uladzislau Rezki (Sony) wrote: > > Add vm_map_ram()/vm_unmap_ram() test case to our stress test-suite. > > > > Signed-off-by: Uladzislau Rezki (Sony) > > --- > > lib/test_vmalloc.c | 41 +++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 41 insertions(+) > > > > diff --git a/lib/test_vmalloc.c b/lib/test_vmalloc.c > > index cd2bdba6d3ed..6633eda4cd4d 100644 > > --- a/lib/test_vmalloc.c > > +++ b/lib/test_vmalloc.c > > @@ -53,6 +53,7 @@ __param(int, run_test_mask, INT_MAX, > > "\t\tid: 128, name: pcpu_alloc_test\n" > > "\t\tid: 256, name: kvfree_rcu_1_arg_vmalloc_test\n" > > "\t\tid: 512, name: kvfree_rcu_2_arg_vmalloc_test\n" > > + "\t\tid: 1024, name: vm_map_ram_test\n" > > /* Add a new test case description here. */ > > ); > > > > @@ -358,6 +359,45 @@ kvfree_rcu_2_arg_vmalloc_test(void) > > return 0; > > } > > > > +static int > > +vm_map_ram_test(void) > > +{ > > + unsigned int map_nr_pages; > > + unsigned char *v_ptr; > > + unsigned char *p_ptr; > > + struct page **pages; > > + struct page *page; > > + int i; > > + > > + map_nr_pages = nr_pages > 0 ? nr_pages:1; > > + pages = kmalloc(map_nr_pages * sizeof(*page), GFP_KERNEL); > > + if (!pages) > > + return -1; > > + > > + for (i = 0; i < map_nr_pages; i++) { > > + page = alloc_pages(GFP_KERNEL, 1); > > Pedantry, but given I literally patched this pedantically the other day, > this could be alloc_page(GFP_KERNEL) :) > > > + if (!page) > > + return -1; > > We're leaking memory here right? Should jump to cleanup below. > > > + > > + pages[i] = page; > > + } > > > You should be able to replace this with something like:- > > unsigned long nr_allocated; > > ... > > nr_allocated = alloc_pages_bulk_array(GFP_KERNEL, map_nr_pages, pages); > if (nr_allocated != map_nr_pages) > goto cleanup; > > > + > > + /* Run the test loop. */ > > + for (i = 0; i < test_loop_count; i++) { > > + v_ptr = vm_map_ram(pages, map_nr_pages, -1); > > NIT: The -1 would be clearer as NUMA_NO_NODE > > > + *v_ptr = 'a'; > > + vm_unmap_ram(v_ptr, map_nr_pages); > > + } > > + > > Reference to the above you'd add the cleanup label here:- > > cleanup: > > > + for (i = 0; i < map_nr_pages; i++) { > > + p_ptr = page_address(pages[i]); > > + free_pages((unsigned long)p_ptr, 1); > > Nit, can be free_page((unsigned long)p_ptr); > Thank you. Will fix all comments, especially switching to the alloc_page() new API :) -- Uladzislau Rezki