Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp7192491rwr; Wed, 10 May 2023 05:18:48 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6aqBeYdrVFLeiA4moV503PUDHoABbaiO5r4rmenI+6v51wEfnAeLlXyB8yJ1z6V7o4rfad X-Received: by 2002:a05:6a20:7345:b0:100:bda9:4b37 with SMTP id v5-20020a056a20734500b00100bda94b37mr11883054pzc.57.1683721128419; Wed, 10 May 2023 05:18:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683721128; cv=none; d=google.com; s=arc-20160816; b=PlPf22fKwmizZvzPBsruJ084Zfosvr+UmujN19YqN+JOf8YmtzHBEN3nQSWOxD9a88 h2He6QCMDZE0rrUuvrb+mM9JOGkO6fV4gaf2upRGFkRrPLqb1k5B9DcATMA/UVexLS1K dH5ZnyL9Kkc2ZuXV4BwtXQKvBUWTZYUU0oRGQHjPfg8EBPLlGsRz/rPTOoYUgZl8TMe9 uTVSrhNedFZIooYDS/bjKnwr8EWmWuT6NDSZW52ZKDpGoKyUAWyjvTn74AiFNX3rSTcs F3JQ+b6ihgPoSr2ZfdmnuKwTP7rvDRqBTzn5HNqMkLtbudcYRevnDML4rKccHKkzLtA3 xkeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :mime-version:accept-language:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from; bh=f12a7aShyrR5apGE8JilCQykfs1j6UtEm7nG9SMpwb8=; b=qjE1QWhTKLdhLVUMSEflmr2oipP3ZIdbo83ykrg9uQHLm0hsRoTfDiQTt/naNyJHB8 PQ4mg11I6PVAbmgoMR054io+l987X6lxdA+QjGFw8BjO2agAg+FTVZx3w3xrHw2tyr1/ gWTnf/Tb5KjdsgTVeuS6HvD4FdiAM79rcgL+7nAPb5Zfb3EH5v9eR37oAB5NGvgweyL6 YJjolfj3FalywUZTtXfXbRaes+1t1/hxlT3HIm2DC8ovn0qfmv4okHv6qPzXrlJtTdFD JGIxXOCCCdSJ15JYTy+eepBuPhOxpMHDyK3Pk+X6gB5/5JSOq5kWxl8z05VQ/0r8+yuB VK3w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v202-20020a6361d3000000b0050f89421524si3858468pgb.319.2023.05.10.05.18.33; Wed, 10 May 2023 05:18:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236778AbjEJL4a convert rfc822-to-8bit (ORCPT + 99 others); Wed, 10 May 2023 07:56:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45234 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236355AbjEJL42 (ORCPT ); Wed, 10 May 2023 07:56:28 -0400 Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.85.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7C1D7DA3 for ; Wed, 10 May 2023 04:56:09 -0700 (PDT) Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with both STARTTLS and AUTH (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-266-ezRNJOxiNHGRFTp6EEfw5w-1; Wed, 10 May 2023 12:56:07 +0100 X-MC-Unique: ezRNJOxiNHGRFTp6EEfw5w-1 Received: from AcuMS.Aculab.com (10.202.163.6) by AcuMS.aculab.com (10.202.163.6) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Wed, 10 May 2023 12:56:05 +0100 Received: from AcuMS.Aculab.com ([::1]) by AcuMS.aculab.com ([::1]) with mapi id 15.00.1497.048; Wed, 10 May 2023 12:56:05 +0100 From: David Laight To: 'Kent Overstreet' , Lorenzo Stoakes CC: Christoph Hellwig , "linux-kernel@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-bcachefs@vger.kernel.org" , Kent Overstreet , Andrew Morton , Uladzislau Rezki , "linux-mm@kvack.org" Subject: RE: [PATCH 07/32] mm: Bring back vmalloc_exec Thread-Topic: [PATCH 07/32] mm: Bring back vmalloc_exec Thread-Index: AQHZgr3DOem8UG0tfU+5LSPSF/vac69TZImw Date: Wed, 10 May 2023 11:56:05 +0000 Message-ID: References: <20230509165657.1735798-1-kent.overstreet@linux.dev> <20230509165657.1735798-8-kent.overstreet@linux.dev> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,PDS_BAD_THREAD_QP_64, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kent Overstreet > Sent: 09 May 2023 22:29 ... > The background is that bcachefs generates a per btree node unpack > function, based on the packed format for that btree node, for unpacking > keys within that node. The unpack function is only ~50 bytes, and for > locality we want it to be located with the btree node's other in-memory > lookup tables so they can be prefetched all at once. Loading data into the d-cache isn't going to load code into the i-cache. Indeed you don't want to be mixing code and data in the same cache line - because it just wastes space in the cache. Looks to me like you could have a few different unpack functions and pick the correct one based on the packed format. Quite likely the code would be just as fast (if longer) when you allow for parallel execution on modern cpu. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)