Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp8510965ybl; Thu, 16 Jan 2020 18:26:44 -0800 (PST) X-Google-Smtp-Source: APXvYqyakzFEVH1GgAYjt9BeSKDRy3iiBfLyuBsPeSTPuXbs81+GcfteEOCLOr1G3URdMIdJGxGL X-Received: by 2002:a05:6808:8ca:: with SMTP id k10mr1790890oij.164.1579228004689; Thu, 16 Jan 2020 18:26:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579228004; cv=none; d=google.com; s=arc-20160816; b=Q0PpOb4k5oecphyPFsNBFzeWF9tnMdpNoHWQ9BN1fBbLjTkR869y5Gin15KElta9x6 9oA6YS0V3kObxDdB6XsNAV9Kl4+WXyHIHSVJJhfUCvOJjI/8vNqtjxHMbyQ2yY/JaNDS /SNik/LvY2y+SNbu7LXlFgmHSdn+CsEQQKLl/+7vTmxDF1gKge5/uIGgmXkMt0Apls3+ +NRMrHqWEKyz0+EPNV/yYp/sBBVGyWN6jZCz+VyVDi7BvgB0t0NchSmVV8g9SH/9rJ8e 4QjABZkkRFxY2U8RvJEdd3igI0I4gWtsWzH+EvYD/rYcDlffkkltmYfKWmp6KywVlhxk X9rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=R6wCNILkMvcMTJ+sCB9A8S2jJ/5xNeOTATohqy/gdEQ=; b=RBERHWqLamXweuD0fhf+obfzSZRnqrcXIbwPHHfRCKfuByRTyZKbw4WjBSqUZZ4SX6 HthVJUIAxxI40Drh6EvYP8sWQ0z3Zbjyi4ge0SY71amSzwhw4prcK9gv6lk5WpbV6oST oEuY3ocKsuOQuMxjkiU11ik3gb0DkudKj42bvHQ5PiDar0d7iunFmGHHHoFBJIeCBLpt PTsLCp1H60fPzBHgDRc+u3IB8v7pnVh4zKHINnX1rYGqCA96n8A+5cNFSi/bimuLC6EO XMA36TfONLXJHkzkc782hmp6tru/rgqfIhBIys+sp/lZEAaMwMv/qaY+VvujmUQpFcaD 3sRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=nqgpf7fz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m8si12641820oim.180.2020.01.16.18.26.33; Thu, 16 Jan 2020 18:26:44 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=nqgpf7fz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2403749AbgAPX3v (ORCPT + 99 others); Thu, 16 Jan 2020 18:29:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:35696 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391336AbgAPX3o (ORCPT ); Thu, 16 Jan 2020 18:29:44 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4A022206D9; Thu, 16 Jan 2020 23:29:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579217383; bh=JSuBphsjuh0+PpEiMvHb+bCx5t9x0cjW3CLELLPZeHc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nqgpf7fzk95CcAfEMo9u9ksZQwy2R184yvc4zxCvg35rt1/yTb8vpFUcWvuHdUYoh 3tg945Wsx/nL+DXbJKHQdzACh5cNruPFMcylGyXyyVI8Ftmy2ib90SBKbtLPVmF/hP 2imWHPCS1a99/3xmV5SiiFdXsgkxiMyr5y6s5+rs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Goldwyn Rodrigues , David Sterba Subject: [PATCH 4.19 34/84] btrfs: simplify inode locking for RWF_NOWAIT Date: Fri, 17 Jan 2020 00:18:08 +0100 Message-Id: <20200116231717.760212736@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200116231713.087649517@linuxfoundation.org> References: <20200116231713.087649517@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Goldwyn Rodrigues commit 9cf35f673583ccc9f3e2507498b3079d56614ad3 upstream. This is similar to 942491c9e6d6 ("xfs: fix AIM7 regression"). Apparently our current rwsem code doesn't like doing the trylock, then lock for real scheme. This causes extra contention on the lock and can be measured eg. by AIM7 benchmark. So change our read/write methods to just do the trylock for the RWF_NOWAIT case. Fixes: edf064e7c6fe ("btrfs: nowait aio support") Signed-off-by: Goldwyn Rodrigues Reviewed-by: David Sterba [ update changelog ] Signed-off-by: David Sterba Signed-off-by: Greg Kroah-Hartman --- fs/btrfs/file.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1903,9 +1903,10 @@ static ssize_t btrfs_file_write_iter(str (iocb->ki_flags & IOCB_NOWAIT)) return -EOPNOTSUPP; - if (!inode_trylock(inode)) { - if (iocb->ki_flags & IOCB_NOWAIT) + if (iocb->ki_flags & IOCB_NOWAIT) { + if (!inode_trylock(inode)) return -EAGAIN; + } else { inode_lock(inode); }