Thread (2 messages) 2 messages, 2 authors, 2004-01-29

Re: Fix sleep_on abuse in XFS, Was: Re: 2.6.2-rc2-mm1 (Breakage?)

From: Nathan Scott <hidden>
Date: 2004-01-29 06:22:25
Also in: lkml

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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help