From patchwork Mon Nov 20 09:12:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 13460972 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 C8912C54E76 for ; Mon, 20 Nov 2023 09:12:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 621736B0428; Mon, 20 Nov 2023 04:12:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D04F6B0429; Mon, 20 Nov 2023 04:12:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 470C86B042A; Mon, 20 Nov 2023 04:12:49 -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 340746B0428 for ; Mon, 20 Nov 2023 04:12:49 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 06F1612084F for ; Mon, 20 Nov 2023 09:12:49 +0000 (UTC) X-FDA: 81477767658.15.9D3A486 Received: from pv50p00im-ztdg10011201.me.com (pv50p00im-ztdg10011201.me.com [17.58.6.39]) by imf06.hostedemail.com (Postfix) with ESMTP id 33FBF18000F for ; Mon, 20 Nov 2023 09:12:46 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=USDqxjmK; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf06.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.39 as permitted sender) smtp.mailfrom=sxwjean@me.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700471567; a=rsa-sha256; cv=none; b=rRmBYFIEwcEQXJU+thn4IA+htX5FMkKJNFAekoUztYtDQ1itL8MVvCpkiKA1yeyNFXr9Fk f8k+EfbSsnrgrHbcIafZLkK3RoNUmQiPxthr6s5jfQlioP826q+pEyOg0mYWpqBdVsP+6t QcAkB3D7GGNdqT9vqW9AQXt9Us8AvmU= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=USDqxjmK; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf06.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.39 as permitted sender) smtp.mailfrom=sxwjean@me.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700471567; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ZAp7SrtTUyF1qnNZ4F6YnfdHeWOZun6+Mu4sUrQKB9s=; b=Z3lTEQETfSDsk4tHT79oqczrmbydV2FVA2YCHdl+wM4Du8D8kwlKMByhZsFAK8B/XJoW+f ri7u4s+myVoJDwOOUwPLzYGRpPVsiOm9qa4Jn2w5ZfGlvOvTg6wZ5PUbDPOGDoxJdAz9gj wZrErzF/ZVf5TMG9lzgRJjchZgXhRVI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1700471565; bh=ZAp7SrtTUyF1qnNZ4F6YnfdHeWOZun6+Mu4sUrQKB9s=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=USDqxjmKUEm9/GIa5/4gC7hnYIXIHuPzCL5aPL+cvlzihWOeqnr13DtbuVMn3Kq/7 BS5bRt2u1ynmcBaOLzombkAuXxPBmaMe+7YyY5r5woQXglMxiftAcbSyyQnJaysl/2 Eg5+fDzx5L2TPpVM6HWLU6Fl34yq1pPuwp/5v5lnWibSpMx+OtLC+4nr7aOf4DPFMC EanaowXwvtzrITBT4+ajum2cJeeI0bMW7mhiqzR1i202nBhp7iwjB5svqVmewWXLYH imYOYaNcnvNM1hxuZV9gfjQCFwC9VqNQXOZtfoGfA2Jgv6D1vLq3mLB083RVlNbxUQ 9XDpzcbb1DwlQ== Received: from xiongwei.. (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10011201.me.com (Postfix) with ESMTPSA id 0C45C680248; Mon, 20 Nov 2023 09:12:40 +0000 (UTC) From: sxwjean@me.com To: cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, vbabka@suse.cz, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com Cc: corbet@lwn.net, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] Documentation: kernel-parameters: remove slab_max_order Date: Mon, 20 Nov 2023 17:12:11 +0800 Message-Id: <20231120091214.150502-2-sxwjean@me.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231120091214.150502-1-sxwjean@me.com> References: <20231120091214.150502-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-GUID: SzJMVYm1M10MaJEJRLI9Y8E7DGdxcrov X-Proofpoint-ORIG-GUID: SzJMVYm1M10MaJEJRLI9Y8E7DGdxcrov X-Proofpoint-Virus-Version: =?utf-8?q?vendor=3Dfsecure_engine=3D1=2E1=2E170-?= =?utf-8?q?22c6f66c430a71ce266a39bfe25bc2903e8d5c8f=3A6=2E0=2E517=2C18=2E0?= =?utf-8?q?=2E883=2C17=2E0=2E605=2E474=2E0000000_definitions=3D2022-06-21=5F?= =?utf-8?q?08=3A2022-06-21=5F01=2C2022-06-21=5F08=2C2020-01-23=5F02_signatur?= =?utf-8?q?es=3D0?= X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 mlxscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2311200061 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 33FBF18000F X-Stat-Signature: rqgpcxp8qgs8cu3zsubwupp4zeo98q83 X-HE-Tag: 1700471566-549559 X-HE-Meta: U2FsdGVkX1/84I2qQ/dt3U2TWW1PDXV8ZEhHOC08/yY7/vLtWp5eJ8Bhynvl868oysInGx0k6a85HvkQMFnOK4TKMUeSUckqxDyS9Nwmfc2UnuXzD6I7Ty3f5pwu19mO4zl/+T5iHDp+qGqpgt+rF463ABIz2RNcMDPbf78ecebF7OO/ydY6HfqMsq2r60qp/PFm6u81ntswvH8T4VKRLWuUVb+GJryCcGtDWXM98ym+EOtTZak+YfDXKYknhI/JiofQ6GSEb7VY55Mqtxb577LQdnR33N1zPh23nEHabhpkDiYvktYW78qY4tXUVaLLxW3C1wsR7VHg7ya7pXgR+/gXfJznX5AiLSzslRlESWHpUDfG/IS5pxcnAGm5He4r5pKpaoaz0lxTyQXls8fS17nheST9wNiBigKZafw+c+bgkxUfmJFYe82EYap8ej3rHfWbe38ghtZ3heMM7JJ07ote6Vdn88tiCKgoGkS8KC3sZvbaHP64CmOa25Qz7uLhV4pBvMyihP+Xji8UGRor6APWZD1tz9d/BZu1aDyAW0mrrIlhoYGVhNgd1q8htHjatjGHmQY2Zot8waLpzwkx0G+cAqSN4eCR1YGc967RY55b6gjbscwaTjKUibSvhxtOBXV9m4QOXmfTApI4ZgKP7r5cGB/0V+iXQHD0chivtI1IRVy+kynl+kDTc4D2FlErKtsFeqUJTyqnZdbQXsGvgn8vfUCMCzE/afbtHvU0WfeKvGNMICtIxGaeDrCGW8IJAck5T8CMNJRg2oRdtSCRlUV2GPKKkDZYbCa9i9O0xDv0OC7Cptabcv7r3d1ckQyyeDRc9NBexNKRTOWKNYTI5Th9aT9yh5VBahunMvkLtJ1wFSUskfqLSq7n/6mT7RAgzTFdCftp18TU7e/+S7OB9xs0vksNMZU6fZEvLMypkT51JgcTLgtlo/QuyWr9eiWX1w1gmFg41+IU+9+2AxI yuJ+u+Nj z/I+I8Wwe+Gb8hNzZo0KXktcrZDF06mb+nRS7vpqoQZKR7qwjHZh0b4aEhlJQLUQzLpfL19Jb1sZj7Mc1RyD8Z1PT7HvfNpEYEGEdokO5OEiQlKhdZhLTk2WQn6nB8Ogkgt6ogJu25HSTm13xN1UyyZCs5CyJHd1Nu6G2+2n/JgHNLTZE8rXSb8TNlay/z56Edkudr/Lp6xriog0PXRJu4mw8UY0o7jTLGx6i3VmrcGnWMi7QBh0WjEhHmfZG6B+zBAl7+QwTDDa7Xc95BuQk6lzbGb6XM8InZXR+GTAzWb2CiZww1qjbfQKCYg0dpHbU5nBXP7UgutSFyvww+YeKmGqEIqNQWfpJGYsbyBu7WFZSUNt7ILJ6ABMiKTQWQxo319Hp 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: From: Xiongwei Song Since slab allocator has already been removed. There is no users about it, so remove it. Signed-off-by: Xiongwei Song --- Documentation/admin-guide/kernel-parameters.txt | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 65731b060e3f..c7709a11f8ce 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -5887,12 +5887,6 @@ own. For more information see Documentation/mm/slub.rst. - slab_max_order= [MM, SLAB] - Determines the maximum allowed order for slabs. - A high setting may cause OOMs due to memory - fragmentation. Defaults to 1 for systems with - more than 32MB of RAM, 0 otherwise. - slub_debug[=options[,slabs][;[options[,slabs]]...] [MM, SLUB] Enabling slub_debug allows one to determine the culprit if slab objects become corrupted. Enabling From patchwork Mon Nov 20 09:12:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 13460973 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 9FDFBC197A0 for ; Mon, 20 Nov 2023 09:12:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3AEB06B042A; Mon, 20 Nov 2023 04:12:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 35E6E6B042B; Mon, 20 Nov 2023 04:12:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1FF936B042C; Mon, 20 Nov 2023 04:12:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0B6066B042A for ; Mon, 20 Nov 2023 04:12:54 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DF12CA07FB for ; Mon, 20 Nov 2023 09:12:53 +0000 (UTC) X-FDA: 81477767826.12.37AA4F4 Received: from pv50p00im-ztdg10011201.me.com (pv50p00im-ztdg10011201.me.com [17.58.6.39]) by imf10.hostedemail.com (Postfix) with ESMTP id 039FAC0012 for ; Mon, 20 Nov 2023 09:12:51 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=OGFm018h; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf10.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.39 as permitted sender) smtp.mailfrom=sxwjean@me.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700471572; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=C6bJm1rJmKMAKTZ+mlTlfG/ccBLTxL7wbEIPZkFpi6U=; b=BoYcgpXCw7yEq9MtFEov5PA0vjg588ey9FvGOxpIf+I2AeqDkCKAI3gOhCCocbl5TSo+Zh wdYeDeOEJ+xMsKtdD8E7x2qC/pXwjGHjAjJin+33jfgpMWHVYzmOmtpobrLcLRMz353Kw6 VeR5KR8pIo909ykctC/Z5QgpsADc4wE= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=OGFm018h; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf10.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.39 as permitted sender) smtp.mailfrom=sxwjean@me.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700471572; a=rsa-sha256; cv=none; b=0M/oFjA/k2A/+5jkeUl+KvXOfYOR2OKCqqg0DHe4krEJs7qXkgzHzXUlwhYruuQrL5dv+e 82dMANMSzmlnB9U3+6+zq/9sv7BpSEGiGcvLOhSfIGqdRdAnyJqVPw3te4KdW92Ys4yYBu d1JTYFkaL/lFEPoaU4nYm0GGe4SVEpU= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1700471570; bh=C6bJm1rJmKMAKTZ+mlTlfG/ccBLTxL7wbEIPZkFpi6U=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=OGFm018hZkfpIDcLlJ+sDNFLtihksioQkzpq/hBDtx3HOwN/OSl/t3KRJSflD3lkn 4Oho8P1cK4oOiBDjKXPhgKii31LVCFnDxZkWg4LV9s7aVo3kKdbappI8fM7zbUXUaJ Ls2VyrHamNhu6GyJ69Lzmca4xlw1rg8HAlKzoRn8GJGEymnFE+IxQDdDVfgjo7DdV/ 7RXFjxe7O92FBzS1pvbS44OZr4oKNBYci2XXxjlFgDzqnixz6LCnaD/BJXFFb/lMoa 7NrlwA5LJTyMUEOu2R3AEO4Jd2DzNLrV9sQkHI26FuqAzvnAn57I+4QS45NqK/+WlN znY9Cz0TdrhBg== Received: from xiongwei.. (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10011201.me.com (Postfix) with ESMTPSA id 4C63B680241; Mon, 20 Nov 2023 09:12:45 +0000 (UTC) From: sxwjean@me.com To: cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, vbabka@suse.cz, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com Cc: corbet@lwn.net, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] mm/slab: remove slab_nomrege and slab_merge Date: Mon, 20 Nov 2023 17:12:12 +0800 Message-Id: <20231120091214.150502-3-sxwjean@me.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231120091214.150502-1-sxwjean@me.com> References: <20231120091214.150502-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-GUID: 5R7rj5D1dxnrVnAuK0i15zYpwBZnK12t X-Proofpoint-ORIG-GUID: 5R7rj5D1dxnrVnAuK0i15zYpwBZnK12t X-Proofpoint-Virus-Version: =?utf-8?q?vendor=3Dfsecure_engine=3D1=2E1=2E170-?= =?utf-8?q?22c6f66c430a71ce266a39bfe25bc2903e8d5c8f=3A6=2E0=2E517=2C18=2E0?= =?utf-8?q?=2E883=2C17=2E0=2E605=2E474=2E0000000_definitions=3D2022-06-21=5F?= =?utf-8?q?08=3A2022-06-21=5F01=2C2022-06-21=5F08=2C2020-01-23=5F02_signatur?= =?utf-8?q?es=3D0?= X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 mlxscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2311200061 X-Rspam-User: X-Stat-Signature: xsxq7j94gifaz3pftpchx4rqtw63bhx6 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 039FAC0012 X-HE-Tag: 1700471571-710792 X-HE-Meta: U2FsdGVkX1+k8R8SFGnkUPypuLH9/NA5P60RbKU2UjEyag3ZkxRKHIsGFJoWAQRmA1hbBxD5quOnLFuzhqyJCZk3I0yq/XwJxB1gQTKei3Q3VP83b2eht7UnsyyjutxwcL3oXCKC6BVuO+88gkTBbP6JWsnjM5QKETKzO/Euaey0poX0pCUZJUx6yieqHGuepyKt6CSPQU0mhcwMBB2+ApKYH0QCIOflc7p0Bn8K0Tp7YouuMlHadaDy25RGBxkpd5Kw8PIiHIAK1bP1LiesAwqa8PnrC0F7HECBVT/balRtbBj+Gs7qojbTeYB+uRG+qUCTQSqfGgNfP4tXmBTQmEp82t9jzjnmgdvsF3Jjlw6W30vYvVv7MBND7LtySiF8Qxm0xVj3hZ8m3/4CD82DS4blkryED3zbvaTKTI6wBFZhxHjQbUPZgxw1PG6mXhQ9qQOS0h3/Sa6HPPprDfbENa2nOWEXH5Icf9O8UbCsFMqp07fTdIJo5Xp3OqH3RpdFssviG38RkVtgQS0tFUwBt6J8ft2vy+D/1O1c2CUMwvqPSobkOzmpxjYqysGKxl5e/VsZfh/iq40DTPLtu1ZdhqfZqUQCw0qJ4gZ+SyaSm2IInQJy9l2wLxIAc61qDpb96TfvseR3hUhVE2LvWvfchPsmo86LCqcSfDCEG0/piCqQNa0TOpbI0yAP+xZHc79AzjhaHzgUeqUWDMglUp0DFOLWdc7hgGViSZKu2Cbge77JMMozlK7W5pYkWmevWmLFgmsncdHAnGdbemPYL055KGFQwukLZcOy6MPc3m2wDOH1J0MtSKpYGO7UVg3u7KtJzzXDf0of1iuU5UVnowWPbgmmxf02QYWV+zsB3Go6EtGoTU2dVkibzO+9LKLo+4NCLLtohzyp+8RCz+jDP4OTWxfGeCJHVIL/tK8OvUJKBWh+PPwf0cvVMS514rXszIP0LQzsfx0cPZI8iv9+VgK dkt+LnvQ RGP63V9l5oy7VuPMUtQ8CZtjLOwW2U1sl3U12UOdd03kVfsOBtcjsDRNd2m9DMv03CWOpWYk/GAV/2zxAEiZH7RnHl3pWo8V52of2n4NaV4KXT6wbBRe0VNZMn+t1OAxU7pcgzDtUWANr6ylfE3RTJ8g9zSLkALHKrTmq4Eo5Mrfrngsu8mWHxIyMBlnnKo3x0b8VxbQWgLJ8QB53xpmPWWWguyLevykVh6e7R0RehNNswMP1rE2lAMMAuxT9Elh6NqSbJa21FDeCRmtKhMIc3Y4K++mXEe3/RWMJMkq+J0A4bY4rK5s3sF99eYY6J66Vevh/Pq4W+QnZcfL1qGal+fZ8JscjCwUIGKN+dCpHalfBlipbLawO4nU8i7AjAPRzaqN5hEKhPkpiGeIz+ngj5Z2KJie8J4eLMiMXuXNeeQRkIG8= 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: From: Xiongwei Song Since slab allocatoer has already been removed, so we should also remove the related parameters. And change the global flag from slab_nomerge to slub_nomerge. Signed-off-by: Xiongwei Song --- Documentation/admin-guide/kernel-parameters.txt | 11 ++--------- mm/Kconfig | 2 +- mm/slab_common.c | 13 +++++-------- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index c7709a11f8ce..afca9ff7c9f0 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -5870,11 +5870,11 @@ slram= [HW,MTD] - slab_merge [MM] + slub_merge [MM] Enable merging of slabs with similar size when the kernel is built without CONFIG_SLAB_MERGE_DEFAULT. - slab_nomerge [MM] + slub_nomerge [MM] Disable merging of slabs with similar size. May be necessary if there is some reason to distinguish allocs to different slabs, especially in hardened @@ -5915,13 +5915,6 @@ lower than slub_max_order. For more information see Documentation/mm/slub.rst. - slub_merge [MM, SLUB] - Same with slab_merge. - - slub_nomerge [MM, SLUB] - Same with slab_nomerge. This is supported for legacy. - See slab_nomerge for more information. - smart2= [HW] Format: [,[,...,]] diff --git a/mm/Kconfig b/mm/Kconfig index 766aa8f8e553..87c3f2e1d0d3 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -255,7 +255,7 @@ config SLAB_MERGE_DEFAULT cache layout), which makes such heap attacks easier to exploit by attackers. By keeping caches unmerged, these kinds of exploits can usually only damage objects in the same cache. To disable - merging at runtime, "slab_nomerge" can be passed on the kernel + merging at runtime, "slub_nomerge" can be passed on the kernel command line. config SLAB_FREELIST_RANDOM diff --git a/mm/slab_common.c b/mm/slab_common.c index 238293b1dbe1..d707abd31926 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -58,26 +58,23 @@ static DECLARE_WORK(slab_caches_to_rcu_destroy_work, /* * Merge control. If this is set then no merging of slab caches will occur. */ -static bool slab_nomerge = !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT); +static bool slub_nomerge = !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT); static int __init setup_slab_nomerge(char *str) { - slab_nomerge = true; + slub_nomerge = true; return 1; } static int __init setup_slab_merge(char *str) { - slab_nomerge = false; + slub_nomerge = false; return 1; } __setup_param("slub_nomerge", slub_nomerge, setup_slab_nomerge, 0); __setup_param("slub_merge", slub_merge, setup_slab_merge, 0); -__setup("slab_nomerge", setup_slab_nomerge); -__setup("slab_merge", setup_slab_merge); - /* * Determine the size of a slab object */ @@ -138,7 +135,7 @@ static unsigned int calculate_alignment(slab_flags_t flags, */ int slab_unmergeable(struct kmem_cache *s) { - if (slab_nomerge || (s->flags & SLAB_NEVER_MERGE)) + if (slub_nomerge || (s->flags & SLAB_NEVER_MERGE)) return 1; if (s->ctor) @@ -163,7 +160,7 @@ struct kmem_cache *find_mergeable(unsigned int size, unsigned int align, { struct kmem_cache *s; - if (slab_nomerge) + if (slub_nomerge) return NULL; if (ctor) From patchwork Mon Nov 20 09:12:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 13460974 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 2EE71C197A0 for ; Mon, 20 Nov 2023 09:13:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ADAEE6B042C; Mon, 20 Nov 2023 04:12:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A8B726B042D; Mon, 20 Nov 2023 04:12:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 92BD96B042E; Mon, 20 Nov 2023 04:12:59 -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 806B26B042C for ; Mon, 20 Nov 2023 04:12:59 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 54B2012086F for ; Mon, 20 Nov 2023 09:12:59 +0000 (UTC) X-FDA: 81477768078.23.A2861FF Received: from pv50p00im-ztdg10011201.me.com (pv50p00im-ztdg10011201.me.com [17.58.6.39]) by imf23.hostedemail.com (Postfix) with ESMTP id 76034140004 for ; Mon, 20 Nov 2023 09:12:57 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=ngGfutKl; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf23.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.39 as permitted sender) smtp.mailfrom=sxwjean@me.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700471577; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0IyZUppRFC+kRXK+uWTlA6BA5d71MB5eJgI2v8JSo8g=; b=lI1QfsRDskMOGCA3SfZlDkX1KzXzXOC3ET+wPEeCBgfRhS7bORlQR3il6YUS5Weaz1gwvd rYmsy//BQTEwQx5ICIck0y+bBNH8NPOMhAJ/eSWNFei6kmv0mCYBILZSpJSsqLPYll05SB tqwM0tOzNPWaAOuC61W9+2tStYVJbcA= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=ngGfutKl; dmarc=pass (policy=quarantine) header.from=me.com; spf=pass (imf23.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.39 as permitted sender) smtp.mailfrom=sxwjean@me.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700471577; a=rsa-sha256; cv=none; b=jzl5NAhjteMRWRlgyS6z5Y24kiK23a90mLhg09GLG0NihRrELrXYdu2MQGQ7dqJlOTVaXe rfqcPtzjdjhLAUcF94LcoE+CstD4+JZ9QTtLVGCaYjS3LRm3eeSeePpwyH584+hQUvkMUP MAcz2ZA7Ap2qNEkfE+VxhzYIAcefuMs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1700471576; bh=0IyZUppRFC+kRXK+uWTlA6BA5d71MB5eJgI2v8JSo8g=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=ngGfutKlG4UMoqOY1w9qK0d3x1YrvjuZvo/ni40ibMWGkH/Lb4CELoCYuGc2BFF7a zcXHrXDcB/1MwknG30WASwWYOirtpC/kvUmvBMmXJjmaRD2CYpO8k7GXLdtlBloFhS rXWorM09Ix6kedh3weEOi6UKdHBwWp/9E0p9lA2l4oznrFu+QotAEzay8AeMxo5eoT 5Ha1YQpY1qw/USNShuXvCGcO/u3xXpR2+dXhrYNjI6+x961mu2M67GPyDLssxiE45h eUCRKTWgBk0CwfUKPnD/YQ7A/x0CsqQ+vp1APxR/yLihctQ+K+TiXDuttpo2RShfvv EmGXoZs3dXQYQ== Received: from xiongwei.. (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10011201.me.com (Postfix) with ESMTPSA id 90878680224; Mon, 20 Nov 2023 09:12:51 +0000 (UTC) From: sxwjean@me.com To: cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, vbabka@suse.cz, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com Cc: corbet@lwn.net, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] mm/slab: make calculate_alignment() public Date: Mon, 20 Nov 2023 17:12:13 +0800 Message-Id: <20231120091214.150502-4-sxwjean@me.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231120091214.150502-1-sxwjean@me.com> References: <20231120091214.150502-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-GUID: oX7Qs8WfInCPZ2wL3ryBnCYP_MfDMAaM X-Proofpoint-ORIG-GUID: oX7Qs8WfInCPZ2wL3ryBnCYP_MfDMAaM X-Proofpoint-Virus-Version: =?utf-8?q?vendor=3Dfsecure_engine=3D1=2E1=2E170-?= =?utf-8?q?22c6f66c430a71ce266a39bfe25bc2903e8d5c8f=3A6=2E0=2E517=2C18=2E0?= =?utf-8?q?=2E883=2C17=2E0=2E605=2E474=2E0000000_definitions=3D2022-06-21=5F?= =?utf-8?q?08=3A2022-06-21=5F01=2C2022-06-21=5F08=2C2020-01-23=5F02_signatur?= =?utf-8?q?es=3D0?= X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=833 suspectscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 mlxscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2311200061 X-Rspamd-Queue-Id: 76034140004 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: qc8yn7uqrt1z9kpmjyur3sq3pg3qzosc X-HE-Tag: 1700471577-896420 X-HE-Meta: U2FsdGVkX1+c9PiSAl5yEUP/L0srQ9R1X/vO4VOD+N8pFMqv4rj0ZsROXHb9+Yr2oLIkfTbYcQEMnGX1FPVlM8Xql1nFgRqBhhRfcpaxSukf6ODQ5r2NWk/3X4ZBUeo1kMH+933rAbIxXVzdlhZUyLFRQ5puqMsLsUQxZyOCbqJjbYr+oeWjdKTGd1yLn4lZFGzSjtK/fx59EQWmId3TTXI6+56I0qmFQoAJaEZ4fwQVqUR/Y66OEbS0nI3x7yHkAm+ZGAmqnW5IWuQ+cFpLMNXmsahUqBQEEaMmENBBFXkN5LoBMumJj+dQFdFca0eBm2LJFbShe22d8v67tFNYiWUuMO1eOYLM/gXL5OEQZ02NLKdnKpy16qL7F6i/l1ucG2UaaX1FK1APi5rK5yZpUkugkIIzpaW5x7IV8mq7fQARwYGp975PuZNN4xzwhp97s+gE+2+rPhkR8YOZ9zLUCgio16yq02e/ecvZpTHirG7JMI6kXfJq0w8op4gy3Ce7pfByzT7OAUh2cLuhZXw0myzZ85MoBgfRanpPYAKQzskjf3Wq1kmWWtaQd2jqHrLIK2oGCtBT53XRP2+VHBNmdn2k8jvxKwq9ipBHYTSVDDlwRWzOY0/I8PQUWqvk+kmI1+dcwQ23PPOXj0awXpVRsfP4Je0rDlJT2I9p1zmKFpzr4+1/FZx03Sjt5CbPCYhcoLTfi5xFOGukTZEAlEXMuLbLdznMrTzDKND4Xiv4405tXtPEk4nGtKfpUUH+e2Nj+8YPEIV8j5bdsaMexr5HQE7GjdmIVTwYloVNGV/czQhmTXW81hW5IIYuFoSKAQkARPiM+LZhAy2tJtNu6+5ue62H4xjxp2LIKNDl0GnPHLFLY7/wFEQnsx8PTgIcvCgCIxJQ0+FFKov76bZIUV8ia+PMSd2uXXJlHftG2agJv9/UdAAn4O9cxeuVn99u6d9JvHIIndc25lMtoZwbntg RdFRXq97 /SnNTvzmGQHfmeg99/4brDsN6a+4zhSiEtfNWh9FUHcX/lVe0WUDPOsKOFY7lgWw3teYf3P8YcsIUOeSOysoU3rvzmbnyx4cCU087lZXCpslc9eKPhC5ZK/yhjSXA/ElABE+uE327BUuC/8u3z+A+IjMYj3Q1BrImxre2jmPNWZwDaCf+mDCZJqnWwgThFQm3RjB3gZ1KHF+pF68gRSLVgRQHG9VpTNNS0eIktYI5eM47puyjcfRbHFERBZ8Lsgs1FSq1qlGGKdLfRfKnEf1VSiIhcZrEFiLSTxG2go2LDsIq8TXZeZK2SmErH1D1jCrFZwpLWSp2PJ6nId8C69p0rR1HbFZXbiuXVQChfO49QhXCXg/owo09zH6mUytxPpbwiWlV 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: From: Xiongwei Song We are going to move slab merge from slab_common.c to slub.c, there is a call with it in find_mergeable(), so make it public. Signed-off-by: Xiongwei Song --- mm/slab.h | 2 ++ mm/slab_common.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mm/slab.h b/mm/slab.h index eb04c8a5dbd1..8d20f8c6269d 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -427,6 +427,8 @@ extern void create_boot_cache(struct kmem_cache *, const char *name, unsigned int size, slab_flags_t flags, unsigned int useroffset, unsigned int usersize); +unsigned int calculate_alignment(slab_flags_t flags, + unsigned int align, unsigned int size); int slab_unmergeable(struct kmem_cache *s); struct kmem_cache *find_mergeable(unsigned size, unsigned align, slab_flags_t flags, const char *name, void (*ctor)(void *)); diff --git a/mm/slab_common.c b/mm/slab_common.c index d707abd31926..62eb77fdedf2 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -106,7 +106,7 @@ static inline int kmem_cache_sanity_check(const char *name, unsigned int size) * Figure out what the alignment of the objects will be given a set of * flags, a user specified alignment and the size of the objects. */ -static unsigned int calculate_alignment(slab_flags_t flags, +unsigned int calculate_alignment(slab_flags_t flags, unsigned int align, unsigned int size) { /* From patchwork Mon Nov 20 09:12:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 13460975 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 E8B6FC54E76 for ; Mon, 20 Nov 2023 09:13:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 895F86B042E; Mon, 20 Nov 2023 04:13:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 81ADE6B042F; Mon, 20 Nov 2023 04:13:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BC906B0430; Mon, 20 Nov 2023 04:13:05 -0500 (EST) 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 5895B6B042E for ; Mon, 20 Nov 2023 04:13:05 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 311CDA04CD for ; Mon, 20 Nov 2023 09:13:05 +0000 (UTC) X-FDA: 81477768330.06.E56AB8B Received: from pv50p00im-ztdg10011201.me.com (pv50p00im-ztdg10011201.me.com [17.58.6.39]) by imf19.hostedemail.com (Postfix) with ESMTP id 433D71A001D for ; Mon, 20 Nov 2023 09:13:03 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=rYi1u8wZ; spf=pass (imf19.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.39 as permitted sender) smtp.mailfrom=sxwjean@me.com; dmarc=pass (policy=quarantine) header.from=me.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700471583; a=rsa-sha256; cv=none; b=4t3u1mR+rXNlIFVKU58BL92Oirtqu3OfYs8VPTg+h9F9TazzUCnkjMmzR8kCo13w3KXIKs p4RfG/a/VP/fttVz9CIAMA01B4riGszR5R3QH8u+Xhp+vm6Io3mgJBIoBom3E4/blUEMl/ iI7zSEXHVG3eAvM9hj0mRBvV6erdUpE= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=rYi1u8wZ; spf=pass (imf19.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.39 as permitted sender) smtp.mailfrom=sxwjean@me.com; dmarc=pass (policy=quarantine) header.from=me.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700471583; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AWaj1ki3rwcuwpTBAPDzYvQWi1J126ZZaCIJ2Nblgd8=; b=RSjKcd2wruZePZjbVp0q+PFa3r/CV/kHg76A7/mrvspHIVp1cnC2R+FMEe6TkipeFBAOXO RXa9WOpvKuFnv6JPMZF/nwgf6slMygdvkc0TNtRT/Mt0Cloj/eMJQyIhtHQ1nEz4qlSecF mTe+fjhvm7sVfgbio/Eqgj18da4d8RE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1700471581; bh=AWaj1ki3rwcuwpTBAPDzYvQWi1J126ZZaCIJ2Nblgd8=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=rYi1u8wZOp0OrfiANALqBBzTEN2M0f6lGNJBSLz6HLwevM0aEhdQWh9aoZkirKdFM NergaZPv15dFBOa6yN26VLwf60oecQ2t1knY4//RG/5gLDDgpr5uOiFdyPBu1dFuK2 uy0BPrTW6OQTPP2WBeurw/gtydeSpsyHK3GGRcaP/eV3OT+42TEaJ8U6TACpXKliX9 39d4pmfOhcG/iHZdyYJWpzdinJSiDGZvUqdrVJdeVscEPGZn85OitiKchCZ9vAVSBT Nx7zkD344/z0XjshDlf1XVTEi6cOESbvkOasJobMN7rZ1ND1c+fshy8KEdgyoI9x45 W2ZV4djkODAqg== Received: from xiongwei.. (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10011201.me.com (Postfix) with ESMTPSA id BE336680246; Mon, 20 Nov 2023 09:12:56 +0000 (UTC) From: sxwjean@me.com To: cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, vbabka@suse.cz, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com Cc: corbet@lwn.net, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] mm/slab: move slab merge from slab_common.c to slub.c Date: Mon, 20 Nov 2023 17:12:14 +0800 Message-Id: <20231120091214.150502-5-sxwjean@me.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231120091214.150502-1-sxwjean@me.com> References: <20231120091214.150502-1-sxwjean@me.com> MIME-Version: 1.0 X-Proofpoint-GUID: wmdiAmmV3HG-u_79uyar0KcaBugWOyer X-Proofpoint-ORIG-GUID: wmdiAmmV3HG-u_79uyar0KcaBugWOyer X-Proofpoint-Virus-Version: =?utf-8?q?vendor=3Dfsecure_engine=3D1=2E1=2E170-?= =?utf-8?q?22c6f66c430a71ce266a39bfe25bc2903e8d5c8f=3A6=2E0=2E517=2C18=2E0?= =?utf-8?q?=2E883=2C17=2E0=2E605=2E474=2E0000000_definitions=3D2022-06-21=5F?= =?utf-8?q?08=3A2022-06-21=5F01=2C2022-06-21=5F08=2C2020-01-23=5F02_signatur?= =?utf-8?q?es=3D0?= X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 mlxscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2311200061 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 433D71A001D X-Stat-Signature: p7wrc9qi1qks1z3ih3afxf6ed4oajado X-Rspam-User: X-HE-Tag: 1700471583-825252 X-HE-Meta: U2FsdGVkX19SBVzETrLZNe1g8xlh8wLE4t5D2LCGYEyihsVFL4T/6yaT2sj07XeCJVu9lU9DHA+ukuRU170bEaJhRG+brWs93dXfFVbCmwTOdDTGHIYyjm/2SBOo+nfGRQnf7EeAMahgJapuyTsmA7lN5Cj/n4ygzpRPxRsH6VjehvBGl0iu9JimiayGAxGvipz4+ZKlzLSa8MrUU/RU5wa9yqKlNhOSmbx/qJkMjJ+9bBgPzBeb50UX8eXqCtv4dm6uc/T7Lde5CJNxftWnJK2fm2ast+Y2cGG/E2WdZ5a8kCmkBmSlOHkcOc6Wfqle/LFC+0l20dog64o+xrwaoiL6hZRIEMmi8E5rFBiIVSAeMU26BEluCpoIehOy13rSck19+1WIaqolBB9jGNJ0mE/0Mw3ZwwfE2x4Q0I+aUmyfnjX8bccE/Ptq2uH3LkC77LUdP+adhYC0q2SPWln5x5efNnKDqkiSYQWWSaQtwGfkpKkua7zbzTC9fikou2SDepcmogyrxzx2Ozgno4SARGNMZZ3lMGHPN5D1w3ztxwcMpcJsAt4jooFsyZMQ9Gq1o7ZQUDhel7YxtR3sjXcpHNMbPOOQeBZHFW8SBRzXLSLEm/7PFrtm/EGwHRnEqfwFY+pWx07r3KV5AfX3qdpfoBBAqzImoVfNJeDyGqJNZh2XOhp29WVJOfCxKrJqjFvOeJj26dUfs4zAR/uX/ILheszEUO6kWlJwzPjKGVMdl8UGdiOZdpuZ+UVwWpwn/g+zUoaGPeXIlq4oWJ/mMlYvgOwzKHF9l0PzVI3i79DG51e/vdjkW6uPpKRKKDXmwFgNCtD617UDny6TMfHhnbGay2lSqdKzfkmNWJkZAiOoMJGvFJER65pLG7eq/zmRW81xoTbJasIaNsUHjrySyRtiFmlWshWkqDWZNICaAlyuxoaDpVnVBptKuvELdLkiEp+fxDE67zt5ppJk+YAMP+L LwL6PAi6 biFJdMAvD+5Y/fmjP5uLoAXaWf6XFExM51ANn2svg1sa09ry9z64FNlUd8WwXgrAnQsaTtotCAd3xYFmMoPNbIy0fo21088D4EMpRglytm5BrggpHc1ojVJS3Dw35xhIjrBe5BvZuxSC/Uk871x5krYMow4ULa6ruhd5WVmO2kA4BVhpsUO4wqu0kZEgbiJt+eLjXiQda27Kg4mYWhuAncsq1s8oDc6XE2RgcLu0gulyhJxwX807ze7Vz6ws0PWQPoK1iaH5++TzWKJZMIadjN6LaTAE1fwycg/zdIb1Xrp6zkOvsFwCm+3V5coxmC62D9lqjmDY/GmlJqk/xkMeu2FP9ezXdqXpJcSFSxiAHoel0Pz2UV0avSwI0FBrS5+LK3fcBmYRixNEteyU= 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: From: Xiongwei Song Since slab allocator has been removed. There is no users about slab merge except slub. This commit is almost to revert commit 423c929cbbec ("mm/slab_common: commonize slab merge logic"). Also change all prefix of slab merge related functions, variables and definitions from "slab/SLAB" to"slub/SLUB". Signed-off-by: Xiongwei Song --- mm/slab.h | 3 -- mm/slab_common.c | 98 ---------------------------------------------- mm/slub.c | 100 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 99 insertions(+), 102 deletions(-) diff --git a/mm/slab.h b/mm/slab.h index 8d20f8c6269d..cd52e705ce28 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -429,9 +429,6 @@ extern void create_boot_cache(struct kmem_cache *, const char *name, unsigned int calculate_alignment(slab_flags_t flags, unsigned int align, unsigned int size); -int slab_unmergeable(struct kmem_cache *s); -struct kmem_cache *find_mergeable(unsigned size, unsigned align, - slab_flags_t flags, const char *name, void (*ctor)(void *)); struct kmem_cache * __kmem_cache_alias(const char *name, unsigned int size, unsigned int align, slab_flags_t flags, void (*ctor)(void *)); diff --git a/mm/slab_common.c b/mm/slab_common.c index 62eb77fdedf2..6960ae5c35ee 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -45,36 +45,6 @@ static void slab_caches_to_rcu_destroy_workfn(struct work_struct *work); static DECLARE_WORK(slab_caches_to_rcu_destroy_work, slab_caches_to_rcu_destroy_workfn); -/* - * Set of flags that will prevent slab merging - */ -#define SLAB_NEVER_MERGE (SLAB_RED_ZONE | SLAB_POISON | SLAB_STORE_USER | \ - SLAB_TRACE | SLAB_TYPESAFE_BY_RCU | SLAB_NOLEAKTRACE | \ - SLAB_FAILSLAB | SLAB_NO_MERGE | kasan_never_merge()) - -#define SLAB_MERGE_SAME (SLAB_RECLAIM_ACCOUNT | SLAB_CACHE_DMA | \ - SLAB_CACHE_DMA32 | SLAB_ACCOUNT) - -/* - * Merge control. If this is set then no merging of slab caches will occur. - */ -static bool slub_nomerge = !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT); - -static int __init setup_slab_nomerge(char *str) -{ - slub_nomerge = true; - return 1; -} - -static int __init setup_slab_merge(char *str) -{ - slub_nomerge = false; - return 1; -} - -__setup_param("slub_nomerge", slub_nomerge, setup_slab_nomerge, 0); -__setup_param("slub_merge", slub_merge, setup_slab_merge, 0); - /* * Determine the size of a slab object */ @@ -130,74 +100,6 @@ unsigned int calculate_alignment(slab_flags_t flags, return ALIGN(align, sizeof(void *)); } -/* - * Find a mergeable slab cache - */ -int slab_unmergeable(struct kmem_cache *s) -{ - if (slub_nomerge || (s->flags & SLAB_NEVER_MERGE)) - return 1; - - if (s->ctor) - return 1; - -#ifdef CONFIG_HARDENED_USERCOPY - if (s->usersize) - return 1; -#endif - - /* - * We may have set a slab to be unmergeable during bootstrap. - */ - if (s->refcount < 0) - return 1; - - return 0; -} - -struct kmem_cache *find_mergeable(unsigned int size, unsigned int align, - slab_flags_t flags, const char *name, void (*ctor)(void *)) -{ - struct kmem_cache *s; - - if (slub_nomerge) - return NULL; - - if (ctor) - return NULL; - - size = ALIGN(size, sizeof(void *)); - align = calculate_alignment(flags, align, size); - size = ALIGN(size, align); - flags = kmem_cache_flags(size, flags, name); - - if (flags & SLAB_NEVER_MERGE) - return NULL; - - list_for_each_entry_reverse(s, &slab_caches, list) { - if (slab_unmergeable(s)) - continue; - - if (size > s->size) - continue; - - if ((flags & SLAB_MERGE_SAME) != (s->flags & SLAB_MERGE_SAME)) - continue; - /* - * Check if alignment is compatible. - * Courtesy of Adrian Drzewiecki - */ - if ((s->size & ~(align - 1)) != s->size) - continue; - - if (s->size - size >= sizeof(void *)) - continue; - - return s; - } - return NULL; -} - static struct kmem_cache *create_cache(const char *name, unsigned int object_size, unsigned int align, slab_flags_t flags, unsigned int useroffset, diff --git a/mm/slub.c b/mm/slub.c index ae1e6e635253..435d9ed140e4 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -709,6 +709,104 @@ static inline bool slab_update_freelist(struct kmem_cache *s, struct slab *slab, return false; } +/* + * Set of flags that will prevent slab merging + */ +#define SLUB_NEVER_MERGE (SLAB_RED_ZONE | SLAB_POISON | SLAB_STORE_USER | \ + SLAB_TRACE | SLAB_TYPESAFE_BY_RCU | SLAB_NOLEAKTRACE | \ + SLAB_FAILSLAB | SLAB_NO_MERGE | kasan_never_merge()) + +#define SLUB_MERGE_SAME (SLAB_RECLAIM_ACCOUNT | SLAB_CACHE_DMA | \ + SLAB_CACHE_DMA32 | SLAB_ACCOUNT) + +/* + * Merge control. If this is set then no merging of slab caches will occur. + */ +static bool slub_nomerge = !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT); + +static int __init setup_slub_nomerge(char *str) +{ + slub_nomerge = true; + return 1; +} + +static int __init setup_slub_merge(char *str) +{ + slub_nomerge = false; + return 1; +} + +__setup_param("slub_nomerge", slub_nomerge, setup_slab_nomerge, 0); +__setup_param("slub_merge", slub_merge, setup_slab_merge, 0); + +/* + * Find a mergeable slab cache + */ +static inline int slub_unmergeable(struct kmem_cache *s) +{ + if (slub_nomerge || (s->flags & SLUB_NEVER_MERGE)) + return 1; + + if (s->ctor) + return 1; + +#ifdef CONFIG_HARDENED_USERCOPY + if (s->usersize) + return 1; +#endif + + /* + * We may have set a slab to be unmergeable during bootstrap. + */ + if (s->refcount < 0) + return 1; + + return 0; +} + +static struct kmem_cache *find_mergeable(unsigned int size, unsigned int align, + slab_flags_t flags, const char *name, void (*ctor)(void *)) +{ + struct kmem_cache *s; + + if (slub_nomerge) + return NULL; + + if (ctor) + return NULL; + + size = ALIGN(size, sizeof(void *)); + align = calculate_alignment(flags, align, size); + size = ALIGN(size, align); + flags = kmem_cache_flags(size, flags, name); + + if (flags & SLUB_NEVER_MERGE) + return NULL; + + list_for_each_entry_reverse(s, &slab_caches, list) { + if (slub_unmergeable(s)) + continue; + + if (size > s->size) + continue; + + if ((flags & SLUB_MERGE_SAME) != (s->flags & SLUB_MERGE_SAME)) + continue; + /* + * Check if alignment is compatible. + * Courtesy of Adrian Drzewiecki + */ + if ((s->size & ~(align - 1)) != s->size) + continue; + + if (s->size - size >= sizeof(void *)) + continue; + + return s; + } + return NULL; +} + #ifdef CONFIG_SLUB_DEBUG static unsigned long object_map[BITS_TO_LONGS(MAX_OBJS_PER_PAGE)]; static DEFINE_SPINLOCK(object_map_lock); @@ -6679,7 +6777,7 @@ static int sysfs_slab_add(struct kmem_cache *s) int err; const char *name; struct kset *kset = cache_kset(s); - int unmergeable = slab_unmergeable(s); + int unmergeable = slub_unmergeable(s); if (!unmergeable && disable_higher_order_debug && (slub_debug & DEBUG_METADATA_FLAGS))