Message ID | 20100524223016.208581966@clark.site |
---|---|
State | Not Applicable, archived |
Headers | show |
On Mon, May 24, 2010 at 03:28:06PM -0700, Greg KH wrote:
> 2.6.27-stable review patch. If anyone has any objections, please let us know.
NACK. This has been shown to cause severe writeback regression for
other filesystems and is beeing reverted in mianline.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, May 25, 2010 at 07:12:08AM -0400, Christoph Hellwig wrote: > On Mon, May 24, 2010 at 03:28:06PM -0700, Greg KH wrote: > > 2.6.27-stable review patch. If anyone has any objections, please let us know. > > NACK. This has been shown to cause severe writeback regression for > other filesystems and is beeing reverted in mianline. Ok, if I drop this one, I think I need to drop an ext4 patch as well, I'll go figure that out and respin a -rc2 with this change in it. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 05/25/2010 06:12 AM, Christoph Hellwig wrote: > On Mon, May 24, 2010 at 03:28:06PM -0700, Greg KH wrote: >> 2.6.27-stable review patch. If anyone has any objections, please let us know. > > NACK. This has been shown to cause severe writeback regression for > other filesystems and is beeing reverted in mianline. It can't be reverted directly (you'll get a build failure) since the next ext4 patch in this -stable series depends on it. There's a commit from Ted Ts'o in the ext4 git, "ext4: Use our own write_cache_pages()", which removes the dependency, but that patch is not yet in mainline so isn't a -stable candidate. When/if that patch hits mainline, it can be added to -stable and this patch dropped/reverted. Jayson -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, May 25, 2010 at 07:12:08AM -0400, Christoph Hellwig wrote: > On Mon, May 24, 2010 at 03:28:06PM -0700, Greg KH wrote: > > 2.6.27-stable review patch. If anyone has any objections, please let us know. > > NACK. This has been shown to cause severe writeback regression for > other filesystems and is beeing reverted in mianline. Ok, I've dropped this one, and the two ext4 patches after this one as well. If someone wants them back, please feel free to redo them so that they apply to the .27 tree now. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 05/25/2010 11:52 AM, Greg KH wrote: > On Tue, May 25, 2010 at 07:12:08AM -0400, Christoph Hellwig wrote: >> On Mon, May 24, 2010 at 03:28:06PM -0700, Greg KH wrote: >>> 2.6.27-stable review patch. If anyone has any objections, please let us know. >> >> NACK. This has been shown to cause severe writeback regression for >> other filesystems and is beeing reverted in mianline. > > Ok, if I drop this one, I think I need to drop an ext4 patch as well, > I'll go figure that out and respin a -rc2 with this change in it. You'd have to drop the next two ext4 -stable patches to get a buildable kernel if you drop this one. The last of those ext4 patches is the one which fixes the deadlock from kernel bugzilla #12579. Jayson -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, May 25, 2010 at 12:00:58PM -0500, Jayson R. King wrote: > On 05/25/2010 11:52 AM, Greg KH wrote: > > On Tue, May 25, 2010 at 07:12:08AM -0400, Christoph Hellwig wrote: > >> On Mon, May 24, 2010 at 03:28:06PM -0700, Greg KH wrote: > >>> 2.6.27-stable review patch. If anyone has any objections, please let us know. > >> > >> NACK. This has been shown to cause severe writeback regression for > >> other filesystems and is beeing reverted in mianline. > > > > Ok, if I drop this one, I think I need to drop an ext4 patch as well, > > I'll go figure that out and respin a -rc2 with this change in it. > > You'd have to drop the next two ext4 -stable patches to get a buildable > kernel if you drop this one. The last of those ext4 patches is the one > which fixes the deadlock from kernel bugzilla #12579. I've now dropped those next two ext4 patches. If someone wants to get this bug fixed for the .27 tree, please feel free to send me the patches. Personally, I doubt many people care about ext4 on the .27 kernel release... thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 05/25/2010 12:12 PM, Greg KH wrote: > I've now dropped those next two ext4 patches. If someone wants to get > this bug fixed for the .27 tree, please feel free to send me the > patches. I'll nominate Ted's "ext4: Use our own write_cache_pages()" patch for .27-stable when it hits mainline. If it is included in -stable, then those last two ext4 patches can be re-applied. > Personally, I doubt many people care about ext4 on the .27 kernel > release... In any case, 2.6.27 is a good kernel, and ext4 is a good FS, IMO. Jayson -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -62,6 +62,15 @@ struct writeback_control { unsigned for_writepages:1; /* This is a writepages() call */ unsigned range_cyclic:1; /* range_start is cyclic */ unsigned more_io:1; /* more io to be dispatched */ + /* + * write_cache_pages() won't update wbc->nr_to_write and + * mapping->writeback_index if no_nrwrite_index_update + * is set. write_cache_pages() may write more than we + * requested and we want to make sure nr_to_write and + * writeback_index are updated in a consistent manner + * so we use a single control to update them + */ + unsigned no_nrwrite_index_update:1; }; /* --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -878,6 +878,7 @@ int write_cache_pages(struct address_spa pgoff_t done_index; int cycled; int range_whole = 0; + long nr_to_write = wbc->nr_to_write; if (wbc->nonblocking && bdi_write_congested(bdi)) { wbc->encountered_congestion = 1; @@ -985,9 +986,9 @@ continue_unlock: } } - if (wbc->nr_to_write > 0) { - wbc->nr_to_write--; - if (wbc->nr_to_write == 0 && + if (nr_to_write > 0) { + nr_to_write--; + if (nr_to_write == 0 && wbc->sync_mode == WB_SYNC_NONE) { /* * We stop writing back only if we are @@ -1024,8 +1025,11 @@ continue_unlock: end = writeback_index - 1; goto retry; } - if (wbc->range_cyclic || (range_whole && wbc->nr_to_write > 0)) - mapping->writeback_index = done_index; + if (!wbc->no_nrwrite_index_update) { + if (wbc->range_cyclic || (range_whole && nr_to_write > 0)) + mapping->writeback_index = done_index; + wbc->nr_to_write = nr_to_write; + } return ret; }