All of lore.kernel.org
 help / color / mirror / Atom feed
From: t.fujak@samsung.com (Tomasz Fujak)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv8 00/12] Contiguous Memory Allocator
Date: Mon, 27 Dec 2010 11:56:15 +0100	[thread overview]
Message-ID: <4D1870CF.6030601@samsung.com> (raw)
In-Reply-To: <8yasjxobc1o.fsf@huya.qualcomm.com>

On 2010-12-23 19:04, David Brown wrote:
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> A generic solution (that I think I already proposed) would be to
>> reserve a chunk of memory for the CMA that can be removed from the
>> normally mapped kernel memory through memblock at boot time. The size
>> of this memory region would be configurable through kconfig. Then, the
>> CMA would have a "dma" flag or something, and take chunks out of it
>> until there's no more, and then return errors. That would work for
>> ARM.
> That sounds an awful lot like the Android kernel's pmem implementation.
>
> Solving this problem is important for us as well, but, I'm not sure I
> see a better solution that something like Felipe suggests.
>
Alas, until  the multiple mapping problem is solved, we're stuck. Right
now, as brought to us by Russell, dma-able memory must be uncached.
Can't see reasonable use of such a memory in system-wide manner yet, at
least on A8.
A9 has PIPT caches in the data hierarchy, so some workaround could be
not to use such memory for program text. But could it really?

