Received: by 2002:a05:6358:53a8:b0:117:f937:c515 with SMTP id z40csp5337468rwe; Tue, 18 Apr 2023 05:43:00 -0700 (PDT) X-Google-Smtp-Source: AKy350ZzG561kSmE09K6/UBTDnoPoFmJcwgE67Lt3oKnGSSWQx3OLOi/O8ZIjP2+q039lEwQefy1 X-Received: by 2002:a05:6a20:29a4:b0:db:9131:dd7c with SMTP id f36-20020a056a2029a400b000db9131dd7cmr16820923pzh.39.1681821780733; Tue, 18 Apr 2023 05:43:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681821780; cv=none; d=google.com; s=arc-20160816; b=aLM9G53G1uCLGgu9aa30PaKRpqVvH9o6OSWB4w2Tz3/tVlhfAbxjxPNP/leL+COMZI CgRZ6neORH8tURpyHnCs5FQyEAHkKpOAVBRYtwKBUQb1fcO9eoEXONeVG7OfG10XtTER JuTtaUL8b6ZblSKwpTFcEwDM8XhmEMfdja9INdBe4z2ZjiUGWf1JyLuAMoZJVsJlb2O7 4tzJhlgwLFAbnOQKNB9IVDosRjcFt14jHLvWFUN/TgER/vOhK7gEWLy6UmvYO9ZBqkh5 GbZgzqHJtog+iVpjt0ArD9S1ha36Q/3PPxaS9R3Xs8LhLgwyjuJNjnBJ3qda8dqiOuz8 qh/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=4zZaPJzshEnDWklD8XmiXWEZ2laXp6xq95Vi3BXmH3M=; b=nHQY1rrDInPR9aueYYpz9m4hQcs2fQTpOoCLf9VWgVCEJLl5yi7ZSWBNas4UIZPYpz yGkqB4mARM2b9+NvFLtM2wbvPO+v/sIKUNl66HSaUeOJYisE7ND4//PDyiSKEBR8LIIs W1ORiWF1uTUdSSNE2144OarW/FGYrmvmtnKA160uHC094/zGIemhjoiOK5bSkwXbeMWL xI7mk/h/ovt8Pdf7DfMa0RlEVU/cRCJuqDgRM/aBzNS7N58kXsZuenInSDv8s09pB8n8 FiZRTTpeOcRSIbA/WoKjZY/uX38ivGDMhXXQDIyO9p51drM1J4sWMKjg5pMCc009vyjy ljIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@szeredi.hu header.s=google header.b=Yh8+fClk; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=szeredi.hu Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b3-20020a656683000000b00518ac7d0af9si13226441pgw.713.2023.04.18.05.42.42; Tue, 18 Apr 2023 05:43:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-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=@szeredi.hu header.s=google header.b=Yh8+fClk; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=szeredi.hu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231874AbjDRMm2 (ORCPT + 99 others); Tue, 18 Apr 2023 08:42:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231888AbjDRMm1 (ORCPT ); Tue, 18 Apr 2023 08:42:27 -0400 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 603A31447C for ; Tue, 18 Apr 2023 05:42:16 -0700 (PDT) Received: by mail-ej1-x62d.google.com with SMTP id kt6so34649939ejb.0 for ; Tue, 18 Apr 2023 05:42:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; t=1681821735; x=1684413735; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4zZaPJzshEnDWklD8XmiXWEZ2laXp6xq95Vi3BXmH3M=; b=Yh8+fClk+o4D4gN8FJFTMYOCEQykSAR2N3lXlhxFRH819DbCxelSwny3X6namwWRKU GxdHB/kxfY5kKPhXMtKtAtd/y/y32MzJB8S7woLN7Gss/q2DnFE02D3CbBe2PY+vXqyR 0xkkpGaSKQIswmlxjMdxhpyCvsd/ciuJaVhWY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681821735; x=1684413735; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4zZaPJzshEnDWklD8XmiXWEZ2laXp6xq95Vi3BXmH3M=; b=JMUQPyKtoN6RTIOc84aylQGViBISKke55Pd2laDx0jyuddYVkYwoIcw+xo8flZjbO0 gzFuqSv4+6S9oc5UG63ndSwrnn1JVR4t5O+eP39bqdFv6yO7pQ6CKYB9Ic+oLVuY2Jwu iFRzDAG1K2tny9GP+NiTEgFgG97CEa6Q8ao9+3aQgixb20zmktKPlPOqBYpyl773EWae zy63k3sq3Df5vZWSIfEK1J08wavlRV9sjzxOqaiWJn8I0wkgzy0VFQML3oqGNB0ox68b KpcuYb6X9gctbMreZw5fq3YTow/RGYYM27UHLqxf0bSMLpKRFhzkEAo6tT95DCCeYj8h j+Rg== X-Gm-Message-State: AAQBX9eLt8LFUD78htfx/3eNssD5xH08kSydscGPtHijBKpm3DgTwf8p CVzMEc7v4r0fCzrAxdjyD17L/K6Awl6ptp7VFkpZpCSY4kR2JgQ0W1cZOw== X-Received: by 2002:a17:907:3f24:b0:94f:19b5:bafd with SMTP id hq36-20020a1709073f2400b0094f19b5bafdmr12536182ejc.42.1681821734894; Tue, 18 Apr 2023 05:42:14 -0700 (PDT) MIME-Version: 1.0 References: <20230307172015.54911-2-axboe@kernel.dk> <20230412134057.381941-1-bschubert@ddn.com> <20230414153612.GB360881@frogsfrogsfrogs> In-Reply-To: From: Miklos Szeredi Date: Tue, 18 Apr 2023 14:42:03 +0200 Message-ID: Subject: Re: [PATCH 1/2] fs: add FMODE_DIO_PARALLEL_WRITE flag To: Jens Axboe Cc: "Darrick J. Wong" , Christoph Hellwig , Bernd Schubert , io-uring@vger.kernel.org, linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org, dsingh@ddn.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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-ext4@vger.kernel.org On Sat, 15 Apr 2023 at 15:15, Jens Axboe wrote: > Yep, that is pretty much it. If all writes to that inode are serialized > by a lock on the fs side, then we'll get a lot of contention on that > mutex. And since, originally, nothing supported async writes, everything > would get punted to the io-wq workers. io_uring added per-inode hashing > for this, so that any punt to io-wq of a write would get serialized. > > IOW, it's an efficiency thing, not a correctness thing. We could still get a performance regression if the majority of writes still trigger the exclusive locking. The questions are: - how often does that happen in real life? - how bad the performance regression would be? Without first attempting to answer those questions, I'd be reluctant to add FMODE_DIO_PARALLEL_WRITE to fuse. Thanks, Miklos