[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140903221402.GD19005@quack.suse.cz>
Date: Thu, 4 Sep 2014 00:14:02 +0200
From: Jan Kara <jack@...e.cz>
To: Theodore Ts'o <tytso@....edu>
Cc: Jan Kara <jack@...e.cz>, Zheng Liu <gnehzuil.liu@...il.com>,
linux-ext4@...r.kernel.org,
Andreas Dilger <adilger.kernel@...ger.ca>,
Zheng Liu <wenqing.lz@...bao.com>
Subject: Re: [PATCH v3 4/6] ext4: change lru to round-robin in extent status
tree shrinker
On Wed 03-09-14 16:00:39, Ted Tso wrote:
> On Wed, Sep 03, 2014 at 05:31:22PM +0200, Jan Kara wrote:
> > Also one question:
> >
> > > - if (ei == locked_ei || !write_trylock(&ei->i_es_lock)) {
> > > - nr_skipped++;
> > > - spin_lock(&sbi->s_es_lock);
> > > __ext4_es_list_add(sbi, ei);
> > > + if (spin_is_contended(&sbi->s_es_lock)) {
> > > + spin_unlock(&sbi->s_es_lock);
> > > + spin_lock(&sbi->s_es_lock);
> > > + }
> > Why not cond_resched_lock(&sbi->s_es_lock)?
>
> I didn't think we were allowed to reschedule or sleep while in
> shrinker context?
I believe we are allowed to sleep in the shrinker if appropriate gfp
flags are set (__GFP_WAIT) and we enter extent cache shrinker only if
__GFP_FS is set which guarantees __GFP_WAIT.
Honza
--
Jan Kara <jack@...e.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists