[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080109184430.GB2215@duck.suse.cz>
Date: Wed, 9 Jan 2008 19:44:30 +0100
From: Jan Kara <jack@...e.cz>
To: "Aneesh Kumar K.V" <aneesh.kumar@...ux.vnet.ibm.com>
Cc: tytso@....edu, adilger@....com, bzzz@....com, cmm@...ibm.com,
linux-ext4@...r.kernel.org
Subject: Re: [PATCH] ext4: Fix the soft lockup with multi block allocator.
On Wed 09-01-08 23:54:28, Aneesh Kumar K.V wrote:
> On Wed, Jan 09, 2008 at 01:10:41PM +0100, Jan Kara wrote:
> > > With the multi block allocator when we don't have prealloc space we discard
> > > @@ -3790,7 +3782,9 @@ repeat:
> > >
> > > /* if we still need more blocks and some PAs were used, try again */
> > > if (free < needed && busy) {
> > > + busy = 0;
> > > ext4_unlock_group(sb, group);
> > > + schedule_timeout(HZ);
> > > goto repeat;
> > > }
> > Hmm, wouldn't just schedule() be enough here? That would give a good
> > chance to other processes to proceed and we would avoid this artificial
> > wait of 1s which is quite ugly IMO.
> >
>
> But then who will wake up the task ?. I have the below comment added to
> the patch in the patch queue.
As far as I know, you don't have to wake-up the task explicitely.
Scheduler will simply schedule the task sometime in future (it is a similar
situation as if the task got preempted in the kernel).
> /*
> * We see this quiet rare. But if a particular workload is
> * effected by this we may need to add a waitqueue
> */
Yes, adding that comment is good in any case :).
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