Messages in this thread Patch in this message | | | Date | Sat, 31 Jul 2004 13:21:53 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.8-rc2-mm1 |
| |
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/
| |