Re: [PATCH] no need to check for NULL before calling kfree() -fs/ext2/

From: Jesper Juhl
Date: Fri Mar 25 2005 - 17:51:29 EST


On Fri, 25 Mar 2005, linux-os wrote:

>
> Isn't it expensive of CPU time to call kfree() even though the
> pointer may have already been freed? I suggest that the check
> for a NULL before the call is much less expensive than calling
> kfree() and doing the check there. The resulting "double check"
> is cheap, compared to the call.
>
I've been looking at some of the actual code gcc generates for those
checks, and it's quite bloated. My guess is that the reduced memory
footprint, one less branch, and the fact that kfree is probably already in
cache (since it's called often all over the place) outweighs the cost of a
function call - especially in the cases where the pointer is rarely NULL
and we'll end up doing the call in any case.
And the reduced use of screen real-estate is nice as well :)

--
Jesper juhl


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