lkml.org 
[lkml]   [2008]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [0/3] Improve generic fls64 for 64-bit machines
    On Mar. 15, 2008, 19:29 +0200, Alexander van Heukelum <heukelum@mailshack.com> wrote:
    > This series of patches:
    >
    > [1/3] adds __fls.h to asm-generic
    > [2/3] modifies asm-*/bitops.h for 64-bit archs to implement __fls
    > [3/3] modifies asm-generic/fls64.h to make use of __fls

    I strongly support this.

    I wish we'd also have a consistent naming convention for all
    the bitops functions so it will be clearer what data type the
    function is working on and is the result 0 or 1 based.

    It seems like what we currently have is:

    name type first bit#
    ---- ---- ----------
    ffs int 1
    fls int 1
    __ffs ulong 0
    __fls ulong 0 # in your proposal
    ffz ulong 0
    fls64 __u64 1

    so it seems like
    - ffz is misnamed and is rather confusing.
    Apprently is should be renamed to __ffz.

    - (new) ffz(x) can be defined to ffs(~(x))

    - It'd be nice to have ffs64, and maybe ffz64.

    Benny

    >
    > I have compiled i386 and x86_64, and they generate the same code as
    > before the change. The changes to the other archs are a best effort.
    > Please comment.
    >
    > If this patch series is accepted, it will make one tiny bit of
    > the x86-unification a tiny bit cleaner. The patches are against
    > Linus' current tree.
    >
    > Andrew, if no concensus can be reached that this is a bad patch
    > series, would you be willing to add this to your tree?
    >
    > Greetings,
    > Alexander
    > --
    > 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/



    \
     
     \ /
      Last update: 2008-04-03 19:23    [W:3.576 / U:0.408 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site