Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754951AbbDTLrw (ORCPT ); Mon, 20 Apr 2015 07:47:52 -0400 Received: from baozis.org ([192.241.220.20]:47627 "EHLO baozis.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754626AbbDTLru (ORCPT ); Mon, 20 Apr 2015 07:47:50 -0400 X-Greylist: delayed 2401 seconds by postgrey-1.27 at vger.kernel.org; Mon, 20 Apr 2015 07:47:50 EDT Date: Mon, 20 Apr 2015 19:07:30 +0800 From: Chen Baozi To: David Vrabel Cc: xen-devel@lists.xen.org, stefano.stabellini@eu.citrix.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [Xen-devel] [PATCH] xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages. Message-ID: <20150420110729.GA27707@cbz-thinkpad> References: <1429526904-27176-1-git-send-email-cbz@baozis.org> <5534DABB.5060305@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5534DABB.5060305@citrix.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1377 Lines: 37 On Mon, Apr 20, 2015 at 11:53:47AM +0100, David Vrabel wrote: > On 20/04/15 11:48, Chen Baozi wrote: > > Make sure that xen_swiotlb_init allocates buffers that is DMA capable. > > > > Signed-off-by: Chen Baozi > > --- > > drivers/xen/swiotlb-xen.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c > > index 810ad41..7345afd 100644 > > --- a/drivers/xen/swiotlb-xen.c > > +++ b/drivers/xen/swiotlb-xen.c > > @@ -235,7 +235,8 @@ retry: > > #define SLABS_PER_PAGE (1 << (PAGE_SHIFT - IO_TLB_SHIFT)) > > #define IO_TLB_MIN_SLABS ((1<<20) >> IO_TLB_SHIFT) > > while ((SLABS_PER_PAGE << order) > IO_TLB_MIN_SLABS) { > > - xen_io_tlb_start = (void *)__get_free_pages(__GFP_NOWARN, order); > > + xen_io_tlb_start = (void *)__get_free_pages( > > + __GFP_NOWARN|__GFP_DMA, order); > > I think this breaks x86 where __GFP_DMA means below 16 MB. Perhaps you > mean __GFP_DMA32? __GFP_DMA32 doesn't help on arm64... I guess there might be conflicts about the meaning of __GFP_DMA between x86 and arm? Cheers, Baozi. -- 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/