Re: mpparse merge - Kernel

This is a discussion on Re: mpparse merge - Kernel ; (Cc:-ing lkml because obviously others are interested in this topic too) * Andi Kleen wrote: > Refering to > > commit 9d92083afb7cabe86c166dce9cc569eabbbd6f99 > Author: Alexey Starikovskiy > Date: Fri Apr 4 23:43:18 2008 +0400 > > x86: merge mpparse_{32,64}.c > ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Re: mpparse merge

  1. Re: mpparse merge


    (Cc:-ing lkml because obviously others are interested in this topic too)

    * Andi Kleen wrote:

    > Refering to
    >
    > commit 9d92083afb7cabe86c166dce9cc569eabbbd6f99
    > Author: Alexey Starikovskiy
    > Date: Fri Apr 4 23:43:18 2008 +0400
    >
    > x86: merge mpparse_{32,64}.c
    >
    > in linux-next.
    >
    > About half of the ifdefs seem to be because 32bit does irq compression
    > and 64bit does not. Len removed that at some point, but when the files
    > are merged I would rather just readd 64bit irq compression (or move
    > 64bit over to per cpu vectors) than have this ifdef jungle


    the way Alexey did it is the safest way of doing unifications: keep it
    simple and finegrained first, keep the more complex steps to later. We
    try to stick to that even if there's a temporary jungle of #ifdefs. In a
    related discussion (which was unfortunately private too so no URLs) you
    suggested to Alexey to redesign the mp-parsing code first, then unify
    it. That's the worst possible approach to unification and i advise
    everyone against doing it that way. I very much agree with unifying irq
    vector management - it's not a simple task at all.

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

  2. Re: mpparse merge

    > the way Alexey did it is the safest way of doing unifications: keep it
    > simple and finegrained first, keep the more complex steps to later. We


    If he unifies dumbly like you seem to be fond of doing CONFIG_X86_32 when it
    should be CONFIG_FUNCTIONALITY is the wrong way. Can we agree on that?
    The ifdef jungle is not any less from that, but at least it is clear
    what the code does which makes further changes much easier. Basically
    it preserves more information.

    > try to stick to that even if there's a temporary jungle of #ifdefs. In a
    > related discussion (which was unfortunately private too so no URLs) you
    > suggested to Alexey to redesign the mp-parsing code first, then unify
    > it. That's the worst possible approach to unification and i advise


    The best approach depends on the code, not on a static rule of thumb. It
    can be either depending on the code and the circumstances or often a mix of
    both.

    A good example where the static rule of thumb went totally wrong is Glauber's
    recent smpboot unification without fixing the state machine first. I'm still
    not sure he has all the races out caused by that yet and I predict
    you'll have some debugging fun with that in the .26 cycle.

    -Andi

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

+ Reply to Thread