Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp4497197ybx; Mon, 4 Nov 2019 14:23:21 -0800 (PST) X-Google-Smtp-Source: APXvYqztb63dCpwEh/Tqhus7qyfTythUzXcLAnRlXsxqFr90GglxNYN62DGv/n4Xc3xwbFDMn1+N X-Received: by 2002:a17:906:79c9:: with SMTP id m9mr25636407ejo.297.1572906200927; Mon, 04 Nov 2019 14:23:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1572906200; cv=none; d=google.com; s=arc-20160816; b=BXGsyaO1UySplhXHF75XUeogcQbTLQKYWvIvJeTDn+DtDEgRvJXkQluNkjacivmqdz 3toHxj9cTcmsUfJBbao75iqXa0ijYSiVoyPDZeSOFXcfOTcG3bEZQ7RKtQnXjLwqv0/h KJYIGREkVcWd3+Jr6JMzlmPOUR04KotCia6W2TwclRS8rguGih4gvn/bXLe5MENz8qNf dP9NsbxQz9UXFPe9WgNSjHF6w5uLVvDA4t5lkgKfDg5X2MWEyGe1A3UsBCec4nLjlpqC S7DUSE9eVMnubiW2V3EWEfKM3/A3heXUnwh3XlPN8QxNIQrc82Q7nU5riea//zunOg+h h98A== 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=1KkKAymBVZZxMw5U0aIxLtLTPriUmTN4j+9jemtODbg=; b=ROpvmpB0Sts1S+yezrkqDyGjNx4yl9m2U8ZKuHs8PA7XFyVY6dl6IF0bW7oeDv+xWi VC/OPAKCf7+5JeFKwM1WQ7F8+9Ih97wx0GcHA9mxtA4oSrOCLdXTwG70fq1ue2wixh39 mJmAeCNcvx4APVmcmdk5kHT/+J4mck51WSrOGGCp0u69uRMlzF3CrkyAALMB04Bwnk/f dEpxwCq+aXf90PeHvS5TL7cAsQ1IAhMkVGHvtmWZRiakLUZs5wGlJYvs97531+YOkW+O TpgmnLj8PyJpiNWc21Zyyu1MwPzc0tKvSTYsMaxjysPj8dGxSY50SSR+C3pULnpAvQUP 53PQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b1tRgM5n; 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 s22si5865332ejz.245.2019.11.04.14.22.57; Mon, 04 Nov 2019 14:23:20 -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=b1tRgM5n; 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 S2388376AbfKDV4a (ORCPT + 99 others); Mon, 4 Nov 2019 16:56:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:52000 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388330AbfKDV4Z (ORCPT ); Mon, 4 Nov 2019 16:56:25 -0500 Received: from localhost (6.204-14-84.ripe.coltfrance.com [84.14.204.6]) (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 E76AC21D7D; Mon, 4 Nov 2019 21:56:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572904584; bh=mmCyMoEi5q0DzQrl4wcc7xUC6DBbuTlcG7S2lUHES90=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b1tRgM5nyIvusDweyr1BIB4/SpLSlVVlKx2+ul6jw6qe7P7FfKscC+oKTFv9j5Q71 IAe2HViPZvVdpBA/zC/oELhO3iWvx03e+6UQG5cEGznmA/jsgsbh+IXxImShEYCeqA chVyXaFRdrg1h4FK818EvYSs9UufgH+E6XeZrbsM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vratislav Bendel , Brian Foster , Christoph Hellwig , "Darrick J. Wong" , Alex Lyakas Subject: [PATCH 4.14 93/95] xfs: Correctly invert xfs_buftarg LRU isolation logic Date: Mon, 4 Nov 2019 22:45:31 +0100 Message-Id: <20191104212124.782825738@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191104212038.056365853@linuxfoundation.org> References: <20191104212038.056365853@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: Vratislav Bendel commit 19957a181608d25c8f4136652d0ea00b3738972d upstream. Due to an inverted logic mistake in xfs_buftarg_isolate() the xfs_buffers with zero b_lru_ref will take another trip around LRU, while isolating buffers with non-zero b_lru_ref. Additionally those isolated buffers end up right back on the LRU once they are released, because b_lru_ref remains elevated. Fix that circuitous route by leaving them on the LRU as originally intended. Signed-off-by: Vratislav Bendel Reviewed-by: Brian Foster Reviewed-by: Christoph Hellwig Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Alex Lyakas Signed-off-by: Greg Kroah-Hartman --- fs/xfs/xfs_buf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -1702,7 +1702,7 @@ xfs_buftarg_isolate( * zero. If the value is already zero, we need to reclaim the * buffer, otherwise it gets another trip through the LRU. */ - if (!atomic_add_unless(&bp->b_lru_ref, -1, 0)) { + if (atomic_add_unless(&bp->b_lru_ref, -1, 0)) { spin_unlock(&bp->b_lock); return LRU_ROTATE; }