From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754256AbcBVKg3 (ORCPT ); Mon, 22 Feb 2016 05:36:29 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:34934 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751432AbcBVKg2 (ORCPT ); Mon, 22 Feb 2016 05:36:28 -0500 X-AuditID: cbfee61b-f793c6d00000236c-67-56cae4aaac1b From: Chao Yu To: Jaegeuk Kim Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: [PATCH 3/5] f2fs: try to flush inode after merging inline data Date: Mon, 22 Feb 2016 18:35:46 +0800 Message-id: <004901d16d5c$e207b5f0$a61721d0$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-index: AdFtXIkjGOdzIYg7TMCTDlyshELhDw== Content-language: zh-cn X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNLMWRmVeSWpSXmKPExsVy+t9jAd1VT06FGSw5aG3xZP0sZotLi9wt Lu+aw+bA7LFpVSebx+4Fn5k8Pm+SC2CO4rJJSc3JLEst0rdL4Mo4emEFY8Ezjoq9a38xNTC+ Yeti5OSQEDCReP1zPzOELSZx4d56oDgXh5DAUkaJqavmMEI4rxgljnybA1bFJqAisbzjPxOI LQJkH1p0mR3EZhbwkGjs+M4KYgsLuEs8v70HrIZFQFXi3v25LCA2r4ClxPltE5ggbEGJH5Pv sUD0akms33mcCcKWl9i85i3URQoSO86+BjqCA2iXnsSdD6IQJeISG4/cYpnAKDALyaRZSCbN QjJpFpKWBYwsqxglUguSC4qT0nON8lLL9YoTc4tL89L1kvNzNzGCg/iZ9A7Gw7vcDzEKcDAq 8fBqMJ0KE2JNLCuuzD3EKMHBrCTC2/YAKMSbklhZlVqUH19UmpNafIhRmoNFSZz38f91YUIC 6YklqdmpqQWpRTBZJg5OqQZG0y7R2KUl1uxuUz+ec92b+veNwGbLoP1Fr4M3tRck7dO9aZas oLXtbaP5sZ4HFZ2pz0q07y+46bRuwqID/erLFyS//Ttnj0/+n6gsw90pr8omNxebONzf/rhk kuU8DqbD3KuXzRGynbfzwqdi35Nh5xYfmCpxfnNj1nu9f+fX+25ddSB3kpncYyWW4oxEQy3m ouJEAKkqPFVeAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When flushing node pages, if current node page is an inline inode page, we will try to merge inline data from data page into inline inode page, then skip flushing current node page, it will decrease the number of nodes to be flushed in batch in this round, which may lead to worse performance. This patch gives a chance to flush just merged inline inode pages for performance. Signed-off-by: Chao Yu --- fs/f2fs/node.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 966176b..82cde7a 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1275,6 +1275,7 @@ next_step: * If an fsync mode, * we should not skip writing node pages. */ +lock_node: if (ino && ino_of_node(page) == ino) lock_page(page); else if (!trylock_page(page)) @@ -1298,7 +1299,7 @@ continue_unlock: clear_inline_node(page); unlock_page(page); flush_inline_data(sbi, ino_of_node(page)); - continue; + goto lock_node; } f2fs_wait_on_page_writeback(page, NODE, true); -- 2.7.0