From: Richard Zhao <rizhao-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: "linuxzsc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
<linuxzsc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org"
<sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>,
"linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org"
<linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
"m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org"
<m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] ARM: dma: Drop __GFP_COMP for iommu dma memory allocations
Date: Fri, 21 Jun 2013 12:52:40 +0800 [thread overview]
Message-ID: <20130621045240.GH17331@rizhao-lap> (raw)
In-Reply-To: <20130620.173511.831032817734076793.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
On Thu, Jun 20, 2013 at 10:35:11PM +0800, Hiroshi Doyu wrote:
> Richard Zhao <linuxzsc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote @ Thu, 20 Jun 2013 15:40:50 +0200:
>
> > >> + /*
> > >> + * Following is a work-around (a.k.a. hack) to prevent pages
> > >> + * with __GFP_COMP being passed to split_page() which cannot
> > >> + * handle them. The real problem is that this flag probably
> > >> + * should be 0 on ARM as it is not supported on this
> > >> + * platform; see CONFIG_HUGETLBFS.
> > >> + */
> > >> + gfp &= ~(__GFP_COMP);
> > >
> > >
> > > Hm, what exactly is the sense you meant in using ()?
> >
> > It's copy/paste from elsewhere in this file. At least it's consistent? :)
>
> I almost sent the exact same one, actually it was under internal reivew;)
Ah, sorry I didn't search internal mails but only arm mail list for related
fix, since I thought it's not specific to tegra. Why not give it a
Reviewed-by or Tested-by?
>
> This patch is similar but is the iommu version of:
Exactly.
Thanks
Richard
>
>
> commit ea2e7057c0234cfb8b09467d8f137760d371fc72
> Author: Sumit Bhattacharya <sumitb-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> Date: Thu Nov 24 00:47:12 2011 +0100
>
> ARM: 7172/1: dma: Drop GFP_COMP for DMA memory allocations
>
> dma_alloc_coherent wants to split pages after allocation in order to
> reduce the memory footprint. This does not work well with GFP_COMP
> pages, so drop this flag before allocation.
>
> This patch is ported from arch/avr32
> (commit 3611553ef985ef7c5863c8a94641738addd04cff).
>
> [swarren: s/HUGETLB_PAGE/HUGETLBFS/ in comment, minor comment cleanup]
>
> Signed-off-by: Sumit Bhattacharya <sumitb-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> Tested-by: Varun Colbert <vcolbert-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> Signed-off-by: Russell King <rmk+kernel-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
>
> diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> index ab58456..1aa664a 100644
> --- a/arch/arm/mm/dma-mapping.c
> +++ b/arch/arm/mm/dma-mapping.c
> @@ -332,6 +332,15 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
> struct page *page;
> void *addr;
>
> + /*
> + * Following is a work-around (a.k.a. hack) to prevent pages
> + * with __GFP_COMP being passed to split_page() which cannot
> + * handle them. The real problem is that this flag probably
> + * should be 0 on ARM as it is not supported on this
> + * platform; see CONFIG_HUGETLBFS.
> + */
> + gfp &= ~(__GFP_COMP);
> +
> *handle = ~0;
> size = PAGE_ALIGN(size);
WARNING: multiple messages have this Message-ID (diff)
From: rizhao@nvidia.com (Richard Zhao)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: dma: Drop __GFP_COMP for iommu dma memory allocations
Date: Fri, 21 Jun 2013 12:52:40 +0800 [thread overview]
Message-ID: <20130621045240.GH17331@rizhao-lap> (raw)
In-Reply-To: <20130620.173511.831032817734076793.hdoyu@nvidia.com>
On Thu, Jun 20, 2013 at 10:35:11PM +0800, Hiroshi Doyu wrote:
> Richard Zhao <linuxzsc@gmail.com> wrote @ Thu, 20 Jun 2013 15:40:50 +0200:
>
> > >> + /*
> > >> + * Following is a work-around (a.k.a. hack) to prevent pages
> > >> + * with __GFP_COMP being passed to split_page() which cannot
> > >> + * handle them. The real problem is that this flag probably
> > >> + * should be 0 on ARM as it is not supported on this
> > >> + * platform; see CONFIG_HUGETLBFS.
> > >> + */
> > >> + gfp &= ~(__GFP_COMP);
> > >
> > >
> > > Hm, what exactly is the sense you meant in using ()?
> >
> > It's copy/paste from elsewhere in this file. At least it's consistent? :)
>
> I almost sent the exact same one, actually it was under internal reivew;)
Ah, sorry I didn't search internal mails but only arm mail list for related
fix, since I thought it's not specific to tegra. Why not give it a
Reviewed-by or Tested-by?
>
> This patch is similar but is the iommu version of:
Exactly.
Thanks
Richard
>
>
> commit ea2e7057c0234cfb8b09467d8f137760d371fc72
> Author: Sumit Bhattacharya <sumitb@nvidia.com>
> Date: Thu Nov 24 00:47:12 2011 +0100
>
> ARM: 7172/1: dma: Drop GFP_COMP for DMA memory allocations
>
> dma_alloc_coherent wants to split pages after allocation in order to
> reduce the memory footprint. This does not work well with GFP_COMP
> pages, so drop this flag before allocation.
>
> This patch is ported from arch/avr32
> (commit 3611553ef985ef7c5863c8a94641738addd04cff).
>
> [swarren: s/HUGETLB_PAGE/HUGETLBFS/ in comment, minor comment cleanup]
>
> Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com>
> Tested-by: Varun Colbert <vcolbert@nvidia.com>
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
>
> diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> index ab58456..1aa664a 100644
> --- a/arch/arm/mm/dma-mapping.c
> +++ b/arch/arm/mm/dma-mapping.c
> @@ -332,6 +332,15 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
> struct page *page;
> void *addr;
>
> + /*
> + * Following is a work-around (a.k.a. hack) to prevent pages
> + * with __GFP_COMP being passed to split_page() which cannot
> + * handle them. The real problem is that this flag probably
> + * should be 0 on ARM as it is not supported on this
> + * platform; see CONFIG_HUGETLBFS.
> + */
> + gfp &= ~(__GFP_COMP);
> +
> *handle = ~0;
> size = PAGE_ALIGN(size);
next prev parent reply other threads:[~2013-06-21 4:52 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-20 12:31 [PATCH] ARM: dma: Drop __GFP_COMP for iommu dma memory allocations Richard Zhao
2013-06-20 13:04 ` Sergei Shtylyov
2013-06-20 13:40 ` Richard Zhao
[not found] ` <CANg6MZg3A7-oXfdUSarQ8n0PRsS0_BLjqfQ914KUoSzDDtShFg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-20 14:35 ` Hiroshi Doyu
2013-06-20 14:35 ` Hiroshi Doyu
[not found] ` <20130620.173511.831032817734076793.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-06-21 4:52 ` Richard Zhao [this message]
2013-06-21 4:52 ` Richard Zhao
2013-06-21 9:33 ` Marek Szyprowski
2013-06-21 11:04 ` Richard Zhao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130621045240.GH17331@rizhao-lap \
--to=rizhao-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
--cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linuxzsc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=sergei.shtylyov-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org \
--cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.