Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp8419768ybl; Thu, 16 Jan 2020 16:31:35 -0800 (PST) X-Google-Smtp-Source: APXvYqyS9X+P87yT4U3dpeYu9kvPStU2GdiFkP9C9O9Qw4I2vU3hXom/OZAd0acR68PD22A7nflr X-Received: by 2002:aca:36c1:: with SMTP id d184mr1513637oia.70.1579221095364; Thu, 16 Jan 2020 16:31:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579221095; cv=none; d=google.com; s=arc-20160816; b=MvyYoI6RTySnDiX3QBvHUNN4sUhwDzhoFoEyUk8tcMAZPWMjktukjci0PP96GThMer 6hpO9COQDtpwBN69SAc+ZWFUPkux++o3DxT7kVkQAs1nbcUyykv/NlF3/XmsUPIZtmmy HE3J0yFvStE+hwV3Sc8eklh5qdwUnjyMNQAWIkAaidIDPbYOW5+5luNQG742sDmnopSG 4W9hEUVVHibOZ+hgtUWgslzpeMZyHNdVSuTfbuk3WyOc18sEIRKXoc3xuxtLAllLJIvX 63CqPZ3WzI7BP1apMK5MzGKko7vVkdK4Upw62RdOC+dGkzlo7LxPKY5UnG1HYx5Wy3q8 TXbA== 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=DpZpRcWzAkD6zVhKBwfnmR9oSPmhstVdkAFNcTMxkG587IxKCsk/p0O2SeYhFZRmAW GTFkody+WLWe9yPv6LuvtuskTNUO//LU+kHWsoYpCebJA3uBVwi0QqN89Ry9SdrPwBVz G4qOgD3pbGy8ebLNoxD0TpHYH/sI3R8M1+SEiU8FpD2OhjNv1/spmpoIyD87zXHEoCuY wox0t2pxEBZZf71CKbQsmrXKHls/V4w1Pua/Q+8ZV72UV502dIANrwpgYXocezbheEDP G8kl4uiBnIvMIw38acKFTVjm8+CCNrzGrUR23F26iF6yxppY1omd0c7Ro+mA7bp42Y1n 4W0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b4kQJbPu; 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 p12si12724407otk.141.2020.01.16.16.31.22; Thu, 16 Jan 2020 16:31:35 -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=b4kQJbPu; 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 S2390868AbgAPXVu (ORCPT + 99 others); Thu, 16 Jan 2020 18:21:50 -0500 Received: from mail.kernel.org ([198.145.29.99]:49294 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388978AbgAPXVq (ORCPT ); Thu, 16 Jan 2020 18:21:46 -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 6143420748; Thu, 16 Jan 2020 23:21:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579216905; bh=JSuBphsjuh0+PpEiMvHb+bCx5t9x0cjW3CLELLPZeHc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b4kQJbPuUkGdH9MflN/Y+AaeNB6Yhw8GqhrgOhC/RsYmdabTzk+Nx6I5O/c0AxVR5 OGeiE5po1Ib/UF1E5/Xlr1bmGqpVtxjjndn3V6GWtC3g4zXllfFHHRrEhZWLO0KBf5 P+NrBl1RtT7AVWiTvj2Tngn+e8RVI1b6iRSzrc4Y= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Goldwyn Rodrigues , David Sterba Subject: [PATCH 5.4 052/203] btrfs: simplify inode locking for RWF_NOWAIT Date: Fri, 17 Jan 2020 00:16:09 +0100 Message-Id: <20200116231748.526335217@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200116231745.218684830@linuxfoundation.org> References: <20200116231745.218684830@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); }