public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] loop 1/9 file use highmem
@ 2003-06-10 15:30 Hugh Dickins
  2003-06-10 15:31 ` [PATCH] loop 2/9 absorb bio_copy Hugh Dickins
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Hugh Dickins @ 2003-06-10 15:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Here's the first of nine small patches to the loop driver,
mostly to reduce its pressure on zone normal when there's highmem.

I don't pretend these fix every loop hang I see and you not,
nor have I completed reinvestigating those against latest kernel.
These patches just remove what I hope we'll agree is silliness,
setting a base for further work.

(Some could conceivably make some loads worse: making better use of
highmem for data could in theory expose kmap deadlocks, I've never seen,
or permit so much more data in transit that mempool exhaustion wins:
if so, we fix those issues, rather than depending on mistakes.)

Based on 2.5.70-mm7.  Aggregate diffstat is:

 drivers/block/loop.c |   71 +++++++++++++++++++++++++++------------------
 fs/bio.c             |   79 ---------------------------------------------------
 include/linux/bio.h  |    1 
 include/linux/loop.h |    1 
 4 files changed, 43 insertions(+), 109 deletions(-)

loop 1/9 file use highmem

When loop restricts underlying file's allocation mask to avoid
deadlock, it unintentionally masks out its highmem capability,
making failures at the underlying level much more likely.

--- 2.5.70-mm7/drivers/block/loop.c	Mon Jun  9 10:14:55 2003
+++ loop1/drivers/block/loop.c	Mon Jun  9 10:29:01 2003
@@ -714,7 +714,7 @@
 		goto out_putf;
 	}
 	lo->old_gfp_mask = inode->i_mapping->gfp_mask;
-	inode->i_mapping->gfp_mask = GFP_NOIO;
+	inode->i_mapping->gfp_mask &= ~(__GFP_IO|__GFP_FS);
 
 	set_blocksize(bdev, lo_blocksize);
 


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2003-06-10 15:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-10 15:30 [PATCH] loop 1/9 file use highmem Hugh Dickins
2003-06-10 15:31 ` [PATCH] loop 2/9 absorb bio_copy Hugh Dickins
2003-06-10 15:37   ` Jens Axboe
2003-06-10 16:02     ` Hugh Dickins
2003-06-10 16:01       ` Jens Axboe
2003-06-10 15:31 ` [PATCH] loop 3/9 loop bio renaming Hugh Dickins
2003-06-10 15:32 ` [PATCH] loop 4/9 copy bio not data Hugh Dickins
2003-06-10 15:33 ` [PATCH] loop 5/9 remove an IV Hugh Dickins
2003-06-10 15:34 ` [PATCH] loop 6/9 remove LO_FLAGS_BH_REMAP Hugh Dickins
2003-06-10 15:42   ` Jens Axboe
2003-06-10 15:35 ` [PATCH] loop 7/9 remove blk_queue_bounce Hugh Dickins
2003-06-10 15:37 ` [PATCH] loop 8/9 copy_bio use highmem Hugh Dickins
2003-06-10 15:38 ` [PATCH] loop 9/9 don't lose PF_MEMDIE Hugh Dickins

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox