2008-03-28 19:49:21

by Andrea Arcangeli

[permalink] [raw]
Subject: regression breaks lowmem reserved RAM

This is crashing at boot my lowmem reserved RAM patch. This is causing
GFP_DMA allocations at boot for no good reason. It crashes in my case
because there's no ram below 16M available to linux. Are you sure this
is needed at all, for sure if there's any bug this isn't the right fix.

Please reverse, thanks!

changeset: 87150:1f7afb388483
user: Yang Shi <[email protected]>
date: Tue Mar 04 11:20:51 2008 +0100
summary: Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory

diff --git a/block/blk-settings.c b/block/blk-settings.c
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -140,7 +140,7 @@ void blk_queue_bounce_limit(struct reque
/* Assume anything <= 4GB can be handled by IOMMU.
Actually some IOMMUs can handle everything, but I don't
know of a way to test this here. */
- if (b_pfn < (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
+ if (b_pfn <= (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
dma = 1;
q->bounce_pfn = max_low_pfn;
#else