xfsaild causing 30+ wakeups/s on an idle system since 2.6.25-rcX

From: Török Edwin
Date: Sun Feb 17 2008 - 11:41:45 EST


Hi,

xfsaild is causing many wakeups, a quick investigation shows
xfsaild_push is always
returning 30 msecs timeout value.

This is on an idle system, running only gnome, and gnome-terminal.

I suggest changing the timeout logic in xfsaild to be more power
consumption friendly.

See below my original report to the powerTOP mailing list.

Best regards,
--Edwin
--- Begin Message --- Török Edwin wrote:
Török Edwin wrote:
Hi,

On latest -git of 2.6.25 I am getting lots of wakeups from xfsaild.
23.5% ( 33.3) xfsaild : schedule_timeout (process_timeout)

[Should I Cc: xfs mailing list / lkml on this?]

The problem seems to be with the timeout logic in xfsaild_push, which
can return 3 timeout values (msecs): 1000, 10, 20, 30.
I inserted a marker and attached a probe function, schedule_timeout
always got called with 9 jiffies (which is 30 msecs, I have HZ=300).

Changing xfs_trans_ail.c:270 from "tout += 20" to "tout = 1000", made
xfsaild only do 1 wakeup/s instead of 33!

For some reason xfs_aild always thinks it has work (I/O) to do, and
never chooses the 1000 msec sleep value.


sounds like an XFS bug... worth reporting to the xfs/lkml folks for sure.


--- End Message ---