Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp3689744ybe; Sun, 15 Sep 2019 22:29:01 -0700 (PDT) X-Google-Smtp-Source: APXvYqwiclqbZAGw6rBZTLy5hGGWKGvtYnknOB4GqvyzqZX3rw7EVYHUbsRWDai9XqWkQK/NBpbc X-Received: by 2002:a17:907:214e:: with SMTP id rk14mr5142562ejb.60.1568611741365; Sun, 15 Sep 2019 22:29:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568611741; cv=none; d=google.com; s=arc-20160816; b=Inx5TkBkrs9RLx7BgHrHu14ZfBAEFRUO3SpPiy1fECmOHMOp8SJlk0+5UPQODFN9K2 oAKww9LSc0AGe8xBOB5S5BCpz2gEqqwsznVylf/1dGqmBur5w/gh95sp5nmoe1BbmWuW MTpbYbuqlzlmQNs0gQoT3nXGLcPeIiafnudxKcDkQHFTSVd0SxMHP3Z+gAmON2NmfkFT xKwgTBl7Or2guqiSoFtc+g2dDnYYNyyBDgds38LabWTlVjc2U3kR0x+qtRqIb5aqdVc/ jKtKE6mjRalDmMhrmCmLLSlS6Tom3ec9LwaMHvMokgf/S4X4CSR18yp/Jn8OnkJti3mt 3v0g== 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:from:references:cc:to:subject; bh=YdC96T0MRe8fklzxO77o/53RvVritoqGgZsDTdmAd+Y=; b=bYTdstItFtlpA1tPLT6HDcZf0qyQUMW7fxUzs5ds6GhwbsYF3JpZzAMOgI3erancBo 3eeaaDVMhNMy76woBizOxVd0+0oJVCNnU69FSkJVdTeP3H99vAVkPMgW83UQQ54xl94z jXxVOfXW0BHZOCiQ3SA51RDqGXuSlGJ/4lEm9SkGyuAsV9ZCWILe//wFFBkJ54LX5V5J CTQnhcym9OfhXLp7J51o3zPo4hdX77RGMiPas8FOj59peEY4PxvzZFfx9/tp9iWE0s67 kdbF07NZMdLPUyYYqWc1FC9QCaegfVhOSiJeZdByvt2tsKDarRID34CVJ780qulVWtIi azPg== 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 v19si21771084edm.103.2019.09.15.22.28.37; Sun, 15 Sep 2019 22:29:01 -0700 (PDT) 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 S1729101AbfIPBXN (ORCPT + 99 others); Sun, 15 Sep 2019 21:23:13 -0400 Received: from szxga05-in.huawei.com ([45.249.212.191]:2271 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728872AbfIPBXM (ORCPT ); Sun, 15 Sep 2019 21:23:12 -0400 Received: from DGGEMS413-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id AD0EDE2B2C97BAF21A9E; Mon, 16 Sep 2019 09:23:10 +0800 (CST) Received: from [10.134.22.195] (10.134.22.195) by smtp.huawei.com (10.3.19.213) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 16 Sep 2019 09:23:06 +0800 Subject: Re: [f2fs-dev] [PATCH 1/2] f2fs: do not select same victim right again To: Jaegeuk Kim CC: , References: <20190909012532.20454-1-jaegeuk@kernel.org> <69933b7f-48cc-47f9-ba6f-b5ca8f733cba@huawei.com> <20190909080654.GD21625@jaegeuk-macbookpro.roam.corp.google.com> <97237da2-897a-8420-94de-812e94aa751f@huawei.com> <20190909120443.GA31108@jaegeuk-macbookpro.roam.corp.google.com> From: Chao Yu Message-ID: <27725e65-53fe-5731-0201-9959b8ef6b49@huawei.com> Date: Mon, 16 Sep 2019 09:22:51 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190909120443.GA31108@jaegeuk-macbookpro.roam.corp.google.com> Content-Type: text/plain; charset="windows-1252" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.134.22.195] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019/9/9 20:04, Jaegeuk Kim wrote: > On 09/09, Chao Yu wrote: >> On 2019/9/9 16:06, Jaegeuk Kim wrote: >>> On 09/09, Chao Yu wrote: >>>> On 2019/9/9 9:25, Jaegeuk Kim wrote: >>>>> GC must avoid select the same victim again. >>>> >>>> Blocks in previous victim will occupy addition free segment, I doubt after this >>>> change, FGGC may encounter out-of-free space issue more frequently. >>> >>> Hmm, actually this change seems wrong by sec_usage_check(). >>> We may be able to avoid this only in the suspicious loop? >>> >>> --- >>> fs/f2fs/gc.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c >>> index e88f98ddf396..5877bd729689 100644 >>> --- a/fs/f2fs/gc.c >>> +++ b/fs/f2fs/gc.c >>> @@ -1326,7 +1326,7 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync, >>> round++; >>> } >>> >>> - if (gc_type == FG_GC) >>> + if (gc_type == FG_GC && seg_freed) >> >> That's original solution Sahitya provided to avoid infinite loop of GC, but I >> suggest to find the root cause first, then we added .invalid_segmap for that >> purpose. > > I've checked the Sahitya's patch. So, it seems the problem can happen due to > is_alive or atomic_file. For some conditions, this doesn't help, for example, two sections contain the same fewest valid blocks, it will cause to loop selecting them if it fails to migrate blocks. How about keeping it as it is to find potential bug. Thanks, > >> >> Thanks, >> >>> sbi->cur_victim_sec = NULL_SEGNO; >>> >>> if (sync) >>> > . >