[dm-devel] [PATCH] block: set the bounce_pfn to the actual DMA limit rather than to max memory

Malahal Naineni malahal at us.ibm.com
Wed Sep 22 23:06:32 UTC 2010


Jens, any comments on this patch?

Thanks, Malahal.

Malahal Naineni [malahal at us.ibm.com] wrote:
> The bounce_pfn of the request queue in 64 bit systems is set to the
> current max_low_pfn. Adding more memory later makes this incorrect.
> Memory allocated beyond this boot time max_low_pfn appear to require
> bounce buffers (bounce buffers are actually not allocated but used in
> calculating segments that may result in "over max segments limit"
> errors).
> 
> Signed-off-by: Malahal Naineni (malahal at us.ibm.com)
> 
> diff -r 09daf852c1c5 -r c9516154fabc block/blk-settings.c
> --- a/block/blk-settings.c	Thu Sep 09 12:10:43 2010 -0700
> +++ b/block/blk-settings.c	Mon Sep 13 10:15:24 2010 -0700
> @@ -214,16 +214,14 @@ void blk_queue_bounce_limit(struct reque
>  	 */
>  	if (b_pfn < (min_t(u64, 0xffffffffUL, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
>  		dma = 1;
> -	q->limits.bounce_pfn = max_low_pfn;
>  #else
>  	if (b_pfn < blk_max_low_pfn)
>  		dma = 1;
> +#endif
>  	q->limits.bounce_pfn = b_pfn;
> -#endif
>  	if (dma) {
>  		init_emergency_isa_pool();
>  		q->limits.bounce_gfp = GFP_NOIO | GFP_DMA;
> -		q->limits.bounce_pfn = b_pfn;
>  	}
>  }
>  EXPORT_SYMBOL(blk_queue_bounce_limit);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html




More information about the dm-devel mailing list