lkml.org 
[lkml]   [2004]   [Jan]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateThu, 29 Jan 2004 17:20:52 +1100
FromNathan Scott <>
SubjectRe: Fix sleep_on abuse in XFS, Was: Re: 2.6.2-rc2-mm1 (Breakage?)
On Wed, Jan 28, 2004 at 03:02:06PM +0000, Christoph Hellwig wrote:
> ...
>  	INIT_LIST_HEAD(&tmp);
>  	do {
>  		/* swsusp */
>  		if (current->flags & PF_FREEZE)
>  			refrigerator(PF_IOTHREAD);
> -		if (pbd_active == 1) {
> -			mod_timer(&pb_daemon_timer,
> -				  jiffies + pb_params.flush_interval.val);
> -			interruptible_sleep_on(&pbd_waitq);
> -		}
> -
> -		if (pbd_active == 0) {
> -			del_timer_sync(&pb_daemon_timer);
> -		}
> +		schedule_timeout(pb_params.flush_interval.val);

After a bit more testing, looks like we'll also need a

		current->state = TASK_INTERRUPTIBLE;

line before the schedule_timeout call, else pagebufd eats
a whole lot of system time on one CPU.

I'll send an XFS update to Linus and Andrew tomorrow after
some further testing.

thanks.

-- 
Nathan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:00    [from the cache]
©2003-2008