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 41D3CC76195 for ; Mon, 27 Mar 2023 20:28:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76CB9900003; Mon, 27 Mar 2023 16:28:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F596900002; Mon, 27 Mar 2023 16:28:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 595AF900003; Mon, 27 Mar 2023 16:28:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 45B25900002 for ; Mon, 27 Mar 2023 16:28:07 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id F1A5F1C63D9 for ; Mon, 27 Mar 2023 20:28:06 +0000 (UTC) X-FDA: 80615814972.07.626935A Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by imf27.hostedemail.com (Postfix) with ESMTP id 207DC4000B for ; Mon, 27 Mar 2023 20:28:03 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=IqxBax1X; spf=pass (imf27.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679948884; 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=Po9uD791nQbaXm9W7+4oFtCweTkYKUU0hLgFh7aJEkQ=; b=yjcQErrAHpi26GA9/zQhDpYnOSPH4c1zgJ+ftTYTTmIkwedVXr4X2RizAcmdDP7tduTQjZ zoajPcC0mQb1RGtOrGqbL6m3q9geVXV0Gu3/1xcmzdb5WkSf1SSvDRmNdXEfv5HtbL5pod ku5UgOXGEleNgRKqv48/bw9RYqNw5rc= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=IqxBax1X; spf=pass (imf27.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679948884; a=rsa-sha256; cv=none; b=gJfEXGYwyieUVUgNJua/BQuT2FA5NNg2+tSbgIZ/fxCwndU5V0piXO7lDJVry1zRDofv51 5ngbcgRKPLLbHam01GriYwrMadXpS9HNNmX2NI4DnMh/O14lhYo6pCJE38yBgDT5xkd2oc Ujzkd11QOe9riI3CRxUFonBlwkZ/P7A= Received: by mail-wm1-f54.google.com with SMTP id j18-20020a05600c1c1200b003ee5157346cso8131035wms.1 for ; Mon, 27 Mar 2023 13:28:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679948882; 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=Po9uD791nQbaXm9W7+4oFtCweTkYKUU0hLgFh7aJEkQ=; b=IqxBax1XAB63nS7fBzVbRV2WZIAC9O5jO82mQsi+VqE+x6KjkB0J5HzIN5DKv/xGIG DXM5+LafMOCQ7+xArekI0CBltHd+/BU0ZFlPNGBcoZUZBSWfTid/1NPDAjDBJbC1sKs0 bkVVCyQviX7s9bb3ZdcYuwNRnUAArCIjU706IYTIgZPdhsEjz8FXRfFaaJ4SXecyzDnr 3m07XTBGgO3CD832wwvcZswYYcf4Px0PwZnQ9VyFEPC0dhchuyWp4rLMkHT5PAAxidCw LQe5gyopX3yV9Rs5rUrB4nnmxhnM/xQyiKwTG6uIEAPHTBPEm+P3P8KLcbgT5pfz3P2I 1x/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679948882; 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=Po9uD791nQbaXm9W7+4oFtCweTkYKUU0hLgFh7aJEkQ=; b=qmFILGuV8ouYuc4gGtGlgfvtPnM3qvBo6gB0GIF//72Fzu+nxTpUCmPongWXpy3Lxx 36iKTk1dzsKwo2SHayVcAx9rmex0wkVjmE6RYLG9kNPDyevSelSsGg4Wx2vwGlhH6Trh lQaXTi2swwxJVGPRI3Gsi2BT08Fk2NjTvprn3JfArzxeqDt+Wk4Pma7d1ZVJcc1EYgyh Xcn0CQNrRQqPD4aGoTk3WWEun2T7fy1RzRH5zbq/9CuoSlq6NF2NdX4JpLnR/A57um1F 9T7LXFYOlC3kIDRUKy2zShRRf7V+uCJNgMe6ac0M+N/Hs2Df1lmJxMlG6BhCPkVizmGw 6HVQ== X-Gm-Message-State: AO0yUKVsn018Cyu2OkgjRjyMJUpUzSgAIzK1yfeA95WWQ2jFLcM2Or8z 55Zip1yOV6dRoedFirAw3cVBc7ZM3go= X-Google-Smtp-Source: AK7set9mD6lXaNOZvYwMvOd5ec93Gn9CP1rLn5Tx0hnDQrPmjkwtvG36jq5rlkZfT9ajDxYfFIvAsQ== X-Received: by 2002:a7b:c4d7:0:b0:3ed:a07b:c591 with SMTP id g23-20020a7bc4d7000000b003eda07bc591mr9993738wmk.1.1679948882241; Mon, 27 Mar 2023 13:28:02 -0700 (PDT) Received: from localhost (host86-156-84-164.range86-156.btcentralplus.com. [86.156.84.164]) by smtp.gmail.com with ESMTPSA id z4-20020a05600c0a0400b003ef4cd057f5sm10070583wmp.4.2023.03.27.13.28.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Mar 2023 13:28:01 -0700 (PDT) Date: Mon, 27 Mar 2023 21:28:00 +0100 From: Lorenzo Stoakes To: "Uladzislau Rezki (Sony)" Cc: 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: <68791932-5e23-4afd-9b36-6cc9a310fdd5@lucifer.local> References: <20230327170126.406044-1-urezki@gmail.com> <20230327170126.406044-2-urezki@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230327170126.406044-2-urezki@gmail.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: t3bucn6c5sxbwdq1k8344f8a5my9fwg4 X-Rspamd-Queue-Id: 207DC4000B X-HE-Tag: 1679948883-588200 X-HE-Meta: U2FsdGVkX181CXNnbgdk/6/InfsAZZHgiGb/Da5RIguezCpM0/5DhEnIj5czbv4D1tUk7sCd9Xlf392OQYC+XvOMrWrn3HbTymhb6cQtnPUctKyPiEimncN0jbPcDVr62f5KAolYLpk97sWu9kK6y/kVYfut1A+l1/sBHSiAcns3JGWg/u4qqhxQNHQ1How1DY11mH7dIq/qZYypzy24L6AfB151lHeYVa21rgPWW6l/hEPtrDI0yCtmvVRgBGKsVsS/m3ESTy6Y82NueLphkHEnCxnhmFIExTMwq5Qw4PkHQgTaQvNFCMRwNWmWd05fjPdp9r3UsIUqSVN6KTbDP2Penhk1SgyM/rpyxBngMD3IDQDkryFRozO6k44bAExb5JIZU+W9hy3IX0yTPCGaiiHq1PHOCtT1AKgRL3IFoF8/VdkP5lY1dMrM/Up4pNXEbOoggt1N3OLUIba9maJlSnXRUKTdShyzWjnxXYpirOG8sj7Spj88C2S5i12yXTaQr1rP0uP0NK3yZzTXgVejiflyFDPLJKeSH8V0XhFNP+49HFPvU7DSWBClrOoMSryDWfEPlSZHyUmbAF03G6ChazGnLit+HliCsr5CdJSsibQbmSQmnFN5ERTdLiZa2YcucifonmI2McrHNsuY41AHkqwxuFXD1qiO3g1rSSPfeqfCpUYHJys/JkGjxTtyUacxbhGXYnKLvOBMoA8UpM5XSr8s9Ct9ojLl+T05jEEhGVoYhW+JfGvq+q7CxfAYrAaOIjccuGd/oCImWb9euTFFu5ph1BZCWpqDUEO520498hgUqilu6d0xVyZ545rcmtx8fyLXbxvv2sVow8TLzxFqTpuhOxtcPQp39mrouOLy/gsXsOswbNWA7gmsEzNP+Z25GCgAe94Q3ctFxE+9Pc62MQvVva8DdY+frCOWnJ09KU06ypEaGSfty6NzSE6KXd4NCIZ0Cc7MFcgpe76b/SB v6h7z4kM +frNXrUYJMW0Jq4hc+0izSTziWeoT1Nu63EPj22FP2YHn0t0Ryk+6MXzM7oF3h7Bf139fsAOPm7O1CbiH6ylTNSr2Z63J1xT0HZdBFB81P/p7ifPW+MtN19pXjC0XGtDPITETGNeII+nFM8NdFdzh+pBsXC95mQtjM/4k78mr+zn4GZiA2lBLziMVUrp9xQFgv076ioO6RWdWcNszkm9dNrWMee6uQlxG75POsLCogjxluloULwojzaboAfxewFAPSB1pWS/I5at8Cssw5Dd9Y7hBqDZHmK7Xr033DK9qcHB5/TE7PhSChmYA8mRFO3hXNrwAR+FmCNbcf+BOsCgsNjow9fGqAqf4mDtjs62+MSA1c7fve72MI6CZGZV0EwCqmsAnpnChc5TaHA5KXsIlLfZM8Ac+iAlXGoKTny6Q+fK9q/oGVbJvZrLPOjXP++hXY8MPKkGdPdaxXCJU9Sn/Np4IElvLqVHm0d+a 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); > + } > + > + kfree(pages); > + return 0; > +} > + > struct test_case_desc { > const char *test_name; > int (*test_func)(void); > @@ -374,6 +414,7 @@ static struct test_case_desc test_case_array[] = { > { "pcpu_alloc_test", pcpu_alloc_test }, > { "kvfree_rcu_1_arg_vmalloc_test", kvfree_rcu_1_arg_vmalloc_test }, > { "kvfree_rcu_2_arg_vmalloc_test", kvfree_rcu_2_arg_vmalloc_test }, > + { "vm_map_ram_test", vm_map_ram_test }, > /* Add a new test case here. */ > }; > > -- > 2.30.2 >