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 B8B66C54E41 for ; Fri, 8 Mar 2024 21:28:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1ACF46B03F3; Fri, 8 Mar 2024 16:28:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 15D9E6B03F4; Fri, 8 Mar 2024 16:28:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 04CF86B03F5; Fri, 8 Mar 2024 16:28:39 -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 E8A9C6B03F3 for ; Fri, 8 Mar 2024 16:28:38 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 97F2BA124A for ; Fri, 8 Mar 2024 21:28:38 +0000 (UTC) X-FDA: 81875161116.11.64F08F7 Received: from gentwo.org (gentwo.org [62.72.0.81]) by imf20.hostedemail.com (Postfix) with ESMTP id EE1DD1C000D for ; Fri, 8 Mar 2024 21:28:36 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=none ("invalid DKIM record") header.d=gentwo.org header.s=default header.b=OSkX+MUy; dmarc=pass (policy=none) header.from=gentwo.org; spf=pass (imf20.hostedemail.com: domain of cl@gentwo.org designates 62.72.0.81 as permitted sender) smtp.mailfrom=cl@gentwo.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709933317; a=rsa-sha256; cv=none; b=5YGO2CVtMnQqlnSGDPxz743BHakXs1UTEIcWKWz9aZFqwxyiN9cP/mEsEY+JYGbGRKKzUb 816gHU+D4HHTJuSea2cJUppEs2vK50hjHzgYygcNNt9T0Q030e/+R9NLK26lAwsvy+CHIW CpIEBacIJ/7/MCIIUMD8dWB5KNPRGiU= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=none ("invalid DKIM record") header.d=gentwo.org header.s=default header.b=OSkX+MUy; dmarc=pass (policy=none) header.from=gentwo.org; spf=pass (imf20.hostedemail.com: domain of cl@gentwo.org designates 62.72.0.81 as permitted sender) smtp.mailfrom=cl@gentwo.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709933317; 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=SEAbs3/fkcLJD01XWkx8lnoI6W8QY70GSkEPopW1Tko=; b=lzx8CPLXBBz8XUilO9WoUm+1Dmec2J7fG1jKjY6KOLdnPTzKtbMnRK6bu0lbsiODps3E7P 7YuY3cpi+Qcg/voV3n+qt4fIEziAjoOGm89S7Gcb7Ebv9mYXNtjGe90ascuAQESulm261P kV+z97TSl6p974d3TNqNTF+FLvazh14= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gentwo.org; s=default; t=1709933315; bh=6O0RhhszGq14BtJut4dSji3K1ldX0IFOzTaOzzG1Ip8=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=OSkX+MUyHFfo/zuYKbWD8FUuvcqhtT0Hdr34t8x0qsFLd0q74UKNZ0mkARaYGBEzU SHTLf5QSfP7ox7726Hhns8Llum+CkgW4CktWniV3sv/8U6V0IkIoAZqT02tLnBm9pQ L1Goa4p+Ey5CM5uiKea3k/k1i3FPqUoktdG/du5Kukohg+kBaltZ9o8aI074aeoedy v0mWa6VchieXTFs7HEkeldkLCkMRfZATRRjZFqRnNXbmoq3gT6B+4pGamsyYDOloff z11UOUnIzatHx1jGu3RZZ2B2ziwQqE82b4bria+3lI8LWzp5Fg5eqD0juQsXOKsozj uPpJR6dc0Phqg== Received: by gentwo.org (Postfix, from userid 1003) id 6C3BC40A96; Fri, 8 Mar 2024 13:28:35 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by gentwo.org (Postfix) with ESMTP id 6A68640A93; Fri, 8 Mar 2024 13:28:35 -0800 (PST) Date: Fri, 8 Mar 2024 13:28:35 -0800 (PST) From: "Christoph Lameter (Ampere)" To: Matthew Wilcox cc: Kent Overstreet , linux-mm@kvack.org, Vlastimil Babka , Andrew Morton , Pekka Enberg , David Rientjes , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com> Subject: Re: [PATCH] mm/slub: Make __ksize() faster In-Reply-To: Message-ID: References: <20240308031325.218676-1-kent.overstreet@linux.dev> <6iv6cmclbkx4vrhpohjlg6r3pf7cf3nsgiydycmsmlhsrjo4bd@bohvkgia6wyx> <9b609df3-b4af-e0fa-dcbe-1358cd317194@gentwo.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: EE1DD1C000D X-Stat-Signature: hp4igwpu9oc8xa5x3y7rtduee19pqcme X-HE-Tag: 1709933316-352930 X-HE-Meta: U2FsdGVkX1+ueDCGwgd/noX/gT9GfiWRlkTgvw1B6lJ+fSw4YhW5n3Nc/YCBcIcnO8rPOgOwOM+n5zUguPmq06pJjK+kXtsyFrtOe5KdgISUt26YOma90iE/gGe+rVZvLkVFPq1vWeSc+q0jDCWmhSfCgNVZ0qi+tazwMp+uKFJNTWkE1zFdKCwCGNdAFxPcDNBHZ5mUa2eQUXZOKbOSYQyr34pcShf6OsRkrss59SPLLDI0SJCV8/OqWsxOvHfZ0Z6T8O5/uSW1gLd4cXixQJ6x8EWI24gFdDJpaPLTGAmYnfDvV8Cg74ppDdAgPYprly2Ca7tmzHjOtQ/blRRoxdiMVo6Xs1TCUbEm7l8DCemUmBzU2h8+dAxKuV6/AEMmpVKTOPGn5cNvjhO0U9TG0qJOCLcvrHFt3Rxvq/5yRyaUvSrKZ9KHG1DuwMnttSd8lpi2IMEaRVNiAP1hV2IxlhSx8cpyLGPWPOQwU2M2i9XoSAsddjCvj5huAJLnNTcDVJminQwLAs+ujFM2+K4RwUA9Y5GGQjxbeP2HZhlAWDBBxsv8j2Qg/PkJt6In+crIDZPv565Fmc2wbXa92Nkb5LvdPPHk9ymENzs+SxosQvjw4m5r8vYop3z9ONCK7W7v3otA3mgOVrRJQDIcMtbETEADQnPpQHoOhUFKTrg4V5K96ReFPxYzw4VlsfF9chzA1Q9C8LQB3PM+yl42xCRGH2urwPwnv2rHP99xuwVlGPRkrjNAF+re14ryFsvPubzQ+yi4RK1cPWP3MkLZcG1QiLNQsIjj+3k557qxTu6DectstG+A8+tNqGzGhYC4kWEpq/pW3xpi+VmWU80Cr7PNBw+HVkzEodulq+zAsGMxbQCJDe+SPC95gPJ8PZ/SiGGraVc8wvbfFUA0Tq+TUW8tTyeVnG4k8yAtkgmy4NZF/0D5rqcxlLowAAD0d5RuntmwloxUC0GAHsJQji+AIru ypq9+ILC vwdr6huksLCFmXv0N+oVpokps2UE4TPVVOhqtTwmiAUuWmwdBKOUNoQo/qoPZmDKaA+srVQyN6DHYrktTEYonZCtWOhFassjzpAaE1cI8OMg/ZG43DyQZROeKNPZMfb1L85CMR6YerEvMqnH4+xEd7Y6x+dJlRzeR2+kZUZJdtkv0umVZwq0nCOvSgxZBcli73Hlb6Dt3iO/yCx+scKhWCnrBFToaIUkqLgpSthEdXxOzZkI2PMcxK4+ILsVrocOM0HS34tWD1Ds8NO8= 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: On Fri, 8 Mar 2024, Matthew Wilcox wrote: > On Fri, Mar 08, 2024 at 09:12:06AM -0800, Christoph Lameter (Ampere) wrote: >> >>> On Fri, Mar 08, 2024 at 11:27:32AM -0500, Kent Overstreet wrote: >>>> On Fri, Mar 08, 2024 at 02:58:48PM +0000, Matthew Wilcox wrote: >>>>> There are potentiually better uses for those bits. We could turn >>>>> folio_test_slab() into a PageType test, freeing up a page flag. >>>> >>>> They overlap _mapcount, did you figure out how to use that for a >>>> PageType enum? >>> >>> In 2018 ... 6e292b9be7f4358985ce33ae1f59ab30a8c09e08 >>> >> >> This seems to be 32 bit field. We could segment that into two unsigned >> shorts. In fact any operation on a slab larger than 2xPAGE_SIZE is directly >> turned into a page allocator call bypassing slub. So you only need 0 ... 2 * >> PAGE_SIZE for the range of the int. > > Are there any CPUs with PAGE_SIZE > 65535? ;-) Yes. PPC has something like that I believe. Otherwise 64K is popular on ARM64 f.e. > So is it really worth burning all the remaining bits on implementing > ksize with one fewer pointer dereference, given that struct kmem_cache > is read-mostly and should live in the CPU cache quite well? No idea. Yes struct kmem cache must be cache hot anyways for operations on a cache. So make sure to move the object size to the beginning of kmem_cache so that it shares a cacheline (this should already be the case??). Then there should really be no win from relocating the size. But we have 32 precious bits to play around with. That is an important discussion on what to do with them.