lkml.org 
[lkml]   [1999]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: PATCH killing dead code and design errors in pre6
    From
    Date
    In article <369BD8A7.AE499CB8@cs.net.pl>,
    dalecki@cs.net.pl (Marcin Dalecki) writes:
    > Hello Everybody!
    > The following simple patch is a correction of a design error
    > in the slab implementation.

    > Several YEARS ago it got introduced into the general linux kernel.
    > It is providing a mechanism of constructors and destructors for the
    > objects allocaed and deallocated. However still after YEARS I found
    > actually only one place in the kernel where it was used!

    > READ TWICE: Only one.

    A) It was actually used twice during 2.1, but it got later removed by other
    changes.

    B) Using pre initialized headers for skbuffs gives an about 20% forwarding
    rate improvement for fast routing.

    C) Read Bonwick's original paper before doing any changes to slab.c.

    > And there only the constructor was present and even the usage of it
    > was bogous at least. (Please see the corresponding comment in the
    > patch.)

    You did not understand the basic idea behind slab: it is an object cache
    that is able to cached _initialized_ objects, because for some objects
    it is more expensive to initialize them than to use them in the fast path.
    Skbuffs are exactly such an example. Moving the constructor into the caller
    does not work, because the caller doesn't know if the object was freshly
    allocated from the page allocator, or was from an already initialized object
    cache. In the later case it does not need to initialize at all!

    Linus, please don't apply this bogus patch.

    Thank you,

    -Andi

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:49    [W:0.022 / U:0.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site