Re: [PATCH 1/5] freepgt: free_pgtables use vma list

David S. Miller
2005-03-22T05:36:50Z

On Tue, 22 Mar 2005 15:14:54 +1100
Nick Piggin <nickpiggin@yahoo.com.au> wrote:

> Question, Dave: flush_tlb_pgtables after Hugh's patch is also
> possibly not being called with enough range to cover all page
> tables that have been freed.
>
> For example, you may have a single page (start,end) address range
> to free, but if this is enclosed by a large enough (floor,ceiling)
> then it may free an entire pgd entry.
>
> I assume the intention of the API would be to provide the full
> pgd width in that case?

It just wants the range of page tables liberated. I guess
essentially PMD_SIZE is the granularity.

Anyways, for the record I made it only call flush_tlb_pgtables()
when end > start, but instead of that BUG() I now get the BUG()
on mm->nr_ptes being non-zero at the end of exit_mmap().

Something is up with the floor/ceiling stuff methinks.

It's funny since this code aparently works fine on ia64 which
is fully 3-level too. Hmm...