Re: arch/xen is a bad idea

From: Andrew Morton
Date: Fri Feb 25 2005 - 17:35:02 EST


"Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx> wrote:
>
>
> > The Xen team still believe that it's best to keep arch/xen,
> > arch/xen/i386,
> > arch/xen/x86_64, etc. And I believe that Andi (who is the
> > world expert on
> > maintaining an i386 derivative) thinks that this is will be a
> > long-term
> > maintenance problem.
>
> I think there's an interim compromise position that everyone might go
> for:
>
> Phase 1 is for us to submit a load of patches that squeeze out the low
> hanging fruit in unifying xen/i386 and i386. Most of these will be
> strict cleanups to i386, and the result will be to almost halve the
> number of files that we need to modify.

OK. It would be good to have a phase 0: any refactoring, abstracting, etc
to the core kernel and to i386 which is a preparatory step, prior to
introducing any Xen code. After phase 0 everything should still compile
and run. The subsequent Xen patches should merely add stuff and not move
existing code around.

> The next phase is that we re-organise the current arch/xen as follows:
>
> We move the remaining (reduced) contents of arch/xen/i386 to
> arch/i386/xen (ditto for x86_64). We then move the xen-specific files
> that are shared between all the different xen architectures to
> drivers/xen/core. I know this last step is a bit odd, but it's the best
> location that Rusty Russel and I could come up with.
>
> At this point, I'd hope that we could get xen into the main-line tree.

What would you propose doing with the i386 header files? Such as the
pagetable handling?

> The final phase is to see if we can further unify more native and xen
> files. This is going to require some significant i386 code refactoring,
> and I think its going to be much easier to do if all the code is in the
> main-line tree so that people can see the motivation for what's going
> on.
>
> What do you think?

It sounds decent. The main objective is to minimise code duplication. The
question of where in the tree all the resulting code actually lands is
secondary from a maintainability POV.

-
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/