From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753968AbaHNFXR (ORCPT ); Thu, 14 Aug 2014 01:23:17 -0400 Received: from lgeamrelo02.lge.com ([156.147.1.126]:49722 "EHLO lgeamrelo02.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751436AbaHNFXP (ORCPT ); Thu, 14 Aug 2014 01:23:15 -0400 X-Original-SENDERIP: 10.178.33.69 X-Original-MAILFROM: gioh.kim@lge.com Message-ID: <53EC47B4.8020408@lge.com> Date: Thu, 14 Aug 2014 14:23:00 +0900 From: Gioh Kim User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Alexander Viro , Andrew Morton , "Paul E. McKenney" , Peter Zijlstra , Jan Kara , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, "Theodore Ts'o" , Andreas Dilger , linux-ext4@vger.kernel.org CC: Minchan Kim , Joonsoo Kim , =?EUC-KR?B?wMywx8ij?= Subject: Re: [PATCH 0/2] new APIs to allocate buffer-cache for superblock in non-movable area References: <53EC4531.1000904@lge.com> In-Reply-To: <53EC4531.1000904@lge.com> Content-Type: text/plain; charset=EUC-KR Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2014-08-14 ¿ÀÈÄ 2:12, Gioh Kim ¾´ ±Û: > Hello, > > This patch try to solve problem that a long-lasting page caches of > ext4 superblock and journaling of superblock disturb page migration. > > I've been testing CMA feature on my ARM-based platform > and found that two page caches cannot be migrated. > They are page caches of superblock of ext4 filesystem and its journaling data. > > Current ext4 reads superblock with sb_bread() that allocates page > from movable area. But the problem is that ext4 hold the page until > it is unmounted. If root filesystem is ext4 the page cannot be migrated forever. > And also the journaling data for the superblock cannot be migreated. > > I introduce a new API for allocating page cache from non-movable area. > It is useful for ext4/ext3 and others that want to hold page cache for a long time. > > I have 3 patchs: > > 1. Patch 1/3: introduce a new API that create page cache from non-movable area > 2. Patch 2/3: have ext4 use the new API to read superblock > 3. Patch 3/3: have jbd/jbd2 use the new API to make journaling of superblock > > This patchset is based on linux-next-20140814. > > Thanks a lot. > > Gioh Kim (3): > fs/buffer.c: allocate buffer cache from non-movable area > ext4: allocate buffer-cache for superblock in non-movable area > jbd-jbd2-allocate-buffer-cache-for-superblock-inode-.patch > > fs/buffer.c | 63 ++++++++++++++++++++++++++++++---- > fs/ext4/super.c | 6 +-- > fs/jbd/journal.c | 2 - > fs/jbd2/journal.c | 2 - > include/linux/buffer_head.h | 10 +++++ > 5 files changed, 71 insertions(+), 12 deletions(-) > I'm sorry to forget mentioning that this is 2nd version of https://lkml.org/lkml/2014/7/22/34.