[sheepdog] [PATCH] add likely/unlikely to performance critical path
MORITA Kazutaka
morita.kazutaka at gmail.com
Sat Aug 10 01:31:29 CEST 2013
At Sat, 10 Aug 2013 02:05:40 +0800,
Liu Yuan wrote:
>
> diff --git a/lib/util.c b/lib/util.c
> index 2f877c4..82356d6 100644
> --- a/lib/util.c
> +++ b/lib/util.c
> @@ -46,9 +46,9 @@ try_to_free_t set_try_to_free_routine(try_to_free_t routine)
> void *xmalloc(size_t size)
> {
> void *ret = malloc(size);
> - if (!ret && !size)
> + if (unlikely(!ret) && unlikely(!size))
> ret = malloc(1);
> - if (!ret) {
> + if (unlikely(!ret)) {
> try_to_free_routine(size);
> ret = malloc(size);
> if (!ret && !size)
> @@ -67,9 +67,9 @@ void *xzalloc(size_t size)
> void *xrealloc(void *ptr, size_t size)
> {
> void *ret = realloc(ptr, size);
> - if (!ret && !size)
> + if (unlikely(!ret) && unlikely(!size))
> ret = realloc(ptr, 1);
> - if (!ret) {
> + if (unlikely(!ret)) {
> try_to_free_routine(size);
> ret = realloc(ptr, size);
> if (!ret && !size)
> @@ -83,9 +83,9 @@ void *xrealloc(void *ptr, size_t size)
> void *xcalloc(size_t nmemb, size_t size)
> {
> void *ret = calloc(nmemb, size);
> - if (!ret && (!nmemb || !size))
> + if (unlikely(!ret) && (!nmemb || !size))
Should be unlikey(!nmemb || !size) like xmalloc and xrealloc?
Thanks
Kazutaka
More information about the sheepdog
mailing list