[lkml]   [2007]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] Uninline kcalloc()
    On Sun, 23 Sep 2007 00:03:49 +0400, Alexey Dobriyan said:

    > -static inline void *kcalloc(size_t n, size_t size, gfp_t flags)
    > -{
    > - if (n != 0 && size > ULONG_MAX / n)
    > - return NULL;
    > - return __kmalloc(n * size, flags | __GFP_ZERO);
    > -}
    > +void *kcalloc(size_t n, size_t size, gfp_t flags);


    This busticates some pretty subtle code in mm/slab.c that uses
    uses __builtin_return_address() for debugging - if you do this, then
    the "calling function" gets listed as "kcalloc()" rather than the much more
    useful "function that called kcalloc()" (which is what you care about).

    (I remember going around and around multiple times getting those stupid
    inlines set up right, so that feature actually did something useful, otherwise
    kcalloc and kzalloc didn't report where they were called from).
    [unhandled content-type:application/pgp-signature]
     \ /
      Last update: 2007-09-24 07:39    [W:0.018 / U:59.348 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site