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 3A0B8C636CC for ; Tue, 31 Jan 2023 16:03:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BCCA36B0071; Tue, 31 Jan 2023 11:03:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B7B4C6B0072; Tue, 31 Jan 2023 11:03:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A6AE36B0074; Tue, 31 Jan 2023 11:03:52 -0500 (EST) 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 95B6E6B0071 for ; Tue, 31 Jan 2023 11:03:52 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3EEE3160531 for ; Tue, 31 Jan 2023 16:03:52 +0000 (UTC) X-FDA: 80415565104.24.4FC5457 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf01.hostedemail.com (Postfix) with ESMTP id CDDC140045 for ; Tue, 31 Jan 2023 16:03:48 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=OqHZTuyh; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf01.hostedemail.com: domain of ardb@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=ardb@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675181029; 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=Z/0wizn3WJJasjUmhsxbDNMlEc2hA6eO56Tn3fGLEfA=; b=bWZGTaP5IzHQKUjcUSiPlGPFOhta1mZ65Mo2gB8cHvfu67CeAuVjNYkaFhX/SGuxrZ2AG1 mDn0OvNzzMrsNhlwhYktVNok7XNcBFl7WptnH6YTbgk6Q1LCSYEA4c9qUfjKXKbui0wSsK FBchVTE40ygFPrdpcsdg1tQk95/pJdk= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=OqHZTuyh; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf01.hostedemail.com: domain of ardb@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=ardb@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675181029; a=rsa-sha256; cv=none; b=PVx9mzTXkBlH1Impl2A3R5B4w4uYqIQBRWoIxaj42VuwUpTNAJIqt/lTgg/lEhsNYTFYNr XR3ym7yJK7XiykNj0mRUsJEorqiZy2S5/sOb2IEPLqydHT4V4UXlBuboX02asTnnrH1nNN /7rXM4yocqxPjKbU2rVn/D447AogKi4= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 3F3C1B819FF for ; Tue, 31 Jan 2023 16:03:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E2EC1C433A1 for ; Tue, 31 Jan 2023 16:03:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1675181025; bh=kUz3/3+6pALvgsc48sJBO2OS1e53UX0oL7m8fy1FZvI=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=OqHZTuyhf+5SNAwMhww2gUuy9twe03k1YFhSBGPtWDQ6btJYNi10+H+YXOZFnqJ0D rCOh967hyGgRNSD2QzalE2nA68bg1LD2It++UVehX4dK+mCok8cmsXIUF5/Xd+pMQ8 Rx9e2/pK++NflZJBAAKY0mw6EIVI+/52go75Et98186TyholvXwf49xHjnhKnUpfDr KBW99GpC5TUxG8RJR9H/Ns2DyL11WdcNqbWgMPZlA57KJD/FVBasw8e1kC81M570Xh 7pCSxgwfXPjHEZEi5ErKBxzLsduqFN7/SJpQPeOjQM+8eT0yfIfFM3OafMBsiT0cMw NrW2y0DVvo3yw== Received: by mail-lf1-f46.google.com with SMTP id br9so24942957lfb.4 for ; Tue, 31 Jan 2023 08:03:45 -0800 (PST) X-Gm-Message-State: AO0yUKVVHvkLkNKhjrz7cl1fHY+ktGC+in3Mo/4KXRSSi8oLiJ33D31w kJwFTPgrimmbc+Su6OhNtNB8qM626Otzda1yGiY= X-Google-Smtp-Source: AK7set9S5k7gtqRiiMlvlOsZKuor0mBWUgdkw9E7GdqWo81k7IJisxGOI7efBe4gqidKZqYzpQunKAfGu/1g1jUSdx4= X-Received: by 2002:a19:c219:0:b0:4d7:2dc1:b7bc with SMTP id l25-20020a19c219000000b004d72dc1b7bcmr3332353lfc.100.1675181023886; Tue, 31 Jan 2023 08:03:43 -0800 (PST) MIME-Version: 1.0 References: <20221227092634.445212-1-liushixin2@huawei.com> <20230129134147.f19ca0641f1133f3e3bc185b@linux-foundation.org> <20230131150644.GA2605@willie-the-truck> <20230131150750.GB2605@willie-the-truck> In-Reply-To: <20230131150750.GB2605@willie-the-truck> From: Ard Biesheuvel Date: Tue, 31 Jan 2023 17:03:32 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH RFC] arm64/vmalloc: use module region only for module_alloc() if CONFIG_RANDOMIZE_BASE is set To: Will Deacon Cc: Andrew Morton , Liu Shixin , Catalin Marinas , Uladzislau Rezki , Christoph Hellwig , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: CDDC140045 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: fmd3uq83z564rez756wxdopp39tegsqk X-HE-Tag: 1675181028-498888 X-HE-Meta: U2FsdGVkX18d2LjWmuu9bR2ToHnyvTrEyJ2HgFa74ln4iqJU4jXFIqLanKpuMYrdjZ2wfX8G9CXCHrZgzGfNpFQl4IHMDRI+9uIYeKwOKtplsSrYkFAClsmgeAU34igzhX1cpcW7534kbOGCjzAm0KiLbxGBuuDGweZ5FG9oy4xwLoyvShhQXPJctZQ/JOJ4JD/d3UvUJ7yD0xycgRzct0VpkvYLmEBr0P2xSkR/K95vsCr7tATYXEIRQMF8dJIHS5TLJpXFFzRBV01oKIldDvj6K8Eea2oq8gHLnEm1mTvK4ydGd0z9tLXkCTbgKEWujGQiUPgBi8TmguHgZ/DdeIFyBcFWN5ncfZ7z+TUx75qZwNM2raWHIBGMuCpQnpk80Tyhfl88Urdg29Z8QYPBwd99G6vikQCT11b0JRddo4Zp4VESrDB31245BnnjkpHnlvMGiYjeArsvWqfS3G5BEuwC4Q0PixLNwz9YrztwIxhOnAqibgTLkxII6KFp0DrMcwFwXoazVmIeZP9oG9hp1cv8S3vZFYMKlicnr0jMZ6XTEMFNHZ0PryDJpxrUTbQpFmczKcibp7Yg6y5QowI0NEL6SeO7Zvd25cmJWyP58YPbQDtznameMW6fv3uf2q9CsjZEhZAWLnDbPSV25VJmif4nXS25gJ5G52XWnn0aM2bK9SmdR985fYe5BI5xjDmZ7N6ORrCwrnZxJ2g90bHOtOUActtPK0lQ2yrZNXfYSV2ViLZGxBhh6Bu+BwuQftyI3Ye5kJ62pqaQxc4hZnUVQjdFR9WsQeZ/cICL60uKnzme+ZOVnbH8gcrkJ5prk3fAXPVvb/frO42fx4g144HFZF05wKmvuVIDkPLqAexmEDLQHaR8vBne+i8SOC0mInhUjWsLeF2h+D01EZZwYHIMAb+v/0gOsqh4y1uALQon7S5iGohgJNtCfMnaW8iMoZHSOPCS3g9kG81Rccto/FP eMiPrKRE iWw1RzJ7OFiZdRwXEGMpfBOPCB1AmFt1KfWG/MFEVyZmoKm+CneuJMwBm+smX66xZIKYDyO4EYIXDUXZPDzAOWYlsWLxoA0l38zHPUq0c77xN/Ti6RJdxvl6D4jYYuDlaB//axFJxvt16IAOfxK5YX7ejsal64i5u8Mgy2+qqy/5aasAmxhv/HrEuI2xV306FGf8RO9W8WrOJcQq6SAF6NFqaHFCpcn9U/QE3G8wzJ3kJBzHlTe9jrfPdM2bh6LFh2w1GfFHvn/JgSQT5Nf+xf77K9BTkQHuF1ANFHCpAnuduRW9SkV2P0qKse8yPyWLLSj2Cso2/FEFNmqYC0ACAqWI41GEeUB+dJIriypyS6fW9VsVxabJcP2hdoZDq3WC2v5d9C2i2SJRhONwHHL52X2NOy8csD/R6iVcBxwBPkeSGztf0VYMaXOP8hnayKXSMUR/P0VDgpU3xvVjxldRQ7wS7wRg49hi5sqQTaOMMGss+0K+35f3K1FK0ZylkP/ZYmcI7MmU1H94wTcVJzvzMtfPkx3AgO0dkLX4JkawwMdxxcqlwnJK27LUrTTuihp/IB42OtcWLPJvqkLZkpQ1mwaG08ttQIqhLB7y8 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 Tue, 31 Jan 2023 at 16:07, Will Deacon wrote: > > Now really adding Ard... > > On Tue, Jan 31, 2023 at 03:06:44PM +0000, Will Deacon wrote: > > +Ard -- full thread here: > > > > https://lore.kernel.org/all/20221227092634.445212-1-liushixin2@huawei.com/ > > > > On Sun, Jan 29, 2023 at 01:41:47PM -0800, Andrew Morton wrote: > > > On Sun, 29 Jan 2023 10:44:31 +0800 Liu Shixin wrote: > > > > > > > Hi, > > > > > > > > > > > > This patch seems to have been lost in the corner. Recently I've meet this problem again > > > > > > > > on v6.1, so I would like to propose this patch again. > > > > > > > > > > > > Thanks, > > > > > > > > > > > > On 2022/12/27 17:26, Liu Shixin wrote: > > > > > After I add a 10GB pmem device, I got the following error message when > > > > > insert module: > > > > > > > > > > insmod: vmalloc error: size 16384, vm_struct allocation failed, > > > > > mode:0xcc0(GFP_KERNEL), nodemask=(null),cpuset=/,mems_allowed=0 > > > > > > > > > > If CONFIG_RANDOMIZE_BASE is set, the module region can be located in the > > > > > vmalloc region entirely. Although module_alloc() can fall back to a 2GB > > > > > window if ARM64_MODULE_PLTS is set, the module region is still easily > > > > > exhausted because the module region is located at bottom of vmalloc region > > > > > and the vmalloc region is allocated from bottom to top. > > > > > > > > > > Skip module region if not calling from module_alloc(). > > > > > > > > > > > I'll assume this is for the arm tree. > > > > > > Acked-by: Andrew Morton > > > > This looks like the same issue previously reported at: > > > > https://lore.kernel.org/all/e6a804de-a5f7-c551-ffba-e09d04e438fc@hisilicon.com/ > > > > where Ard had a few suggestions but, afaict, they didn't help. > > Thanks for the cc. So this is a bit clunky, and I wonder whether we wouldn't be better off just splitting the vmalloc region into two separate regions: one for the kernel and modules, and one for everything else. That way, we lose one bit of entropy in the randomized placement, but the default 48-bit VA space is vast anway, and even on 39-bit VA configs (such as Android), I seriously doubt that we come anywhere close to exhausting the vmalloc space today.