We don't want to introduce pointless delays in throttle_vm_writeout()
when the writeback limits are not yet exceeded, do we?
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: Pete Zaitcev <zaitcev@redhat.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn>
---
mm/page-writeback.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
--- linux-2.6.23-rc8-mm1.orig/mm/page-writeback.c
+++ linux-2.6.23-rc8-mm1/mm/page-writeback.c
@@ -507,16 +507,6 @@ void throttle_vm_writeout(gfp_t gfp_mask
long background_thresh;
long dirty_thresh;
- if ((gfp_mask & (__GFP_FS|__GFP_IO)) != (__GFP_FS|__GFP_IO)) {
- /*
- * The caller might hold locks which can prevent IO completion
- * or progress in the filesystem. So we cannot just sit here
- * waiting for IO to complete.
- */
- congestion_wait(WRITE, HZ/10);
- return;
- }
-
for ( ; ; ) {
get_dirty_limits(&background_thresh, &dirty_thresh, NULL, NULL);
@@ -530,6 +520,14 @@ void throttle_vm_writeout(gfp_t gfp_mask
global_page_state(NR_WRITEBACK) <= dirty_thresh)
break;
congestion_wait(WRITE, HZ/10);
+
+ /*
+ * The caller might hold locks which can prevent IO completion
+ * or progress in the filesystem. So we cannot just sit here
+ * waiting for IO to complete.
+ */
+ if ((gfp_mask & (__GFP_FS|__GFP_IO)) != (__GFP_FS|__GFP_IO))
+ break;
}
}
-
| David Miller | [GIT]: Networking |
| Fred . | Please add ZFS support (from GPL sources) |
| Pavel Roskin | [PATCH 2.6.25] module: allow ndiswrapper to use GPL-only symbols |
| David Howells | [PATCH 02/52] CRED: Give in_group_p() a cred pointer |
git: | |
| Dmitry Torokhov | Garbage in .git directories??? |
| Dan Farina | backup or mirror a repository |
| Sergei Organov | Newbie: report of first experience with git-rebase. |
| Richard Quirk | git-cherry-pick no longer detecting moved files in 1.5.3.4 |
| Kevin | uvm_mapent_alloc: out of static map entries on 4.3 i386 |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Douglas A. Tutty | how get colour mutt when ssh from OBSD? |
| Brandon Lee | DELL PERC 5iR slow performance |
| Hubert Feyrer | Compressed vnd handling tested successfully |
| Jaromir Dolecek | Arch-specific maxproc limit? |
| YAMAMOTO Takashi | scheduler_wait_hook |
| David Laight | Re: Integrating securelevel and kauth(9) |
