linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marek Szyprowski <m.szyprowski@samsung.com>
To: "'Clark, Rob'" <rob@ti.com>
Cc: "'Ohad Ben-Cohen'" <ohad@wizery.com>,
	"'Daniel Walker'" <dwalker@codeaurora.org>,
	"'Russell King'" <linux@arm.linux.org.uk>,
	"'Arnd Bergmann'" <arnd@arndb.de>,
	"'Jonathan Corbet'" <corbet@lwn.net>,
	"'Mel Gorman'" <mel@csn.ul.ie>,
	"'Jesse Barker'" <jesse.barker@linaro.org>,
	linux-kernel@vger.kernel.org,
	"'Michal Nazarewicz'" <mina86@mina86.com>,
	"'Dave Hansen'" <dave@linux.vnet.ibm.com>,
	linaro-mm-sig@lists.linaro.org, linux-mm@kvack.org,
	"'Kyungmin Park'" <kyungmin.park@samsung.com>,
	"'KAMEZAWA Hiroyuki'" <kamezawa.hiroyu@jp.fujitsu.com>,
	"'Andrew Morton'" <akpm@linux-foundation.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org
Subject: RE: [Linaro-mm-sig] [PATCH 12/15] drivers: add Contiguous Memory Allocator
Date: Fri, 27 Jan 2012 15:51:09 +0100	[thread overview]
Message-ID: <010301ccdd03$1ad15ab0$50741010$%szyprowski@samsung.com> (raw)
In-Reply-To: <CAO8GWqnQg-W=TEc+CUc8hs=GrdCa9XCCWcedQx34cqURhNwNwA@mail.gmail.com>

Hello,

On Friday, January 27, 2012 3:28 PM Clark, Rob wrote:

