lkml.org 
[lkml]   [2002]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectQ: blk_queue_bounce_limit
I think the selection of the ISA pool in blk_queue_bounce_limit is
wrong:
it switches to the ISA pool if the requested DMA address is equal to
16 MB. I think it must switch if the requested bounce limit is smaller
than max_low_pfn.

<<<<<<<
- if (dma_addr == BLK_BOUNCE_ISA) {
+ if (bounce_pfn < blk_max_low_pfn) {
+ BUG_ON(dma_addr < BLK_BOUNCE_ISA);
init_emergency_isa_pool();
q->bounce_gfp = GFP_NOIO | GFP_DMA;
} else
q->bounce_gfp = GFP_NOHIGHIO;
<<<

Usually both lines are identical, except:
- If only 16 MB are installed, then bouncing to ISA is never needed.
- There could be broken devices that only support DMA to < 512 MB.
For such a device no bounce it needed if less than 512 MB is installed,
and if more is installed we must bounce to ISA. (since we don't have
a 512MB zone).
- Bouncing to less that 16 MB is not supported.

--
Manfred
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:15    [W:0.040 / U:0.728 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site