Any ideas?
> The disadvantage, of course, being that the memory isn't available for
> the system when the user isn't doing the multi-media.
>
The CMA is intended to do this: multimedia memory doubles as movable
zone, but again - according to RMK the problem is real (we just haven't
run into it yet though). And it's no fun when the device goes to a crawl
due to swapping while a third of the physical memory lies unused.
> David
>

  reply	other threads:[~2010-12-27 10:56 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-15 20:34 [PATCHv8 00/12] Contiguous Memory Allocator Michal Nazarewicz
2010-12-15 20:34 ` Michal Nazarewicz
2010-12-15 20:34 ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 01/12] mm: migrate.c: fix compilation error Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 02/12] lib: bitmap: Added alignment offset for bitmap_find_next_zero_area() Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 03/12] lib: genalloc: Generic allocator improvements Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 04/12] mm: move some functions from memory_hotplug.c to page_isolation.c Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 05/12] mm: alloc_contig_freed_pages() added Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 06/12] mm: alloc_contig_range() added Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 07/12] mm: cma: Contiguous Memory Allocator added Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2011-02-02 12:43   ` Ankita Garg
2011-02-02 12:43     ` Ankita Garg
2011-02-02 12:43     ` Ankita Garg
2011-02-02 14:58     ` Michal Nazarewicz
2011-02-02 14:58       ` Michal Nazarewicz
2011-02-02 14:58       ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 08/12] mm: MIGRATE_CMA migration type added Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 09/12] mm: MIGRATE_CMA isolation functions added Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 10/12] mm: MIGRATE_CMA support added to CMA Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 11/12] mm: cma: Test device and application added Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34 ` [PATCHv8 12/12] ARM: cma: Added CMA to Aquila, Goni and c210 universal boards Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-15 20:34   ` Michal Nazarewicz
2010-12-23  9:30 ` [PATCHv8 00/12] Contiguous Memory Allocator Kyungmin Park
2010-12-23  9:30   ` Kyungmin Park
2010-12-23  9:30   ` Kyungmin Park
2010-12-23 10:06   ` Russell King - ARM Linux
2010-12-23 10:06     ` Russell King - ARM Linux
2010-12-23 10:06     ` Russell King - ARM Linux
2010-12-23 10:58     ` Marek Szyprowski
2010-12-23 10:58       ` Marek Szyprowski
2010-12-23 10:58       ` Marek Szyprowski
2010-12-23 12:19       ` Russell King - ARM Linux
2010-12-23 12:19         ` Russell King - ARM Linux
2010-12-23 12:19         ` Russell King - ARM Linux
2010-12-23 13:09         ` Marek Szyprowski
2010-12-23 13:09           ` Marek Szyprowski
2010-12-23 13:09           ` Marek Szyprowski
2010-12-23 13:44           ` Russell King - ARM Linux
2010-12-23 13:44             ` Russell King - ARM Linux
2010-12-23 13:44             ` Russell King - ARM Linux
2011-01-12 18:49             ` Marek Szyprowski
2011-01-12 18:49               ` Marek Szyprowski
2011-01-12 18:49               ` Marek Szyprowski
2011-01-12 19:04               ` Nicolas Pitre
2011-01-12 19:04                 ` Nicolas Pitre
2011-01-12 19:04                 ` Nicolas Pitre
2011-01-13  7:01                 ` Marek Szyprowski
2011-01-13  7:01                   ` Marek Szyprowski
2011-01-13  7:01                   ` Marek Szyprowski
2010-12-23 13:35         ` Tomasz Fujak
2010-12-23 13:35           ` Tomasz Fujak
2010-12-23 13:35           ` Tomasz Fujak
2010-12-23 13:48           ` Russell King - ARM Linux
2010-12-23 13:48             ` Russell King - ARM Linux
2010-12-23 13:48             ` Russell King - ARM Linux
2010-12-23 14:04             ` Tomasz Fujak
2010-12-23 14:04               ` Tomasz Fujak
2010-12-23 14:04               ` Tomasz Fujak
2010-12-23 14:16               ` Russell King - ARM Linux
2010-12-23 14:16                 ` Russell King - ARM Linux
2010-12-23 14:16                 ` Russell King - ARM Linux
2010-12-23 14:42                 ` Felipe Contreras
2010-12-23 14:42                   ` Felipe Contreras
2010-12-23 14:42                   ` Felipe Contreras
2010-12-23 15:02                   ` Michal Nazarewicz
2010-12-23 15:02                     ` Michal Nazarewicz
2010-12-23 15:02                     ` Michal Nazarewicz
2010-12-23 18:04                   ` David Brown
2010-12-23 18:04                     ` David Brown
2010-12-23 18:04                     ` David Brown
2010-12-27 10:56                     ` Tomasz Fujak [this message]
2010-12-23 13:41     ` Michal Nazarewicz
2010-12-23 13:41       ` Michal Nazarewicz
2010-12-23 13:41       ` Michal Nazarewicz
2010-12-23 13:51       ` Russell King - ARM Linux
2010-12-23 13:51         ` Russell King - ARM Linux
2010-12-23 13:51         ` Russell King - ARM Linux
2010-12-23 14:08         ` Tomasz Fujak
2010-12-23 14:08           ` Tomasz Fujak
2010-12-23 14:08           ` Tomasz Fujak
2010-12-23 14:20           ` Russell King - ARM Linux
2010-12-23 14:20             ` Russell King - ARM Linux
2010-12-23 14:20             ` Russell King - ARM Linux
2010-12-23 15:35             ` Tomasz Fujak
2010-12-23 15:35               ` Tomasz Fujak
2010-12-23 15:35               ` Tomasz Fujak
2011-01-04 23:12             ` Jamie Lokier
2011-01-04 23:12               ` Jamie Lokier
2011-01-04 23:12               ` Jamie Lokier
2011-01-04 16:23     ` Johan MOSSBERG
2011-01-04 16:23       ` Johan MOSSBERG
2011-01-04 16:23       ` Johan MOSSBERG
2011-01-04 16:59       ` Michał Nazarewicz
2011-01-04 16:59         ` Michał Nazarewicz
2011-01-04 16:59         ` Michał Nazarewicz
2011-01-04 17:19       ` Russell King - ARM Linux
2011-01-04 17:19         ` Russell King - ARM Linux
2011-01-04 17:19         ` Russell King - ARM Linux
2011-01-04 17:31         ` Santosh Shilimkar
2011-01-04 17:31           ` Santosh Shilimkar
2011-01-04 17:31           ` Santosh Shilimkar

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=4D1870CF.6030601@samsung.com \
    --to=t.fujak@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.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.