From: grygorii.strashko@ti.com (Grygorii Strashko)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 02/23] mm/memblock: debug: don't free reserved array if !ARCH_DISCARD_MEMBLOCK
Date: Tue, 10 Dec 2013 18:44:15 +0200 [thread overview]
Message-ID: <52A744DF.7060005@ti.com> (raw)
In-Reply-To: <20131209161134.e161ddfedf284f2052cad4a5@linux-foundation.org>
Hi Andrew,
On 12/10/2013 02:11 AM, Andrew Morton wrote:
> On Mon, 9 Dec 2013 16:50:35 -0500 Santosh Shilimkar <santosh.shilimkar@ti.com> wrote:
>
>> Now the Nobootmem allocator will always try to free memory allocated for
>> reserved memory regions (free_low_memory_core_early()) without taking
>> into to account current memblock debugging configuration
>> (CONFIG_ARCH_DISCARD_MEMBLOCK and CONFIG_DEBUG_FS state).
>> As result if:
>> - CONFIG_DEBUG_FS defined
>> - CONFIG_ARCH_DISCARD_MEMBLOCK not defined;
>> - reserved memory regions array have been resized during boot
>>
>> then:
>> - memory allocated for reserved memory regions array will be freed to
>> buddy allocator;
>> - debug_fs entry "sys/kernel/debug/memblock/reserved" will show garbage
>> instead of state of memory reservations. like:
>> 0: 0x98393bc0..0x9a393bbf
>> 1: 0xff120000..0xff11ffff
>> 2: 0x00000000..0xffffffff
>>
>> Hence, do not free memory allocated for reserved memory regions if
>> defined(CONFIG_DEBUG_FS) && !defined(CONFIG_ARCH_DISCARD_MEMBLOCK).
>
> Alternatives:
>
> - disable /proc/sys/kernel/debug/memblock/reserved in this case
>
> - disable defined(CONFIG_DEBUG_FS) &&
> !defined(CONFIG_ARCH_DISCARD_MEMBLOCK) in Kconfig.
Yes. But this is debug information and it's useful to have it.
>
> How much memory are we talking about here? If it's more than "very
> little" then I think either of these would be better - most users will
> value the extra memory over an accurate
> /proc/sys/kernel/debug/memblock/reserved?
>
Sorry, I have no real statistic information and I hit this issue while testing this series
by simulating huge amount of bootmem allocation during kernel boot.
The real number of entries i saw on Keystone & OMAP boards is no more than ~20.
Few digits below:
- size of static reserved memory regions array is 2048 bytes
- the size of array is doubled during each allocation
Regards,
-grygorii
WARNING: multiple messages have this Message-ID (diff)
From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Andrew Morton <akpm@linux-foundation.org>,
Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-arm-kernel@lists.infradead.org,
Yinghai Lu <yinghai@kernel.org>, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH v3 02/23] mm/memblock: debug: don't free reserved array if !ARCH_DISCARD_MEMBLOCK
Date: Tue, 10 Dec 2013 18:44:15 +0200 [thread overview]
Message-ID: <52A744DF.7060005@ti.com> (raw)
In-Reply-To: <20131209161134.e161ddfedf284f2052cad4a5@linux-foundation.org>
Hi Andrew,
On 12/10/2013 02:11 AM, Andrew Morton wrote:
> On Mon, 9 Dec 2013 16:50:35 -0500 Santosh Shilimkar <santosh.shilimkar@ti.com> wrote:
>
>> Now the Nobootmem allocator will always try to free memory allocated for
>> reserved memory regions (free_low_memory_core_early()) without taking
>> into to account current memblock debugging configuration
>> (CONFIG_ARCH_DISCARD_MEMBLOCK and CONFIG_DEBUG_FS state).
>> As result if:
>> - CONFIG_DEBUG_FS defined
>> - CONFIG_ARCH_DISCARD_MEMBLOCK not defined;
>> - reserved memory regions array have been resized during boot
>>
>> then:
>> - memory allocated for reserved memory regions array will be freed to
>> buddy allocator;
>> - debug_fs entry "sys/kernel/debug/memblock/reserved" will show garbage
>> instead of state of memory reservations. like:
>> 0: 0x98393bc0..0x9a393bbf
>> 1: 0xff120000..0xff11ffff
>> 2: 0x00000000..0xffffffff
>>
>> Hence, do not free memory allocated for reserved memory regions if
>> defined(CONFIG_DEBUG_FS) && !defined(CONFIG_ARCH_DISCARD_MEMBLOCK).
>
> Alternatives:
>
> - disable /proc/sys/kernel/debug/memblock/reserved in this case
>
> - disable defined(CONFIG_DEBUG_FS) &&
> !defined(CONFIG_ARCH_DISCARD_MEMBLOCK) in Kconfig.
Yes. But this is debug information and it's useful to have it.
>
> How much memory are we talking about here? If it's more than "very
> little" then I think either of these would be better - most users will
> value the extra memory over an accurate
> /proc/sys/kernel/debug/memblock/reserved?
>
Sorry, I have no real statistic information and I hit this issue while testing this series
by simulating huge amount of bootmem allocation during kernel boot.
The real number of entries i saw on Keystone & OMAP boards is no more than ~20.
Few digits below:
- size of static reserved memory regions array is 2048 bytes
- the size of array is doubled during each allocation
Regards,
-grygorii
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Andrew Morton <akpm@linux-foundation.org>,
Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: <linux-kernel@vger.kernel.org>, <linux-mm@kvack.org>,
<linux-arm-kernel@lists.infradead.org>,
Yinghai Lu <yinghai@kernel.org>, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH v3 02/23] mm/memblock: debug: don't free reserved array if !ARCH_DISCARD_MEMBLOCK
Date: Tue, 10 Dec 2013 18:44:15 +0200 [thread overview]
Message-ID: <52A744DF.7060005@ti.com> (raw)
In-Reply-To: <20131209161134.e161ddfedf284f2052cad4a5@linux-foundation.org>
Hi Andrew,
On 12/10/2013 02:11 AM, Andrew Morton wrote:
> On Mon, 9 Dec 2013 16:50:35 -0500 Santosh Shilimkar <santosh.shilimkar@ti.com> wrote:
>
>> Now the Nobootmem allocator will always try to free memory allocated for
>> reserved memory regions (free_low_memory_core_early()) without taking
>> into to account current memblock debugging configuration
>> (CONFIG_ARCH_DISCARD_MEMBLOCK and CONFIG_DEBUG_FS state).
>> As result if:
>> - CONFIG_DEBUG_FS defined
>> - CONFIG_ARCH_DISCARD_MEMBLOCK not defined;
>> - reserved memory regions array have been resized during boot
>>
>> then:
>> - memory allocated for reserved memory regions array will be freed to
>> buddy allocator;
>> - debug_fs entry "sys/kernel/debug/memblock/reserved" will show garbage
>> instead of state of memory reservations. like:
>> 0: 0x98393bc0..0x9a393bbf
>> 1: 0xff120000..0xff11ffff
>> 2: 0x00000000..0xffffffff
>>
>> Hence, do not free memory allocated for reserved memory regions if
>> defined(CONFIG_DEBUG_FS) && !defined(CONFIG_ARCH_DISCARD_MEMBLOCK).
>
> Alternatives:
>
> - disable /proc/sys/kernel/debug/memblock/reserved in this case
>
> - disable defined(CONFIG_DEBUG_FS) &&
> !defined(CONFIG_ARCH_DISCARD_MEMBLOCK) in Kconfig.
Yes. But this is debug information and it's useful to have it.
>
> How much memory are we talking about here? If it's more than "very
> little" then I think either of these would be better - most users will
> value the extra memory over an accurate
> /proc/sys/kernel/debug/memblock/reserved?
>
Sorry, I have no real statistic information and I hit this issue while testing this series
by simulating huge amount of bootmem allocation during kernel boot.
The real number of entries i saw on Keystone & OMAP boards is no more than ~20.
Few digits below:
- size of static reserved memory regions array is 2048 bytes
- the size of array is doubled during each allocation
Regards,
-grygorii
next prev parent reply other threads:[~2013-12-10 16:44 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-09 21:50 [PATCH v3 00/23] mm: Use memblock interface instead of bootmem Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 01/23] mm/memblock: debug: correct displaying of upper memory boundary Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:56 ` Felipe Balbi
2013-12-09 21:56 ` Felipe Balbi
2013-12-09 21:56 ` Felipe Balbi
2013-12-09 22:39 ` Santosh Shilimkar
2013-12-09 22:39 ` Santosh Shilimkar
2013-12-09 22:39 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 02/23] mm/memblock: debug: don't free reserved array if !ARCH_DISCARD_MEMBLOCK Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-10 0:11 ` Andrew Morton
2013-12-10 0:11 ` Andrew Morton
2013-12-10 0:11 ` Andrew Morton
2013-12-10 16:44 ` Grygorii Strashko [this message]
2013-12-10 16:44 ` Grygorii Strashko
2013-12-10 16:44 ` Grygorii Strashko
2013-12-09 21:50 ` [PATCH v3 03/23] mm/bootmem: remove duplicated declaration of __free_pages_bootmem() Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 04/23] mm/memblock: remove unnecessary inclusions of bootmem.h Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 05/23] mm/memblock: drop WARN and use SMP_CACHE_BYTES as a default alignment Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-13 21:21 ` Tejun Heo
2013-12-13 21:21 ` Tejun Heo
2013-12-13 21:21 ` Tejun Heo
2013-12-09 21:50 ` [PATCH v3 06/23] mm/memblock: reorder parameters of memblock_find_in_range_node Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-13 21:22 ` Tejun Heo
2013-12-13 21:22 ` Tejun Heo
2013-12-13 21:22 ` Tejun Heo
2013-12-09 21:50 ` [PATCH v3 07/23] mm/memblock: switch to use NUMA_NO_NODE instead of MAX_NUMNODES Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-13 21:29 ` Tejun Heo
2013-12-13 21:29 ` Tejun Heo
2013-12-13 21:29 ` Tejun Heo
2013-12-14 0:44 ` Santosh Shilimkar
2013-12-14 0:44 ` Santosh Shilimkar
2013-12-14 0:44 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 08/23] mm/memblock: Add memblock memory allocation apis Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-10 0:25 ` Andrew Morton
2013-12-10 0:25 ` Andrew Morton
2013-12-10 0:25 ` Andrew Morton
2013-12-10 16:04 ` Santosh Shilimkar
2013-12-10 16:04 ` Santosh Shilimkar
2013-12-10 16:04 ` Santosh Shilimkar
2013-12-13 21:37 ` Tejun Heo
2013-12-13 21:37 ` Tejun Heo
2013-12-13 21:37 ` Tejun Heo
2013-12-14 0:52 ` Santosh Shilimkar
2013-12-14 0:52 ` Santosh Shilimkar
2013-12-14 0:52 ` Santosh Shilimkar
2013-12-14 11:08 ` Tejun Heo
2013-12-14 11:08 ` Tejun Heo
2013-12-14 11:08 ` Tejun Heo
2013-12-14 19:48 ` Santosh Shilimkar
2013-12-14 19:48 ` Santosh Shilimkar
2013-12-14 19:48 ` Santosh Shilimkar
2013-12-20 22:30 ` Santosh Shilimkar
2013-12-20 22:30 ` Santosh Shilimkar
2013-12-20 22:30 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 09/23] mm/init: Use memblock apis for early memory allocations Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 10/23] mm/printk: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 11/23] mm/page_alloc: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 12/23] mm/power: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 13/23] mm/lib/swiotlb: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-13 1:08 ` Andrew Morton
2013-12-13 1:08 ` Andrew Morton
2013-12-13 1:24 ` Santosh Shilimkar
2013-12-13 1:24 ` Santosh Shilimkar
2013-12-13 1:24 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 14/23] mm/lib/cpumask: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 15/23] mm/sparse: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 16/23] mm/hugetlb: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 17/23] mm/page_cgroup: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 18/23] mm/percpu: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 19/23] mm/memory_hotplug: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 20/23] mm/firmware: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 21/23] mm/ARM: kernel: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 22/23] mm/ARM: mm: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` [PATCH v3 23/23] mm/ARM: OMAP: " Santosh Shilimkar
2013-12-09 21:50 ` Santosh Shilimkar
2013-12-09 21:50 ` 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=52A744DF.7060005@ti.com \
--to=grygorii.strashko@ti.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.