Skip to contentSkip to conversation

block/io bits for 2.6.35-rc

GIT PULL Jens Axboe 5 participants 17 messages Jun 10, 2010 – Jun 28, 2010

Subsystems (2)
lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

Hi Linus,

Some important fixes for 2.6.35:

- A set of patches fixing the WB_SYNC_NONE writeback from Christoph. So we should finally have both functional and working WB_SYNC_NONE from umount context.

- Two fixes for the pipe resizing and fcntl() interface, where the last conversion to a byte API introduced a dumb bug.

- Fix for the module count problem from Nick.

Please pull.

git://git.kernel.dk/linux-2.6-block.git for-linus

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

Jens Axboe (1):
block: remove duplicate BUG_ON() in bd_finish_claiming()

Miklos Szeredi (2):
pipe: fix pipe buffer resizing
pipe: fix check in "set size" fcntl

Nick Piggin (2):
block: bd_start_claiming fix module refcount
block: bd_start_claiming cleanup

 fs/block_dev.c              |   72 ++++++++----
 fs/fs-writeback.c           |  254 ++++++++++++++++++-------------------------
 fs/pipe.c                   |   20 +++-
 fs/ubifs/budget.c           |    2 +
 include/linux/backing-dev.h |    4 +-
 mm/page-writeback.c         |    5 +-
 6 files changed, 175 insertions(+), 182 deletions(-)
Signature · 1 line
Jens Axboe
#1 lore raw
Quoted 4 lines · Jens Axboe

- A set of patches fixing the WB_SYNC_NONE writeback from Christoph. So we should finally have both functional and working WB_SYNC_NONE from umount context.

I _really_ think this is too late, considering how broken it has been. We already reverted the WB_SYNC_NONE things exactly because it didn't work, didn't we? I'm going to be off-line in two days, and this part of the pull request really makes me nervous, if only simply because of the history of it all (ie it's always been broken, why shouldn't it be broken now?).

IOW, that's a lot of scary changes, that have historically not been safe or sufficiently tested, and have caused problems for various filesystems. Convince me why they should suddenly be ok to merge?

Linus

author
#2 lore raw
Quoted 13 lines · Linus Torvalds
Quoted 4 lines · Jens Axboe

- A set of patches fixing the WB_SYNC_NONE writeback from Christoph. So we should finally have both functional and working WB_SYNC_NONE from umount context.

I _really_ think this is too late, considering how broken it has been. We already reverted the WB_SYNC_NONE things exactly because it didn't work, didn't we? I'm going to be off-line in two days, and this part of the pull request really makes me nervous, if only simply because of the history of it all (ie it's always been broken, why shouldn't it be broken now?).

Quoted 3 lines

IOW, that's a lot of scary changes, that have historically not been safe or sufficiently tested, and have caused problems for various filesystems. Convince me why they should suddenly be ok to merge?

I agree, it's late and it makes me nervous too. I had them cook for a day, didn't see any problems. And Christoph would not send it in unless it passes at least xfs qa, which is what found the problems last time (the ones we reverted).

