[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    Re: 2.6.8-rc2-mm1
From:       Andrew Morton <akpm () osdl ! org>
Date:       2004-07-31 20:21:53
Message-ID: 20040731132153.0763ce8f.akpm () osdl ! org
[Download RAW message or body]

Zwane Mwaikambo <zwane@linuxpower.ca> wrote:
> 
> Oh bugger, spoke too soon, it took a bit longer this time.

Sorry.  Try this one instead.

--- 25/fs/jbd/checkpoint.c~journal_clean_checkpoint_list-latency-fix-fix	2004-07-31 \
                11:43:39.320530424 -0700
+++ 25-akpm/fs/jbd/checkpoint.c	2004-07-31 13:20:22.562303576 -0700
@@ -497,8 +497,8 @@ int __journal_clean_checkpoint_list(jour
 		 * We don't test cond_resched() here because another CPU could
 		 * be waiting on j_list_lock() while holding a different lock.
 		 */
-		if ((ret & 127) == 127) {
-			spin_unlock(&journal->j_list_lock);
+		transaction = journal->j_checkpoint_transactions
+		if (transaction && (ret & 127) == 127) {
 			/*
 			 * We need to schedule away.  Rotate both this
 			 * transaction's buffer list and the checkpoint list to
@@ -508,10 +508,9 @@ int __journal_clean_checkpoint_list(jour
 			if (jh)
 				transaction->t_checkpoint_list = jh->b_cpnext;
 
-			transaction = journal->j_checkpoint_transactions;
-			if (transaction)
-				journal->j_checkpoint_transactions =
+			journal->j_checkpoint_transactions =
 					transaction->t_cpnext;
+			spin_unlock(&journal->j_list_lock);
 			return ret;
 		}
 #endif
_

-
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/


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic