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

Hugh Dickins
2005-03-22T19:50:00Z

On Tue, 22 Mar 2005, David S. Miller wrote:
> On Tue, 22 Mar 2005 11:21:25 -0800
> "David S. Miller" <davem@davemloft.net> wrote:
>
> > I'm trying to analyze my traces some more.
>
> I think I see what's going wrong. On the first
> address space traversal (free_pgd_range()), we
> clear out the pgd, even though there are still
> more PMD's to process in that PGD.
>
> So the future loops never do anything since the
> PGD is cleared out already.

Yes, that's the conclusion I was coming to from your excellent traces.

I notice that although both i386 and sparc64 use pgtable-nopud.h, the
i386 pud_clear does nothing at all and the sparc64 pud_clear resets to 0.

If that really is the problem, well, I get as easily mixed between
the levels as the next man, and haven't a clue which is the right
way to do it - beyond i386 not seeing these nr_pte bugs.

But if this is the issue, I don't see how it's new to my freepgt
patches - beyond the fact that they add this BUG_ON consistency check.

Hugh