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 A0076C77B73 for ; Wed, 19 Apr 2023 23:32:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2217F900003; Wed, 19 Apr 2023 19:32:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1AB7F900002; Wed, 19 Apr 2023 19:32:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 04BC5900003; Wed, 19 Apr 2023 19:32:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E6C5E900002 for ; Wed, 19 Apr 2023 19:32:41 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id B4F108044E for ; Wed, 19 Apr 2023 23:32:41 +0000 (UTC) X-FDA: 80699742522.21.F7368D4 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf12.hostedemail.com (Postfix) with ESMTP id 7370C4001A for ; Wed, 19 Apr 2023 23:32:38 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=g+CBeEM+; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=none (imf12.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681947160; h=from:from:sender: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=+4elBgltmv+lMcD+HupshMFkFMDfWM+9W5HQXxOjaa4=; b=7MfnLLbaLMLSbtmjElTLS6yTgeFEgeDRRMLK0FQqm6AdaAyrAonFjSsxIFmwK3SX8IS/Nb ZcN5be7cyFc6Wh1eJRH0P77dLvXv18FPC9eZLKyjsOpI4tyLqg7XhFeewMj7Ms2sY5II6A yXsgMiFaajwPNMhvQioBREfgyXtrUWs= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=g+CBeEM+; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=none); spf=none (imf12.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681947160; a=rsa-sha256; cv=none; b=PDVP8E2NwVD7cKDPwbCP419nh6w10yNfOEXCUgMCKICOSsHJkBkJR4b98s154GhyI3Zplg 9WlarBt+z+Y3wbUpvpH8iJMinnPtY8O9Ig5r4I5OZE1jHUPM2lXTS/JdYm37KVyIl++0sF 6PYQm6+ERLysFg8BVEJLRGA8XzVuUUc= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=+4elBgltmv+lMcD+HupshMFkFMDfWM+9W5HQXxOjaa4=; b=g+CBeEM+lA6Rsj0oHYQvwzXj+b 1llNLt64NJTdOIv8eaVlV8JM40rHT30TLRZoLjUGLLZ0DhMIWVPvo85zsIUIb2Z5L/SGKtopab160 Tl1aD9MteoqR8n9Df/76QnvZzPVi64Ykc8rqD8J2czOBH6m211ANBEj4WOQ5zG+z1hBt7r5EX3dGD eLI5c70SzPFEXKlF76bDhKPDqD12Ol4JztS5SRIRaGxqaPggpxsgtZyeCuCAKG85HU3V6XJjBXE/N /4ZVLAj/yFt+uibSeqRlQrTxCM1ucOhqw41XCCZOthnTGVLmbrx7vw/51IYD3eDmz/tFU2PiTdhBR fDkkbspg==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat Linux)) id 1ppHHq-006fP7-2r; Wed, 19 Apr 2023 23:32:30 +0000 Date: Wed, 19 Apr 2023 16:32:30 -0700 From: Luis Chamberlain To: Greg KH Cc: david@redhat.com, patches@lists.linux.dev, linux-modules@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, pmladek@suse.com, petr.pavlu@suse.com, prarit@redhat.com, torvalds@linux-foundation.org, rafael@kernel.org, christophe.leroy@csgroup.eu, tglx@linutronix.de, peterz@infradead.org, song@kernel.org, rppt@kernel.org, dave@stgolabs.net, willy@infradead.org, vbabka@suse.cz, mhocko@suse.com, dave.hansen@linux.intel.com, colin.i.king@gmail.com, jim.cromie@gmail.com, catalin.marinas@arm.com, jbaron@akamai.com, rick.p.edgecombe@intel.com Subject: Re: [PATCH] module: add debugging auto-load duplicate module support Message-ID: References: <20230418204636.791699-1-mcgrof@kernel.org> <2023041951-evolution-unwitting-1791@gregkh> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2023041951-evolution-unwitting-1791@gregkh> X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 7370C4001A X-Stat-Signature: 9fnttgenxr31ehwfsioc8c5rwzhc9cn8 X-HE-Tag: 1681947158-924329 X-HE-Meta: U2FsdGVkX18SJctxsyjTPWozibm0mP5P3C57mAOjZBdqJlKblFZZWxjYpK5HPiy3v8qzlYyHWAGv/qJM7LVVD5yOKyPlzZB/2GJpVp2o9tvHwMFFAr4tMxTgmQnJq+kaEVbgwtUbaQmIWxw420GaHRXRLnzlBQbNnX09kOlKd7NaNyQGeJabqTi82ztZXgdxVW0B1Z70ebedrB8nBwIXBvBo4kIUptibQzsxZpqbzXfXN8oMSs8rC/DZY3Ch34PBpFfOtu2/a5cjZaM2lwSHFoIevnugxBymbDSNaQeS49cgun//Hs/wrI8Gm1Fb8Ltr/ncIpY4uFww83PUGqW/irararBh5Sz0KBW7rbJ2PeLrTQAi6zWrECb4eDJrftI4ZF/xeyscU+Az9r5kXzM1JL6oJfW/PnSvZ5vur1ieoT5obzAnvGAai6r0NR+OKY2GTbsqAvnZKi8qcvW9BU3V9PPM+Wds0dBzScfQ0/xO3uRL1DQZUEhuGVdmp2/AVm6PUGq5y/I0aNu26Bt1YUmqEE00oKfTSq4/T5JLN4I36egCrJF044UxvZ0b97AXUviFN5E7O9HASzMHIiGYrJ9MN9t1aaG8oeLCR8bSq1kiltPS4eeLZsSVsWbhSyR7/4LmanDVN4NSpTq1hjq+QtaBSTM5vfCt5fqNmWZaNun6fEwUJNFiz6TNwP1SnwodlBMhGJxGeTB+RwKF3ttDXZCcsiL7Xf9myJTlbBR3mu1CLG1cs+gIDthoidRQqPyJoIqwlY7dc3ZEFnv5RZCkWk7KZWpLhKjRaVsMHZ9cf7Hktu986V+ICBupWTx8GvDU56gs6THOZIQttu5YUxxs/KPoztFPjcHhNOGHEXSCeIvvDdqlTm6RvGdv+NE+zcYOm4T9te1hRBcOIICiDsUXEGraxW7DORP5z3cb6vJC3rv5aDHf1nkH1a9RRnJH1XYgB8LfR/uq6URJi5D/1TGFDCnF bMYJwJ8e 5plodFonRVMEyALeZDNloRNSJKubC1WYduZFab1kWJFnKdAo0Vt9ge7jf//wJqBpJmdX0JkOAVYHpfZi+E0A4SRRkaKQVqDG211IHzX+KDmzcG4rnNhEI89sH8bjA0+4qCVhkxkB1TxOs1I+Y2MGDNUGxozBJUvekis4ix/w1+vioUu1l6rhkuydDtTpfQPSop7uNv0mBjRHEtzUVi0Mfhn7rpwx40JZ9CtTXyQV+s1+Icxw8GcmVs1fqUeBZl55zHrGSHLcJSZWlCMxy5rpx+YqjgLDjoOogArKKryIxAhRIMWgi0lqYy+A2D3Z2LqOJl0H7TDjSvX4xmYdZIk7fBQBh2s7dT7IS0kasSueaC1/Tc0Wu/UagSK8YEzL1PM/CPFYi7yfzvMvxvCo= 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 Wed, Apr 19, 2023 at 09:15:11AM +0200, Greg KH wrote: > On Tue, Apr 18, 2023 at 01:46:36PM -0700, Luis Chamberlain wrote: > You get 72 columns for changelog text, so you can use it :) Sure! I forget what the limit is, but now I won't forget, new vimrc settings: set textwidth=100 autocmd FileType gitcommit set textwidth=72 set colorcolumn=+1 > > +config MODULE_AUTOLOAD_SUPRESS_DUPS > > MODULE_DEBUG_DUPLICATE perhaps? It has nothing to do with autoloading > (other than that is what userspace is doing) I refer to module auto-loading as the kernel's use of the *request_module() APIs. This code is used by the module auto-loading request_module() API callers, prior to us even dealing with userspace. > and you aren't suppressing anything except throwing up warnings, right? Actually the code does converge duplicate auto-loading requests into one, but'll just rename to MODULE_DEBUG_AUTOLOAD_DUPS. > > + bool "Debug duplicate modules with auto-loading" > > + help > > + Module autoloading allows in-kernel code to request modules through > > + the *request_module*() API calls. This in turn just calls userspace > > + modprobe. Although modprobe checks to see if a module is already > > + loaded before trying to load a module there is a small time window in > > + which multiple duplicate requests can end up in userspace and multiple > > + modprobe calls race calling finit_module() around the same time for > > + duplicate modules. The finit_module() system call can consume in the > > + worst case more than twice the respective module size in virtual > > + memory for each duplicate module requests. Although duplicate module > > + requests are non-fatal virtual memory is a limited resource and each > > + duplicate module request ends up just wasting virtual memory. > > It's not "wasted", as it is returned when the module is determined to be > a duplicate. Otherwise everyone will want this enabled as they think it > will actually save memory. I'll change the language to be clear the issue is memory pressure early on boot. I'll also add a bit of language to help at least guide people to realize that the real value-add for this, ie, I'll have to mention we suspect issue is udev and not module auto-loading and that this however may still help find a few cases we can optimize for. Luis