Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp170294imj; Thu, 7 Feb 2019 02:24:13 -0800 (PST) X-Google-Smtp-Source: AHgI3IZmo5cqHrKfIm/VV8H9F0qUbmXeOfTJQ6fERAgQbVIf6zGVg9pc9eVLCLbkEF7HLk4sQw3+ X-Received: by 2002:a62:4851:: with SMTP id v78mr15486969pfa.97.1549535053767; Thu, 07 Feb 2019 02:24:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549535053; cv=none; d=google.com; s=arc-20160816; b=0Siy5EFVmz5+v33r4sPEhJYw/1j8zt7+rWWB0cLKyn8NMfOfjMSVfWZsAf9dBW48x2 HsBbmEibyou6RwfBa4nlItTQsw//WhfnzrAgM13/JmnJyDBFWX7TvZRl8nzBJiaC6JH5 +Nzst9IGCaK6FSaYMqtBRxQTUHxcGUqVrTRQf2jwgRBrGlg+4++ZmWt7BBYvME+goRst TidnKfFDY2Id2i0U1xqmjMAlx1HcJWO2D6Ons1p5oOKoGOIqw/IK6jR1Eqd5WYRUg48i GY6H3TDvuBW6pA00wpj2ftOIR1Zre/53pfBi4102qjALWdq3sXhYcjjSsBPXhgX+XI52 LuHA== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:openpgp:from:references:cc:to:subject; bh=WI45Y5SppbrQjqDjh+5DJgcP+Xvw2ZTvN2VUbgTMiZE=; b=QfTP2VinOXIY0/XQR4n8ZKAsbymKM9MMGmkb+RfYSegc5qkCLaXG7vxoRkduPP03aT a9AGHDb20yaWFnsiRqhqt9bN0zCBUuArzaWzRUL442oqy85HOOXSQMj3tdJHJBrEyZAs xo93KTmUK37gHwIrAM/aQJjWXk7IKAXpez4v03/XP1nlR4A4iLi7dOOpQK+ryHzmZpwJ ZPopxCJxby6JgrRfdBCSUujlH7KlcAZZJVw70aJK6nzofNTyYHJsVSKjneglH0XGOGOr /NuF7tD7YpCeFPKybmuGm8TRjRQBHECMmabz0xYIVgYE5nNOhCiw+LTaANolIpybvCiH CO8g== ARC-Authentication-Results: i=1; mx.google.com; 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 l129si3274606pfl.284.2019.02.07.02.23.57; Thu, 07 Feb 2019 02:24:13 -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; 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 S1726708AbfBGKXx (ORCPT + 99 others); Thu, 7 Feb 2019 05:23:53 -0500 Received: from mx2.suse.de ([195.135.220.15]:43900 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726186AbfBGKXx (ORCPT ); Thu, 7 Feb 2019 05:23:53 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 337C0AD23; Thu, 7 Feb 2019 10:23:51 +0000 (UTC) Subject: Re: bcache on XFS: metadata I/O (dirent I/O?) not getting cached at all? To: Andre Noll Cc: Nix , linux-bcache@vger.kernel.org, linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org, Dave Chinner References: <87h8dgefee.fsf@esperi.org.uk> <64f32487-5b8f-f6c2-37a9-84bb0717a9e1@suse.de> <20190207094138.GZ24140@tuebingen.mpg.de> From: Coly Li Openpgp: preference=signencrypt Organization: SUSE Labs Message-ID: <41fef785-1e38-87ea-115a-4cdb7e86ed18@suse.de> Date: Thu, 7 Feb 2019 18:23:44 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <20190207094138.GZ24140@tuebingen.mpg.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2019/2/7 5:41 下午, Andre Noll wrote: > On Thu, Feb 07, 16:16, Coly Li wrote >> From: Coly Li Date: Thu, 7 Feb 2019 15:54:24 >> +0800 Subject: [PATCH] bcache: use (REQ_META|REQ_PRIO) to >> indicate bio for metadata >> >> In 'commit 752f66a75aba ("bcache: use REQ_PRIO to indicate bio >> for metadata")' REQ_META is replaced by REQ_PRIO to indicate >> metadata bio. This assumption is not always correct, e.g. XFS >> uses REQ_META to mark metadata bio other than REQ_PRIO. This is >> why Nix reports a regression that bcache does not cache metadata >> for XFS after the above commit. > > maybe s/reports a regression/noticed > >> Thanks to Dave Chinner, he explains the difference between >> REQ_META and REQ_PRIO from view of file system developer. Here I >> quote part of his explanation from mailing list, REQ_META is used >> for metadata. REQ_PRIO is used to communicate to the lower layers >> that the submitter considers this IO to be more important that >> non REQ_PRIO IO and so dispatch should be expedited. >> >> IOWs, if the filesystem considers metadata IO to be more >> important that user data IO, then it will use REQ_PRIO | REQ_META >> rather than just REQ_META. >> >> Then it seems bios with REQ_META or REQ_PRIO should both be >> cached for performance optimation, because they are all probably >> low I/O latency demand by upper layer (e.g. file system). >> >> So in this patch, when we want to check whether a bio is >> metadata related, REQ_META and REQ_PRIO are both checked. Then >> both metadata and high priority I/O requests will be handled >> properly. > > s/check whether a bio is metadata related/decide whether to bypass > the cache > > Apart from these two nitpicks, feel free to add my Reviewed-by. Hi Andre, Thanks for your review :-) - -- Coly Li -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE6j5FL/T5SGCN6PrQxzkHk2t9+PwFAlxcBy0ACgkQxzkHk2t9 +PxmeRAAnIh3KzGx13lmpj/0sDlellc02eawvooSDE8zTNsqo/UzqAB1lzUvtJx1 SQXYepoM4hPjrGzDKBe+oaMWuzG6WO08kI0dMT1Q1cfKX2eucExa8G9oRHQqxxBq wRChl4HKScqvyCy0XTQYet8QJwFAeBAdBzM2L0VOuulsRjLKBSfpcH+jr9fdNt/S wWGv9KVlJDq3BZrRA0TA1ovDl4wohyvtXM4OL27ahUMlmj4cI0XlaoketaAVM8QS z7uK+9sRdemW3cvfkl76wfIkiSN43Pk6RZcKRAHzlSgwF1L3xY7ZPxhFz187bFzI ANpTLVXiv1JNx+jnceV4O7UVZyj06hQhh1VFLedqpAVvzgYNp8RRSaiWucNH7m5d 6qzw5+ob5jMEI2vdXooYC8hVwNaXa+3XfVU5QLlKVG9Al1kZxgkE3e8s28pjj3Df WJXaqkOCnal12FZ9Hz+Ev/Jp/1wmN3TagPJyeVlc/0vQTIXfBFuSssL+n/1RrKjd wTc2WuWBf2x7BLnuCX6z4fDvPLuW8LOJCrCYsqr4z5s7YI6mb0B4qDSqli8dN2TB vxnY1K1WQW/9BhE/QQpXHKBD2nRbPYcaAZEhk3UvIdV2dvafdQpcD4FgrEXGKXV8 MmkaeTcQ4NcSNvGWgG9vaiY0acE8YGtqNsBDAtjOglJrP/tJjJA= =kG5J -----END PGP SIGNATURE-----