It's fixing a regression where umount takes a LONG time if you have a lot of dirty inodes, since it basically degenerates to a data integrity writeback instead of a simple WB_SYNC_NONE. If it wasn't fixing a nasty regression (the distros are all wanting a real fix for this, it's a user problem), I would not be submitting this code at this point in time.

Signature · 1 line
Jens Axboe
#3 lore raw
Quoted 11 lines · Jens Axboe

I agree, it's late and it makes me nervous too. I had them cook for a day, didn't see any problems. And Christoph would not send it in unless it passes at least xfs qa, which is what found the problems last time (the ones we reverted).

It's fixing a regression where umount takes a LONG time if you have a lot of dirty inodes, since it basically degenerates to a data integrity writeback instead of a simple WB_SYNC_NONE. If it wasn't fixing a nasty regression (the distros are all wanting a real fix for this, it's a user problem), I would not be submitting this code at this point in time.

Maybe give it a bit more beating in linux-next and send it off to Linus once he's back from his vacation?

author
#4 lore raw
Quoted 13 lines · Christoph Hellwig
Quoted 11 lines · Jens Axboe

I agree, it's late and it makes me nervous too. I had them cook for a day, didn't see any problems. And Christoph would not send it in unless it passes at least xfs qa, which is what found the problems last time (the ones we reverted).

It's fixing a regression where umount takes a LONG time if you have a lot of dirty inodes, since it basically degenerates to a data integrity writeback instead of a simple WB_SYNC_NONE. If it wasn't fixing a nasty regression (the distros are all wanting a real fix for this, it's a user problem), I would not be submitting this code at this point in time.

Quoted 2 lines

Maybe give it a bit more beating in linux-next and send it off to Linus once he's back from his vacation?

We can do that. Linus, I'll split split off the writeback parts and send you a new pull request.

Signature · 1 line
Jens Axboe
#5 lore raw
In reply to Christoph Hellwig
Quoted 3 lines · Christoph Hellwig

Maybe give it a bit more beating in linux-next and send it off to Linus once he's back from his vacation?

Yes, I'd probably be happier with that. As long as it's "just" a performance regression (and clearly not one that actually affects most people all that noticeably), I'd much rather not have to worry about any potential new issues being introduced right now.

So I'm more looking for "let's fix catastrophic events" for -rc3. After I get back, I'm way more open to "let's fix any real bugs", because then I can at least react to any fallout.

(I'm planning on trying to roughly keep up on email etc - I'm today doing all my email using gmail to test how well that works as an alternative to my usual "inside two firewalls" behavior. But I'm seriously trying to avoid even having a laptop with me, because if I have something where I can do kernel development and git pulls, I know I'm not going to be just on vacation).

Linus

#6 lore raw
In reply to Jens Axboe
Quoted 23 lines · Jens Axboe
Quoted 13 lines · Linus Torvalds
Quoted 4 lines · Jens Axboe

- A set of patches fixing the WB_SYNC_NONE writeback from Christoph. So we should finally have both functional and working WB_SYNC_NONE from umount context.

I _really_ think this is too late, considering how broken it has been. We already reverted the WB_SYNC_NONE things exactly because it didn't work, didn't we? I'm going to be off-line in two days, and this part of the pull request really makes me nervous, if only simply because of the history of it all (ie it's always been broken, why shouldn't it be broken now?).

Quoted 3 lines

IOW, that's a lot of scary changes, that have historically not been safe or sufficiently tested, and have caused problems for various filesystems. Convince me why they should suddenly be ok to merge?

I agree, it's late and it makes me nervous too. I had them cook for a day, didn't see any problems. And Christoph would not send it in unless it passes at least xfs qa, which is what found the problems last time (the ones we reverted).

Quoted 7 lines

It's fixing a regression where umount takes a LONG time if you have a lot of dirty inodes, since it basically degenerates to a data integrity writeback instead of a simple WB_SYNC_NONE. If it wasn't fixing a nasty regression (the distros are all wanting a real fix for this, it's a user problem), I would not be submitting this code at this point in time.

Reinforcing that last point: from what I could figure out, Fedora 13 is shipping the buggy WB_SYNC_NONE patch currently. Ubuntu 10.04 is shipping an in-kernel workaround that has serious performance drawbacks.

https://bugzilla.kernel.org/show_bug.cgi?id=15906 has links to the downstream bugs.

#7 lore raw
Quoted 32 lines · Brian Bloniarz
Quoted 23 lines · Jens Axboe
Quoted 13 lines · Linus Torvalds
Quoted 4 lines · Jens Axboe

- A set of patches fixing the WB_SYNC_NONE writeback from Christoph. So we should finally have both functional and working WB_SYNC_NONE from umount context.

I _really_ think this is too late, considering how broken it has been. We already reverted the WB_SYNC_NONE things exactly because it didn't work, didn't we? I'm going to be off-line in two days, and this part of the pull request really makes me nervous, if only simply because of the history of it all (ie it's always been broken, why shouldn't it be broken now?).

Quoted 3 lines

IOW, that's a lot of scary changes, that have historically not been safe or sufficiently tested, and have caused problems for various filesystems. Convince me why they should suddenly be ok to merge?

I agree, it's late and it makes me nervous too. I had them cook for a day, didn't see any problems. And Christoph would not send it in unless it passes at least xfs qa, which is what found the problems last time (the ones we reverted).

Quoted 7 lines

It's fixing a regression where umount takes a LONG time if you have a lot of dirty inodes, since it basically degenerates to a data integrity writeback instead of a simple WB_SYNC_NONE. If it wasn't fixing a nasty regression (the distros are all wanting a real fix for this, it's a user problem), I would not be submitting this code at this point in time.

Quoted 7 lines

Reinforcing that last point: from what I could figure out, Fedora 13 is shipping the buggy WB_SYNC_NONE patch currently. Ubuntu 10.04 is shipping an in-kernel workaround that has serious performance drawbacks.

https://bugzilla.kernel.org/show_bug.cgi?id=15906 has links to the downstream bugs.

..

Jens, this bug has been biting my servers badly here for the past few months -- umount after a backup (from ext4 to ext4) takes 3-4 minutes instead of the expected 3-4 seconds.

Is there a patch file for this against 2.6.34 that I (and others) could use?

Thanks

author
#8 lore raw
Quoted 40 lines · Mark Lord
Quoted 32 lines · Brian Bloniarz
Quoted 23 lines · Jens Axboe
Quoted 13 lines · Linus Torvalds
Quoted 4 lines · Jens Axboe

- A set of patches fixing the WB_SYNC_NONE writeback from Christoph. So we should finally have both functional and working WB_SYNC_NONE from umount context.

I _really_ think this is too late, considering how broken it has been. We already reverted the WB_SYNC_NONE things exactly because it didn't work, didn't we? I'm going to be off-line in two days, and this part of the pull request really makes me nervous, if only simply because of the history of it all (ie it's always been broken, why shouldn't it be broken now?).

Quoted 3 lines

IOW, that's a lot of scary changes, that have historically not been safe or sufficiently tested, and have caused problems for various filesystems. Convince me why they should suddenly be ok to merge?

I agree, it's late and it makes me nervous too. I had them cook for a day, didn't see any problems. And Christoph would not send it in unless it passes at least xfs qa, which is what found the problems last time (the ones we reverted).

Quoted 7 lines

It's fixing a regression where umount takes a LONG time if you have a lot of dirty inodes, since it basically degenerates to a data integrity writeback instead of a simple WB_SYNC_NONE. If it wasn't fixing a nasty regression (the distros are all wanting a real fix for this, it's a user problem), I would not be submitting this code at this point in time.

Quoted 7 lines

Reinforcing that last point: from what I could figure out, Fedora 13 is shipping the buggy WB_SYNC_NONE patch currently. Ubuntu 10.04 is shipping an in-kernel workaround that has serious performance drawbacks.

https://bugzilla.kernel.org/show_bug.cgi?id=15906 has links to the downstream bugs.

Quoted 7 lines

..

Jens, this bug has been biting my servers badly here for the past few months -- umount after a backup (from ext4 to ext4) takes 3-4 minutes instead of the expected 3-4 seconds.

Is there a patch file for this against 2.6.34 that I (and others) could use?

It's the patch series from Christoph in my for-linus branch, I intend to push it upstream when Linus is back and taking patches.

Signature · 1 line
Jens Axboe
#9 lore raw
Quoted 2 lines · Jens Axboe

It's the patch series from Christoph in my for-linus branch, I intend to push it upstream when Linus is back and taking patches.

He's been merging things again since yesterday.

#10 lore raw
In reply to Jens Axboe
Quoted 2 lines · Jens Axboe
Quoted 1 line · Mark Lord

On 10/06/10 12:44 PM, Brian Bloniarz wrote:

..

Quoted 4 lines
Quoted 4 lines
Quoted 2 lines

https://bugzilla.kernel.org/show_bug.cgi?id=15906 has links to the downstream bugs.

..

Quoted 8 lines
Quoted 5 lines

Jens, this bug has been biting my servers badly here for the past few months -- umount after a backup (from ext4 to ext4) takes 3-4 minutes instead of the expected 3-4 seconds.

Is there a patch file for this against 2.6.34 that I (and others) could use?

It's the patch series from Christoph in my for-linus branch, I intend to push it upstream when Linus is back and taking patches.

..

Still looking for a *patch* to fix this here.

I found these two:

http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=e913fc825dc685a444cb4c1d0f9d32f372f5986
http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=30fd1e551a730d942e91109762c942786be0ef7c

But they don't apply cleanly to 2.6.34.

Anyone?

#11 lore raw
Quoted 24 lines · Mark Lord
Quoted 2 lines · Jens Axboe
Quoted 1 line · Mark Lord

On 10/06/10 12:44 PM, Brian Bloniarz wrote:

..

Quoted 9 lines
Quoted 9 lines
Quoted 2 lines

https://bugzilla.kernel.org/show_bug.cgi?id=15906 has links to the downstream bugs.

..

Jens, this bug has been biting my servers badly here for the past few months -- umount after a backup (from ext4 to ext4) takes 3-4 minutes
instead of the expected 3-4 seconds.

Quoted 5 lines
Quoted 2 lines

Is there a patch file for this against 2.6.34 that I (and others) could use?

It's the patch series from Christoph in my for-linus branch, I intend to push it upstream when Linus is back and taking patches.

..

Still looking for a *patch* to fix this here.

I found these two:

Quoted 8 lines

http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=e913fc825dc685a444cb4c1d0f9d32f372f5986

http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=30fd1e551a730d942e91109762c942786be0ef7c

But they don't apply cleanly to 2.6.34.

Anyone?

Don't use those, they have bugs and have since been reverted.

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

#12 lore raw
Quoted 1 line · Brian Bloniarz

On 06/28/2010 09:51 AM, Mark Lord wrote:

..

Quoted 28 lines
Quoted 10 lines

I found these two:

http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=e913fc825dc685a444cb4c1d0f9d32f372f5986

http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=30fd1e551a730d942e91109762c942786be0ef7c

But they don't apply cleanly to 2.6.34.

Anyone?

Don't use those, they have bugs and have since been reverted.

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

Quoted 8 lines

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

Thanks. I'll pull those down and backport them here.

Cheers!

author
#13 lore raw
In reply to Brian Bloniarz
Quoted 51 lines · Brian Bloniarz
Quoted 24 lines · Mark Lord
Quoted 2 lines · Jens Axboe
Quoted 1 line · Mark Lord

On 10/06/10 12:44 PM, Brian Bloniarz wrote:

..

Quoted 9 lines
Quoted 9 lines
Quoted 2 lines

https://bugzilla.kernel.org/show_bug.cgi?id=15906 has links to the downstream bugs.

..

Jens, this bug has been biting my servers badly here for the past few months -- umount after a backup (from ext4 to ext4) takes 3-4 minutes
instead of the expected 3-4 seconds.

Quoted 5 lines
Quoted 2 lines

Is there a patch file for this against 2.6.34 that I (and others) could use?

It's the patch series from Christoph in my for-linus branch, I intend to push it upstream when Linus is back and taking patches.

..

Still looking for a *patch* to fix this here.

I found these two:

Quoted 8 lines

http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=e913fc825dc685a444cb4c1d0f9d32f372f5986

http://git.kernel.org/?p=linux/kernel/git/axboe/linux-2.6-block.git;a=commitdiff;h=30fd1e551a730d942e91109762c942786be0ef7c

But they don't apply cleanly to 2.6.34.

Anyone?

Don't use those, they have bugs and have since been reverted.

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

Quoted 8 lines

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.

Signature · 1 line
Jens Axboe
#14 lore raw
Quoted 1 line · Jens Axboe

On 28/06/10 16.05, Brian Bloniarz wrote:

..

Quoted 24 lines
Quoted 15 lines

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

Quoted 8 lines

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

Quoted 1 line

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:

mm/page-writeback.c +1 -2
@@ -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

#15 lore raw
In reply to Jens Axboe
Quoted 7 lines · Jens Axboe

It's fixing a regression where umount takes a LONG time if you have a lot of dirty inodes, since it basically degenerates to a data integrity writeback instead of a simple WB_SYNC_NONE. If it wasn't fixing a nasty regression (the distros are all wanting a real fix for this, it's a user problem), I would not be submitting this code at this point in time.

I'm not sure if you noticed, we had a separate thread with Dave Chinner that resulted in three hopefully fairly minimal patches going in instead.

See commits

git log -3 d87815cb2090

and I thought that last one (first one applied: "pay attention to wbc->nr_to_write") was the one that had fixed the worst XFS issues.

But maybe it was an unrelated thing.

Linus

author
#16 lore raw
Quoted 13 lines · Linus Torvalds
Quoted 7 lines · Jens Axboe

It's fixing a regression where umount takes a LONG time if you have a lot of dirty inodes, since it basically degenerates to a data integrity writeback instead of a simple WB_SYNC_NONE. If it wasn't fixing a nasty regression (the distros are all wanting a real fix for this, it's a user problem), I would not be submitting this code at this point in time.

I'm not sure if you noticed, we had a separate thread with Dave Chinner that resulted in three hopefully fairly minimal patches going in instead.

Quoted 8 lines

See commits

   git log -3  d87815cb2090

and I thought that last one (first one applied: "pay attention to wbc->nr_to_write") was the one that had fixed the worst XFS issues.

But maybe it was an unrelated thing.

That's a different bug.

Signature · 1 line
Jens Axboe