Re: [patch 2/3] CONFIG_HIGHPTE vs. sub-page page tables.

Andrew Morton
2008-02-05T18:46:39Z

On Tue, 05 Feb 2008 15:39:47 +0100 Martin Schwidefsky <schwidefsky@de.ibm.com> wrote:

> On Mon, 2008-02-04 at 02:51 -0800, Andrew Morton wrote:
> > > > Look: I can't fix *everyone's* stuff. This was a consequence of ongoing
> > > > unbounded churn in the x86 tree. If we can find a way of preventing those
> > > > guys (and everyone else) from trashing everyone else's stuff then we'd have
> > > > much smoother sailing.
> > >
> > > Understood. That is where I jump in and regenerate my patches on the
> > > latest available level. That the patches did hold up for some months in
> > > -mm now without really breaking anything is an indication that we can
> > > push them upstream now, isn't ? That would make the patch problem go
> > > away and I could queue my s390 specific page table rework. Our KVM
> > > people keep asking about it.
> >
> > yes, against 2.6.24-mm1 would be good, thanks. I really don't know what
> > went wrong in i386 but I ended up getting all grumpy at the macro mess
> > we've made in all the pagetable handling. Please do take a look at
> > improving that.
>
> I'm trying to replace the __pte_free_tlb macros my patch touches for the
> different architectures. Not much luck yet, there is a reason why
> __pte_free_tlb is a macro in the first place: welcome to #include hell.
> I'm starting to get grumpy as well..
>
> Just an example for x86-64:
> * asm-x86/tlb.h includes asm-generic/tlb.h
> * asm-generic/tlb.h includes asm-x86/pgalloc.h
> * asm-x86/pgalloc.h includes asm-x86/pgalloc_64.h
> * asm-x86/pgalloc_64.h includes asm-x86/tlb.h
> * since asm-x86/tlb.h started this #include chain it expands to nothing
> * asm-x86/pgalloc_64.h calls tlb_remove_page which is defined in
> asm-x86/tlb.h but the compiler hasn't seen the definition yet
> * you loose..
>
> I got x86-64 compiled by removing the #include <asm/pgalloc.h> from
> asm-generic/tlb.h. But who knows what will break if the include is
> missing .. I'll cross compile some of the other architectures next.
>

urgh, well, thanks for trying. If there's significant risk factor (or
hassle) in fixing the macros then I'd suggest we not do it for now - it's a
separate project.

At least x86 is getting better in that regard.