lkml.org 
[lkml]   [2005]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2.6] 1/7 create kstrdup library function
    Pekka Enberg wrote:
    > At some point in time, I wrote:
    >
    >>>kstrdup() is a special-case _memory allocator_ (not so much a string
    >>>operation) so I think it should go into mm/slab.c where we currently
    >>>have kcalloc().
    >
    >
    > On Tue, 01 Feb 2005 17:00:17 +0000, Paulo Marques <pmarques@grupopie.com> wrote:
    >
    >>I was following Rusty Russell's approach. Also, I believe this is more
    >>intuitive because the standard libc strdup function is declared in string.h.
    >>
    >>However, I really don't have strong feelings either way, so if the
    >>majority agrees that this should be in mm/slab, its fine by me.
    >
    >
    > Intuitive, perhaps, but I think it's wrong. I don't like it because it
    > makes string operations depend on slab. Furthermore, kstrdup() is not
    > a string operation. It is about memory allocation, really, just like
    > kcalloc().

    I agree with the "is like kcalloc" argument in the sense that it does an
    allocation + something else. But in this case the "something else" is in
    fact a string operation, so this just seem to be in the middle.

    > One possible way to clean this up would be to extract the
    > standard-like allocators (kmalloc, kcalloc, and kstrdup) from
    > mm/slab.c and move them into a separate file.

    I don't like this approach. From a quick grep you get 4972 kmalloc's in
    .c files in the kernel tree and only 35 kstrdup's. Moving kstrdup around
    is still just 7 patches, kmalloc is a much bigger problem.

    Anyway, as I said before, if more people believe that moving kstrdup
    into mm/slab.c is the way to go, then its fine by me. The problem I was
    trying to solve was having several versions of strdup-like functions all
    around the kernel, and this problem gets fixed either way. Right now,
    the poll goes something like this:

    string.c: me, Rusty Russell
    slab.c: Pekka Enberg

    I think we need more votes :)

    --
    Paulo Marques - www.grupopie.com

    All that is necessary for the triumph of evil is that good men do nothing.
    Edmund Burke (1729 - 1797)
    -
    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: 2005-03-22 14:10    [W:0.024 / U:89.296 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site