lkml.org 
[lkml]   [2005]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/5] freepgt: free_pgtables use vma list

Ok, here is a full dump of a free_pgtables() run that
fails to clear out all the PMD's.

It gets called with this VMA list (each entry is a
vm_start/vm_end tuple)

[0x00010000:0x000a4000]
[0x000b2000:0x000b8000]
[0x000b8000:0x000de000]
[0x70000000:0x7001a000]
[0x70028000:0x7002a000]
[0x7002c000:0x7006a000]
[0x7006a000:0x7006c000]
[0x7006c000:0x70084000]
[0x70084000:0x70088000]
[0x70088000:0x70094000]
[0x70094000:0x70098000]
[0x70098000:0x701da000]
[0x701da000:0x701e8000]
[0x701e8000:0x701f2000]
[0x701f2000:0x701f4000]
[0x701f4000:0x701fc000]
[0x701fc000:0x70204000]
[0x70204000:0x7020c000]
[0x7020c000:0x7021e000]
[0x7021e000:0x7022c000]
[0x7022c000:0x70230000]
[0x70230000:0x70232000]
[0x70234000:0x7023e000]
[0x7023e000:0x70244000]
[0x70244000:0x7024e000]
[0x70250000:0x7025a000]
[0x7025a000:0x70260000]
[0x70260000:0x7026c000]
[0xefbfe000:0xefc28000]
And then we start to iterate, here is the trace I got:

free_pgd_range(addr[0x1000],end[0xde000],floor[0x0],ceiling[0x70000000])
free_pud_range(addr[0x0],end[0xde000],floor[0x0],ceiling[0x70000000])
free_pmd_range(addr[0],end[0xde000],floor[0x0],ceiling[0x70000000])
free_pte_range(addr[0x0],next[0xde000],end[0xde000]) /* nr_ptes-- */
free_pgd_range(addr[0x70000000],end[0x7026c000],floor[0x0],ceiling[0xefbfe000])
free_pud_range(addr[0x70000000],end[0x7026c000],floor[0x0],ceiling[0xef800000])
/* does not do free_pmd_range() for some reason)
free_pgd_range(addr[0xefbfe000],end[0xefc28000],floor[0x0],ceiling[0x0])
free_pud_range(addr[0xef800000],end[0xefc28000],floor[0x0],ceiling[0x0])
/* also do not do free_pmd_range() */
Whoa, how does that work? We are calling free_pgtables() at
exit_mmap() time with a 0 floor _and_ ceiling?

Oh I see, the tests are against "ceiling - 1".
Hmmm...

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-04-06 13:30    [from the cache]
©2003-2011 Jasper Spaans