> 2012/1/27 Marek Szyprowski <m.szyprowski@samsung.com>:
> > Hi Ohad,
> >
> > On Friday, January 27, 2012 10:44 AM Ohad Ben-Cohen wrote:
> >
> >> With v19, I can't seem to allocate big regions anymore (e.g. 101MiB).
> >> In particular, this seems to fail:
> >>
> >> On Thu, Jan 26, 2012 at 11:00 AM, Marek Szyprowski
> >> <m.szyprowski@samsung.com> wrote:
> >> > +static int cma_activate_area(unsigned long base_pfn, unsigned long count)
> >> > +{
> >> > +       unsigned long pfn = base_pfn;
> >> > +       unsigned i = count >> pageblock_order;
> >> > +       struct zone *zone;
> >> > +
> >> > +       WARN_ON_ONCE(!pfn_valid(pfn));
> >> > +       zone = page_zone(pfn_to_page(pfn));
> >> > +
> >> > +       do {
> >> > +               unsigned j;
> >> > +               base_pfn = pfn;
> >> > +               for (j = pageblock_nr_pages; j; --j, pfn++) {
> >> > +                       WARN_ON_ONCE(!pfn_valid(pfn));
> >> > +                       if (page_zone(pfn_to_page(pfn)) != zone)
> >> > +                               return -EINVAL;
> >>
> >> The above WARN_ON_ONCE is triggered, and then the conditional is
> >> asserted (page_zone() retuns a "Movable" zone, whereas zone is
> >> "Normal") and the function fails.
> >>
> >> This happens to me on OMAP4 with your 3.3-rc1-cma-v19 branch (and a
> >> bunch of remoteproc/rpmsg patches).
> >>
> >> Do big allocations work for you ?
> >
> > I've tested it with 256MiB on Exynos4 platform. Could you check if the
> > problem also appears on 3.2-cma-v19 branch (I've uploaded it a few hours
> > ago) and 3.2-cma-v18? Both are available on our public repo:
> > git://git.infradead.org/users/kmpark/linux-samsung/
> >
> > The above code has not been changed since v16, so I'm really surprised
> > that it causes problems. Maybe the memory configuration or layout has
> > been changed in 3.3-rc1 for OMAP4?
> 
> is highmem still an issue?  I remember hitting this WARN_ON_ONCE() but
> went away after I switched to a 2g/2g vm split (which avoids highmem)

No, it shouldn't be an issue. I've tested CMA v19 on a system with 1GiB of
the memory and general purpose (global) cma region was allocated correctly
at the end of low memory. For device private regions you should take care 
of correct placement by yourself, so maybe this is an issue in this case?

Ohad, could you tell a bit more about your issue? Does this 'large region'
is a device private region (declared with dma_declare_contiguous()) or is it
a global one (defined in Kconfig or cma= kernel boot parameter)? 

Best regards
-- 
Marek Szyprowski
Samsung Poland R&D Center



  reply	other threads:[~2012-01-27 14:51 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-26  9:00 [PATCHv19 00/15] Contiguous Memory Allocator Marek Szyprowski
2012-01-26  9:00 ` [PATCH 01/15] mm: page_alloc: remove trailing whitespace Marek Szyprowski
2012-01-30 10:59   ` Mel Gorman
2012-01-26  9:00 ` [PATCH 02/15] mm: page_alloc: update migrate type of pages on pcp when isolating Marek Szyprowski
2012-01-30 11:15   ` Mel Gorman
2012-01-30 15:41     ` Michal Nazarewicz
2012-01-30 16:14       ` Mel Gorman
2012-01-31 16:23         ` Marek Szyprowski
2012-02-02 12:47           ` Mel Gorman
2012-02-02 19:53             ` Michal Nazarewicz
2012-02-03  9:31               ` Marek Szyprowski
2012-02-03 11:27               ` Mel Gorman
2012-01-26  9:00 ` [PATCH 03/15] mm: compaction: introduce isolate_migratepages_range() Marek Szyprowski
2012-01-30 11:24   ` Mel Gorman
2012-01-30 12:42     ` Michal Nazarewicz
2012-01-30 13:25       ` Mel Gorman
2012-01-26  9:00 ` [PATCH 04/15] mm: compaction: introduce isolate_freepages_range() Marek Szyprowski
2012-01-30 11:48   ` Mel Gorman
2012-01-30 11:55     ` Mel Gorman
2012-01-26  9:00 ` [PATCH 05/15] mm: compaction: export some of the functions Marek Szyprowski
2012-01-30 11:57   ` Mel Gorman
2012-01-30 12:33     ` Michal Nazarewicz
2012-01-26  9:00 ` [PATCH 06/15] mm: page_alloc: introduce alloc_contig_range() Marek Szyprowski
2012-01-30 12:11   ` Mel Gorman
2012-01-26  9:00 ` [PATCH 07/15] mm: page_alloc: change fallbacks array handling Marek Szyprowski
2012-01-30 12:12   ` Mel Gorman
2012-01-26  9:00 ` [PATCH 08/15] mm: mmzone: MIGRATE_CMA migration type added Marek Szyprowski
2012-01-30 12:35   ` Mel Gorman
2012-01-30 13:06     ` Michal Nazarewicz
2012-01-30 14:52       ` Mel Gorman
2012-01-26  9:00 ` [PATCH 09/15] mm: page_isolation: MIGRATE_CMA isolation functions added Marek Szyprowski
2012-01-26  9:00 ` [PATCH 10/15] mm: extract reclaim code from __alloc_pages_direct_reclaim() Marek Szyprowski
2012-01-30 12:42   ` Mel Gorman
2012-01-26  9:00 ` [PATCH 11/15] mm: trigger page reclaim in alloc_contig_range() to stabilize watermarks Marek Szyprowski
2012-01-30 13:05   ` Mel Gorman
2012-01-31 17:15     ` Marek Szyprowski
2012-01-26  9:00 ` [PATCH 12/15] drivers: add Contiguous Memory Allocator Marek Szyprowski
2012-01-27  9:44   ` [Linaro-mm-sig] " Ohad Ben-Cohen
2012-01-27 10:53     ` Marek Szyprowski
2012-01-27 14:27       ` Clark, Rob
2012-01-27 14:51         ` Marek Szyprowski [this message]
2012-01-27 14:59           ` Ohad Ben-Cohen
2012-01-27 15:17             ` Marek Szyprowski
2012-01-28 18:57               ` Ohad Ben-Cohen
2012-01-30  7:43                 ` Marek Szyprowski
2012-01-30  9:16                   ` Ohad Ben-Cohen
2012-01-27 14:56       ` Ohad Ben-Cohen
2012-01-26  9:00 ` [PATCH 13/15] X86: integrate CMA with DMA-mapping subsystem Marek Szyprowski
2012-01-26  9:00 ` [PATCH 14/15] ARM: " Marek Szyprowski
2012-01-26  9:00 ` [PATCH 15/15] ARM: Samsung: use CMA for 2 memory banks for s5p-mfc device Marek Szyprowski
2012-01-26 15:31 ` [PATCHv19 00/15] Contiguous Memory Allocator Arnd Bergmann
2012-01-26 15:38   ` Michal Nazarewicz
2012-01-26 15:48   ` Marek Szyprowski
2012-01-28  0:26   ` Andrew Morton
2012-01-29 18:09     ` Rob Clark
2012-01-29 20:32       ` Anca Emanuel
2012-01-29 20:51     ` Arnd Bergmann
2012-01-30 13:25     ` Mel Gorman
2012-01-30 15:43       ` Michal Nazarewicz
     [not found]         ` <CA+M3ks7h1t6DbPSAhPN6LJ5Dw84hSukfWG16avh2eZL+o4caJg@mail.gmail.com>
2012-02-01  8:47           ` Marek Szyprowski
2012-02-10 18:10     ` Marek Szyprowski

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='010301ccdd03$1ad15ab0$50741010$%szyprowski@samsung.com' \
    --to=m.szyprowski@samsung.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=corbet@lwn.net \
    --cc=dave@linux.vnet.ibm.com \
    --cc=dwalker@codeaurora.org \
    --cc=jesse.barker@linaro.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mel@csn.ul.ie \
    --cc=mina86@mina86.com \
    --cc=ohad@wizery.com \
    --cc=rob@ti.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).