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 492FBC46CD2 for ; Tue, 2 Jan 2024 22:18:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B49536B02B1; Tue, 2 Jan 2024 17:18:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AF9006B02B2; Tue, 2 Jan 2024 17:18:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C1566B02B3; Tue, 2 Jan 2024 17:18:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8AE826B02B1 for ; Tue, 2 Jan 2024 17:18:27 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5B9931A010E for ; Tue, 2 Jan 2024 22:18:27 +0000 (UTC) X-FDA: 81635785854.04.DCFDB5C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf02.hostedemail.com (Postfix) with ESMTP id 0CC0780013 for ; Tue, 2 Jan 2024 22:18:24 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=CTR97ZDO; dmarc=none; spf=none (imf02.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704233905; 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=rzOr3Wv34tyIp90a/09FmAC/QNGqYZhSiB74+R3UGGA=; b=Njn57fAJPodxqeT295zhDU53s6ngqrggsvNVZ6LvjnH1RX7/TsD2Oc3uw577Tj2eU/lFRN QwVV4AIgjPssLwWuNLbcNbO0LEKjEZRSL73y3wd8/zMZHx47ZZ9yuSss2dGQEbqLkiwJcs d9ng5PLeGqDJjwGKEJKk4tShMzxrPcM= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=CTR97ZDO; dmarc=none; spf=none (imf02.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704233905; a=rsa-sha256; cv=none; b=kT+Y8oq80p3LfukiWs3rdHcZXteV5IZc1u5RWWR5RwRMVTHmvA9cdh6/cq0e2awrG72g1r S4uMs8Ox30j3Ayq1aNB4YvWFyCor05DpnlOppH7qY5G/FSaqqjHZlTaEYGzI4F0sqnBSxp hsksjMGPeOHFgyYqvmCPM1UUmpCCVW4= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=rzOr3Wv34tyIp90a/09FmAC/QNGqYZhSiB74+R3UGGA=; b=CTR97ZDOfcPf4k2rEA5KgzXFdR q5ynUbuLQMUgRDDEk9BlD0T92pCkUYYOZi+CMeuPoCTPhflP4he1hNv/EgVSYLvmUtXmAGIwKP4lR 1tcPUWY0L44X8QYU1npNyy6OVpMtbUO7jgLVMjkLMg9uPRPVdXfSTHZg7SzIHahdkS+cwspOHsA4g 971F3W4dT3DVQRIvezPJQqZFzTKEPJSj0PzUO2VxSzkuxZj+Hs+XB+CUQycu/T0wh5L4OR7WezkXS vzsOQQy8L+oysjTSQ+eCjlE7UoCUE47VhhyqM5aY5cQ+11BBSxtlErmK8KKqBL5p283pEsqkq8up8 10gt4Tog==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1rKn5S-00BK6Y-Ba; Tue, 02 Jan 2024 22:18:14 +0000 Date: Tue, 2 Jan 2024 22:18:14 +0000 From: Matthew Wilcox To: David Sterba Cc: kernel test robot , Qu Wenruo , oe-lkp@lists.linux.dev, lkp@intel.com, Linux Memory Management List , David Sterba , linux-btrfs@vger.kernel.org, ying.huang@intel.com, feng.tang@intel.com, fengwei.yin@intel.com Subject: Re: [linux-next:master] [btrfs] 8d99361835: stress-ng.link.ops_per_sec -18.0% regression Message-ID: References: <202312221750.571925bd-oliver.sang@intel.com> <20240102162620.GA15380@twin.jikos.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240102162620.GA15380@twin.jikos.cz> X-Rspamd-Queue-Id: 0CC0780013 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 8bygpqwaha67pxrdtyx3i1oj8rbdccw9 X-HE-Tag: 1704233904-515429 X-HE-Meta: U2FsdGVkX18LKRtl5CSdliCVSVPXnYsBg4+8UHDI7RBT/+dzrkVvQrMspzvlK6fcLxL3TWbB8yoC/WVKAw28JnTq2gBATJIu+1sZq3ZXCE6xyv0alDUgC9+G4vijeQ8U0mPGUmXMuJ6q7ImztoQKoATmfRMVs2tX9NeJaQoXgJgKL0maWSxC7Snm82mnfrxh8nawX0k3oFxeJoyGW/pwkxeQIaSpH65xp6CNwbT3KbPgOU2k7cumLMaCSWNokx4yJuxb/kYnQua0+SKubEX/gWMlAXvSvIkQAi+io58Qwa9yazbOzFPhFH5W7FUjpNcNK4568v5z5nXO+z0iLg7e7dER0MQO0v2yhc8jTkPQTtasXPhbNyMwhYt69h9Hctn4qlDquVWSyud0MD//ahxeoze2uqk9nvKdANQaZ05ho8oAYE4JrbCi48/2g0LCBO/Ukorw9VOPl8ZHKsr3sV2nVTTm7G/eLxKf/jzjOaKB+VNgIKp3nscWOIxwfLH8DhTJfzjdxsLMoDry1sO18lNAFgYjf0ItUhhKR1lIZ3ZGb8E2fIPM+6p7+4VGC8t5AzjhsDbu/fumdNC1S6pdfz9VatVcCDlZ+PZhRW+ZnZHt4Bo6JI/1bMQJPSZjOQnCrynK6mZfB7hEWLc2EjA3H6J+11k0HdRAbwlNEEQHyfmjN+iIyVbWb9RgfUa2P/rs/km4CoCkmeqzpjOFenIa8Y3CLXdLp4iR1kf31zMhCbnxOq5s4kgfgM5mqPlrt3rqXRi8yuHzjPAsH+IlgznAVMPABPk21cQaedVxV8gruhIv/1UfIhpsx1L0Y7JclnTP61rKLEsuU8ZPiE3CY1AmKJkn3JSk9e2ivlyZNQh9Ry8LtbgOqUU4q7ZoWmjACftwFO4OjSj7CeSMsBnSlrWLr+OSJ8s6bytERtiIYZ0Ma/vrTfzw0cxMrTTzwz+hFP5RiyMg/ZALjRd6BpWJGlM209M D952LZhO +e+0TNAtBoi4C7yO3uyIv4YPp5+dUFHG0w0A9c4ZxGu2bpcQcM7IIpuqtd5L9KwzyKh5PCushBw5RdBVAPlXuuP6LtCUzj3WeakCdhQyH/BPsDTKPf37iKCuAReZ9OxKNqFrfT7JjPEJGV76mrnRrWA0j5Ep7LcwkSBykKbxOv8xTfZx9WWIxlevU6dRkrn8AVKJrhJLYcrX55Cz4WhyCRxopMt9A0QBccdUckcZ+udP0A0BDZc1Qw0yBng== 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 Tue, Jan 02, 2024 at 05:26:20PM +0100, David Sterba wrote: > On Fri, Dec 22, 2023 at 05:59:34PM +0800, kernel test robot wrote: > > > > > > Hello, > > > > kernel test robot noticed a -18.0% regression of stress-ng.link.ops_per_sec on: > > > > > > commit: 8d993618350c86da11cb408ba529c13e83d09527 ("btrfs: migrate get_eb_page_index() and get_eb_offset_in_page() to folios") > > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master > > Unfortunatelly the conversion to folios adds a lot of assembly code and > we can't rely on constants like PAGE_SIZE anymore. The calculations in > extent buffer members are therefore slower, 18% is a lot but within my > expected range for metadta-only operations. > > This could be improved by caching some values, like folio_size, so it's > a dereference and not a calculation of "PAGE_SIZE << folio_order" with > conditionals around. You're in the unfortunate position of paying all the costs of a variable folio size while not getting the benefit of variable folio sizes ... There's no space in struct folio to cache folio_size(). It's an loff_t, so potentially huge. Also there are people who have designs on the remaining space in struct folio for a variety of purposes. Would it be better to be PAGE_SIZE * folio_nr_pages(), which is cached? That's at least dereference, then shift-variable-by-constant, rather than dereference, shift-constant-by-variable.