public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* TAKE 977545 - xfsaild causing too many wakeups
@ 2008-02-22  4:15 David Chinner
  2008-03-05 20:43 ` Eric Sandeen
  0 siblings, 1 reply; 3+ messages in thread
From: David Chinner @ 2008-02-22  4:15 UTC (permalink / raw)
  To: sgi.bugs.xfs; +Cc: xfs

xfsaild causing too many wakeups

Idle state is not being detected properly by the xfsaild push code.
The current idle state is detected by an empty list which may never
happen with mostly idle filesystem or one using lazy superblock
counters. A single dirty item in the list that exists beyond the
push target can result repeated looping attempting to push
up to the target because it fails to check if the push target
has been acheived or not.

Fix by considering a dirty list with everything past the target
as an idle state and set the timeout appropriately.


Date:  Fri Feb 22 15:15:03 AEDT 2008
Workarea:  chook.melbourne.sgi.com:/build/dgc/isms/2.6.x-xfs
Inspected by:  hch@infradead.org

The following file(s) were checked into:
  longdrop.melbourne.sgi.com:/isms/linux/2.6.x-xfs-melb


Modid:  xfs-linux-melb:xfs-kern:30532a
fs/xfs/xfs_trans_ail.c - 1.85 - changed
http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-linux/xfs_trans_ail.c.diff?r1=text&tr1=1.85&r2=text&tr2=1.84&f=h
	- Move the aild to idle state if we have pushed past the target
	  we have been given.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: TAKE 977545 - xfsaild causing too many wakeups
  2008-02-22  4:15 TAKE 977545 - xfsaild causing too many wakeups David Chinner
@ 2008-03-05 20:43 ` Eric Sandeen
  2008-03-05 21:00   ` David Chinner
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Sandeen @ 2008-03-05 20:43 UTC (permalink / raw)
  To: David Chinner; +Cc: sgi.bugs.xfs, xfs

David Chinner wrote:
> xfsaild causing too many wakeups
> 
> Idle state is not being detected properly by the xfsaild push code.
> The current idle state is detected by an empty list which may never
> happen with mostly idle filesystem or one using lazy superblock
> counters. A single dirty item in the list that exists beyond the
> push target can result repeated looping attempting to push
> up to the target because it fails to check if the push target
> has been acheived or not.
> 
> Fix by considering a dirty list with everything past the target
> as an idle state and set the timeout appropriately.

Will this go to 2.6.25?

-Eric

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: TAKE 977545 - xfsaild causing too many wakeups
  2008-03-05 20:43 ` Eric Sandeen
@ 2008-03-05 21:00   ` David Chinner
  0 siblings, 0 replies; 3+ messages in thread
From: David Chinner @ 2008-03-05 21:00 UTC (permalink / raw)
  To: Eric Sandeen; +Cc: xfs-dev, xfs

On Wed, Mar 05, 2008 at 02:43:17PM -0600, Eric Sandeen wrote:
> David Chinner wrote:
> > xfsaild causing too many wakeups
> > 
> > Idle state is not being detected properly by the xfsaild push code.
> > The current idle state is detected by an empty list which may never
> > happen with mostly idle filesystem or one using lazy superblock
> > counters. A single dirty item in the list that exists beyond the
> > push target can result repeated looping attempting to push
> > up to the target because it fails to check if the push target
> > has been acheived or not.
> > 
> > Fix by considering a dirty list with everything past the target
> > as an idle state and set the timeout appropriately.
> 
> Will this go to 2.6.25?

Yes, it certainly should.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-03-05 21:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-22  4:15 TAKE 977545 - xfsaild causing too many wakeups David Chinner
2008-03-05 20:43 ` Eric Sandeen
2008-03-05 21:00   ` David Chinner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox