From patchwork Tue Jan 24 02:38:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Van Hensbergen X-Patchwork-Id: 4437 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1930838wrn; Mon, 23 Jan 2023 18:40:43 -0800 (PST) X-Google-Smtp-Source: AMrXdXu4agh08oOXbFpparTU1lg3LO3AzC4JQE+0oS/MtxV324cT7xnvBmXurSa7X1SXixCS3vHp X-Received: by 2002:a17:907:d23:b0:877:6873:70b9 with SMTP id gn35-20020a1709070d2300b00877687370b9mr27164462ejc.29.1674528043208; Mon, 23 Jan 2023 18:40:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674528043; cv=none; d=google.com; s=arc-20160816; b=Q3CQw07c5Bzf/VvqfWG2GFQ0q01/ST0gGQjqv3JVe+puXK2Tje4EMd02js5q9+NFoD lZ5rPzoNt3LIsZRuiIcA7r/teJ6bHFtRSbI4RIzywCndjTyaB5cEGC+Vemxyic5ovhBL x1j8pCNPGMptiiqyDw43KyA4H+Zjyj0J9FUVtQZw2WlIEKVjNJCqWg/yonE25VCnrhCh 5GU3LnmzdXxCmaFWTCSJsf9EY9WFiiNDQh+juP5DUShnK06to1/Q4Alwko2EMfjQeWJm WwVaWlTwrW1846KyzgOQqAlsdLyY6yvmrLp2wCu54FkrAD/GvJajjddoQiU3EYOYslpR qFhg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=W03lUavWvh+5NbPsinIKPGwjvugxe2minBOHruecpUg=; b=LnhhXk3/0apXeQaxUGN8FypGT3oQtuwLpnLKeOqJLEqy4icmYCS2pP6lT4mtqCnlvU dRiiYl85hEqaWZnovqutEdTf3p2JI0XFCExvmnxGPZpDsk16kjwKDqc4KLHBSN5bqgTE kV69B0EmVYeqRTSOJiikMAH7cmOqN172ZNtMoaPvH+ABHC1K2dFGUZ6BTdmvgAjzKasa kH4JoYfIvLzD9JbPhCCCvNQrSfv+v49Xhi86uGV/Se25eSzdLJnQoIp1337ccKp6t0Q9 iJd4pFThdGfn6r4LBZqEDorHCDF1php9aT6lD93lg5YoNNBAMseDqd5KkFd4mIeSUoio fJ0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QNS87hUF; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ex24-20020a170907955800b007e08e2619e7si824101ejc.860.2023.01.23.18.40.19; Mon, 23 Jan 2023 18:40:43 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=QNS87hUF; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231970AbjAXCjK (ORCPT + 99 others); Mon, 23 Jan 2023 21:39:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53538 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229603AbjAXCjJ (ORCPT ); Mon, 23 Jan 2023 21:39:09 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 650E6303F7; Mon, 23 Jan 2023 18:39:08 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 07C1661177; Tue, 24 Jan 2023 02:39:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8AE4DC433EF; Tue, 24 Jan 2023 02:39:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1674527947; bh=F4sTcOFyWGXSAq6Qam4JIEoGJfFTcWlqfUVCdiEqLJg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QNS87hUFKYpRtzfj7nyDEfEASgBqbRaKmb564FhjdiUgItaDg/ta0btS6/H13vUiy CJSmOqpRkh/dJQvA3ED9Lh3l17vSXmyFKhvhfZrd12CnjqlJZgw2+w52jQkiSaJdKc 39jOnOFohqIP4JYj+IT4Dmyd3FF/Eq8yqBDT+5hDNs8zcl70n6Ih1XDpxx8bZxhuE8 PcKZzLPwFOl8+1jr86yFID4VtvoZpO3qfpXGHn9xiulLIbCQF/X9sYKsxuUSWV9IeF TxBDFoCyAeFlsjePGrk5Qc1JfzERZN4sG9b3+qGzN+DeTT3y5sXK70+xNknavMuz5/ k6qcnWBjGS6QQ== From: Eric Van Hensbergen To: v9fs-developer@lists.sourceforge.net, asmadeus@codewreck.org, rminnich@gmail.com, lucho@ionkov.net Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux_oss@crudebyte.com, Eric Van Hensbergen Subject: [PATCH v3 00/11] Performance fixes for 9p filesystem Date: Tue, 24 Jan 2023 02:38:23 +0000 Message-Id: <20230124023834.106339-1-ericvh@kernel.org> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20221218232217.1713283-1-evanhensbergen@icloud.com> References: <20221218232217.1713283-1-evanhensbergen@icloud.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752596047668354679?= X-GMAIL-MSGID: =?utf-8?q?1755869917366023726?= This is the third version of a patch series which adds a number of features to improve read/write performance in the 9p filesystem. Mostly it focuses on fixing caching to help utilize the recently increased MSIZE limits and also fixes some problematic behavior within the writeback code. All together, these show roughly 10x speed increases on simple file transfers. Future patch sets will improve cache consistency and directory caching. These patches are also available on github: https://github.com/v9fs/linux/tree/ericvh/for-next and on kernel.org: https://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git Tested against qemu, cpu, and diod with fsx, dbench, and some simple benchmarks. Eric Van Hensbergen (11): Adjust maximum MSIZE to account for p9 header Expand setup of writeback cache to all levels Consolidate file operations and add readahead and writeback Remove unnecessary superblock flags allow disable of xattr support on mount fix bug in client create for .L Add additional debug flags and open modes Add new mount modes fix error reporting in v9fs_dir_release writeback mode fixes Fix revalidate Documentation/filesystems/9p.rst | 26 +++-- fs/9p/fid.c | 52 ++++----- fs/9p/fid.h | 33 +++++- fs/9p/v9fs.c | 49 +++++--- fs/9p/v9fs.h | 9 +- fs/9p/v9fs_vfs.h | 4 - fs/9p/vfs_addr.c | 24 ++-- fs/9p/vfs_dentry.c | 3 +- fs/9p/vfs_dir.c | 16 ++- fs/9p/vfs_file.c | 194 +++++++------------------------ fs/9p/vfs_inode.c | 71 ++++------- fs/9p/vfs_inode_dotl.c | 62 +++++----- fs/9p/vfs_super.c | 28 +++-- include/net/9p/9p.h | 5 + net/9p/client.c | 8 +- 15 files changed, 256 insertions(+), 328 deletions(-)