Re: [PATCH 6/7] mm: add CONFIG_DEBUG_VM_RB build option

From: Sasha Levin
Date: Fri Sep 14 2012 - 18:39:43 EST


On 09/15/2012 12:14 AM, Sasha Levin wrote:
> On 09/04/2012 11:20 AM, Michel Lespinasse wrote:
>> Add a CONFIG_DEBUG_VM_RB build option for the previously existing
>> DEBUG_MM_RB code. Now that Andi Kleen modified it to avoid using
>> recursive algorithms, we can expose it a bit more.
>>
>> Also extend this code to validate_mm() after stack expansion, and to
>> check that the vma's start and last pgoffs have not changed since the
>> nodes were inserted on the anon vma interval tree (as it is important
>> that the nodes be reindexed after each such update).
>
> This patch exposes the following warning:
>
> [ 24.977502] ------------[ cut here ]------------
> [ 24.979089] WARNING: at mm/interval_tree.c:110
> anon_vma_interval_tree_verify+0x81/0xa0()
> [ 24.981765] Pid: 5928, comm: trinity-child37 Tainted: G W
> 3.6.0-rc5-next-20120914-sasha-00003-g7deb7fa-dirty #333
> [ 24.985501] Call Trace:
> [ 24.986345] [<ffffffff81224c91>] ? anon_vma_interval_tree_verify+0x81/0xa0
> [ 24.988535] [<ffffffff81106766>] warn_slowpath_common+0x86/0xb0
> [ 24.990636] [<ffffffff81106855>] warn_slowpath_null+0x15/0x20
> [ 24.992658] [<ffffffff81224c91>] anon_vma_interval_tree_verify+0x81/0xa0
> [ 24.994980] [<ffffffff8122e6e8>] validate_mm+0x58/0x1e0
> [ 24.996772] [<ffffffff8122e934>] vma_link+0x94/0xe0
> [ 24.997719] [<ffffffff812315e9>] copy_vma+0x279/0x2e0
> [ 24.998522] [<ffffffff8117a7fd>] ? trace_hardirqs_off+0xd/0x10
> [ 25.000772] [<ffffffff81232e89>] move_vma+0xa9/0x260
> [ 25.002499] [<ffffffff812334b5>] sys_mremap+0x475/0x540
> [ 25.004364] [<ffffffff8374b6e8>] tracesys+0xe1/0xe6
> [ 25.006108] ---[ end trace 7c901670963aa6e2 ]---
>
> The code line is
>
> WARN_ON_ONCE(node->cached_vma_last != avc_last_pgoff(node));
>

The second WARN in the function also triggers once in a while:

[ 18.360283] ------------[ cut here ]------------
[ 18.360289] WARNING: at mm/interval_tree.c:109
anon_vma_interval_tree_verify+0x36/0xa0()
[ 18.360292] Pid: 5694, comm: trinity-child15 Tainted: G W
3.6.0-rc5-next-20120914-sasha-00003-g7deb7fa-dirty #335
[ 18.360293] Call Trace:
[ 18.360297] [<ffffffff81224c26>] ? anon_vma_interval_tree_verify+0x36/0xa0
[ 18.360300] [<ffffffff81106746>] warn_slowpath_common+0x86/0xb0
[ 18.360303] [<ffffffff81106835>] warn_slowpath_null+0x15/0x20
[ 18.360305] [<ffffffff81224c26>] anon_vma_interval_tree_verify+0x36/0xa0
[ 18.360309] [<ffffffff8122e6c8>] validate_mm+0x58/0x1e0
[ 18.360312] [<ffffffff8122e914>] vma_link+0x94/0xe0
[ 18.360315] [<ffffffff812315c9>] copy_vma+0x279/0x2e0
[ 18.360319] [<ffffffff8117a7dd>] ? trace_hardirqs_off+0xd/0x10
[ 18.360322] [<ffffffff81232e69>] move_vma+0xa9/0x260
[ 18.360326] [<ffffffff81233495>] sys_mremap+0x475/0x540
[ 18.360330] [<ffffffff8374b6e8>] tracesys+0xe1/0xe6
[ 18.360332] ---[ end trace de862a218d00cefd ]---
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/