Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp5658569pxb; Mon, 28 Mar 2022 15:37:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzkF1xKQZWEJpa26prB4v/EknV4pv3fje7FqgzSZ0PbRr4YrOeAz9f0+kMgISSmKX/HBTmf X-Received: by 2002:aca:90c:0:b0:2ec:f120:c705 with SMTP id 12-20020aca090c000000b002ecf120c705mr757905oij.46.1648507035415; Mon, 28 Mar 2022 15:37:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648507035; cv=none; d=google.com; s=arc-20160816; b=Um47+SV3hqZ+P7JxScvFcfzPIFASTVCbTp69lJlOsBQf7cbVmyyEJDoIzM/6Kh47gM tqaJO6YPJI5B61p9HFGsroHbeax9FOz83gsAbzlI6dr+Xnbc9H6pVdUZoVoQPBdI9SUw KbBtTDZ6fuiIt6jn/B09npyGlTQKt3AtYx8lCSNfpze+YVDZ9hoUAXW+N1rYbuCURoNT I+Vabh54QySmwSk4epIblDr4rR6fM+x0JEYFLmr2E0D8G5bQr/+KYaDc9inmJxs3yAmG SJeyTrt+3Xc9thN+uY+j4WweZPr+wMogOpBjkfYYGcHM765llyJvcS0WILZPAZVnjj8I 32pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=jWyzW8oQNBcwyhWaIYleL7ywTKhHnh+W/C0J8UEhVa0=; b=dc5K60ZiCIfhX6Fg08G36pm64lTzkZA/jtRWPB3ysQxhruFJlor50xDykLAvrngXVp JqO4IvIuSoStrhWjNQkiVm4xvBbY2I3oERQaYV+AKWYZJqz9bCDixd3+snpqQaWGEo/Z PQIttFaAVU0E8IIby9IZ+otDelia8cCpz7e5TaZ8LNLD5fUBW1V3TDkGR9XhBLexktPi lamA2O5Zabk8DxzS5CsIi/seZDDFc9ZMmuC1pnK24jNrK7Bu0yJ+7/hLdyVU328Xfs2d YA3lT281/HHGl6RTuwgbcARPBXm1V/ksI0+ekCJ3Q33I+ePGDb+sOhbOmu4t7Gx/gVB2 MLtg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (bad format) header.i=@dorminy.me header.s=mail header.b=PqYq9MWB; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=dorminy.me Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id z23-20020a4a6557000000b00324bb47350fsi12207022oog.47.2022.03.28.15.37.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Mar 2022 15:37:15 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=neutral (bad format) header.i=@dorminy.me header.s=mail header.b=PqYq9MWB; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=dorminy.me Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id F28C43F336; Mon, 28 Mar 2022 14:45:25 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344327AbiC1UQO (ORCPT + 99 others); Mon, 28 Mar 2022 16:16:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43498 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245662AbiC1UQO (ORCPT ); Mon, 28 Mar 2022 16:16:14 -0400 Received: from box.fidei.email (box.fidei.email [IPv6:2605:2700:0:2:a800:ff:feba:dc44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C03C32655F; Mon, 28 Mar 2022 13:14:32 -0700 (PDT) Received: from authenticated-user (box.fidei.email [71.19.144.250]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by box.fidei.email (Postfix) with ESMTPSA id 1462A8067F; Mon, 28 Mar 2022 16:14:31 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=dorminy.me; s=mail; t=1648498472; bh=jvZ/M7nXu49knBA535WeV4u87bF3SfI+fTlPPOny4pI=; h=From:To:Cc:Subject:Date:From; b=PqYq9MWBNlPs93L+A4jUn+SiiOX4D83w0+tWZ2fcTHrtCw0XhaNedfsvgbupUIfQ9 5svJX0hzOXFvrsWi2iRRFjfjVHwjk7t9hlyrq7C+B3h9l+9TAcPV5JJB4jn3NzusX4 8QnGu+YLZJCizIzyLZ69j/6mApybDkXnvAqLqs6N14zZUGWAlCFlsFgcul/EiGWZ5x 4loEbY2at99WbZr+OBIpgZyOMPpOmj2nQdnUnddXjCHqtn7Owh2hF1sdZqdepJx0tZ bxO7iFo5kv1tp1lafOE5/a61wwV7hXBET1jqx2zU8QSBM2Xk4px7VYA7nm26Zx2cdX j7hHojMzbTqlA== From: Sweet Tea Dorminy To: Chris Mason , Josef Bacik , David Sterba , Nick Terrell , linux-kernel@vger.kernel.org, linux-btrfs@vger.kernel.org, kernel-team@fb.com Cc: Sweet Tea Dorminy Subject: [PATCH 0/2] btrfs: Allocate page arrays more efficiently. Date: Mon, 28 Mar 2022 16:14:26 -0400 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,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 In several places, btrfs allocates an array of pages, one at a time. In addition to duplicating code, the mm subsystem provides a helper to allocate multiple pages at once into an array which is suited for our usecase. In the fast path, the batching can result in better allocation decisions and less locking. This changeset first adjusts the users to call a common array-of-pages allocation function, then adjusts that common function to use the batch page allocator. Sweet Tea Dorminy (2): btrfs: Factor out allocating an array of pages. btrfs: Allocate page arrays using bulk page allocator. fs/btrfs/check-integrity.c | 8 +++----- fs/btrfs/compression.c | 37 +++++++++++++++-------------------- fs/btrfs/ctree.c | 32 ++++++++++++++++++++++++++++++ fs/btrfs/ctree.h | 2 ++ fs/btrfs/extent_io.c | 40 +++++++++++++++++++++++--------------- fs/btrfs/inode.c | 10 ++++------ fs/btrfs/raid56.c | 30 ++++------------------------ 7 files changed, 85 insertions(+), 74 deletions(-) -- 2.35.1