From: Jan Kara Subject: Re: [PATCHv3 3/3] jbd/jbd2: allocate buffer-cache for superblock inode in non-movable area Date: Thu, 28 Aug 2014 12:07:06 +0200 Message-ID: <20140828100706.GD5961@quack.suse.cz> References: <53FE9357.6000505@lge.com> <53FE94F0.5070401@lge.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: 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, Minchan Kim , Joonsoo Kim , =?utf-8?B?7J206rG07Zi4?= To: Gioh Kim Return-path: Content-Disposition: inline In-Reply-To: <53FE94F0.5070401@lge.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-ext4.vger.kernel.org On Thu 28-08-14 11:33:20, Gioh Kim wrote: > > A long-lasting buffer-cache can distrub page migration so that > it must be allocated from non-movable area. > > The journal_init_inode is creating a buffer-cache for superblock journaling. > The superblock exists until system shutdown so that the buffer-cache > for the superblock would also exist for a long time > and it can distrub page migration. > > This patch make the buffer-cache be allocated from non-movable area > not to distrub page migration. The patch looks good. You can add: Reviewed-by: Jan Kara Honza > > Signed-off-by: Gioh Kim > --- > fs/jbd/journal.c | 2 +- > fs/jbd2/journal.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c > index 06fe11e..aab8549 100644 > --- a/fs/jbd/journal.c > +++ b/fs/jbd/journal.c > @@ -886,7 +886,7 @@ journal_t * journal_init_inode (struct inode *inode) > goto out_err; > } > > - bh = __getblk(journal->j_dev, blocknr, journal->j_blocksize); > + bh = getblk_unmovable(journal->j_dev, blocknr, journal->j_blocksize); > if (!bh) { > printk(KERN_ERR > "%s: Cannot get buffer for journal superblock\n", > diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c > index 67b8e30..65bd3b1 100644 > --- a/fs/jbd2/journal.c > +++ b/fs/jbd2/journal.c > @@ -1237,7 +1237,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode) > goto out_err; > } > > - bh = __getblk(journal->j_dev, blocknr, journal->j_blocksize); > + bh = getblk_unmovable(journal->j_dev, blocknr, journal->j_blocksize); > if (!bh) { > printk(KERN_ERR > "%s: Cannot get buffer for journal superblock\n", > -- > 1.7.9.5 > -- Jan Kara SUSE Labs, CR