From: Mark Lord on
On 28/06/10 01:32 PM, Jens Axboe wrote:
> On 28/06/10 16.05, Brian Bloniarz wrote:
...
>> Links to the patch series that Jens mentions are below. I doubt they
>> apply cleanly to older kernels. Somebody's probably going to need to
>> take a crack at backporting them eventually (I could try, even), but
>> I don't know anybody has yet.
>>
>> Christoph Hellwig (8):
>> writeback: fix writeback completion notifications
>> writeback: queue work on stack in writeback_inodes_sb
>> writeback: enforce s_umount locking in writeback_inodes_sb
>> writeback: fix writeback_inodes_wb from writeback_inodes_sb
>> writeback: simplify wakeup_flusher_threads
>> writeback: simplify and split bdi_start_writeback
>> writeback: add missing requeue_io in writeback_inodes_wb
>> writeback: fix pin_sb_for_writeback
>>
>> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=2c99721ec6a55b2c1e7ba94945bbdae454e11308
>> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=ebf51611db2cfa33d056b4428f13275f81732fd5
>> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=de3f848fbc24f71174f3bcc7513b5a3fafb37bac
>> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=e15e123275b3ca3eeb378136046ab78eab214169
>> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=dcac2e708d8f8af1a220dd238027af5b4aedfc12
>> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=8163b53a6bfbfa14ae83f8cdbf536f9c191d3279
>> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=22e53a2ca88690c711a954d3c652b468a5e94272
>> http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=7eed7cc254e71352e5e2e642c70a9b04cd28cc76
>
> Yes, that's the series.
...

Those apply/run on 2.6.34 with one minor change to the sixth patch:
Nuke the final one-liner blob from "simplify and split bdi_start_writeback",
getting rid of this part:

--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -705,9 +705,8 @@ void laptop_mode_timer_fn(unsigned long data)
* We want to write everything out, not just down to the dirty
* threshold
*/
-
if (bdi_has_dirty_io(&q->backing_dev_info))
- bdi_start_writeback(&q->backing_dev_info, NULL, nr_pages);
+ bdi_start_writeback(&q->backing_dev_info, nr_pages);
}

/*
----

The rest applied cleanly, and I don't see any obvious need for an alternative
to the deleted line above.

Cheers



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