From: Paul Jackson <pj@engr.sgi.com>
To: Jesper Juhl <juhl-lkml@dif.dk>
Cc: rlrevell@joe-job.com, juhl-lkml@dif.dk, linux-os@analogic.com,
arjan@infradead.org, ext2-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] no need to check for NULL before calling kfree() -fs/ext2/
Date: Sun, 27 Mar 2005 06:56:55 -0800 [thread overview]
Message-ID: <20050327065655.6474d5d6.pj@engr.sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.62.0503271246420.2443@dragon.hyggekrogen.localhost>
> I added likely() and unlikely() to all tests, here are the results from 3
> runs on my box :
Any chance you could summarize what these results are, for those
of us too lazy to parse it all out? The time spent by one author
to summarize in English what the numbers state can save the time of
a hundred readers each individually having to parse the numbers.
Just looking at the third run, it seems to me that "if (likely(p))
kfree(p);" beats a naked "kfree(p);" everytime, whether p is half
NULL's, or very few NULL's, or almost all NULL's.
If I'm reading this right, and if these results are valid, then we are
going about this optimization all wrong, at least if your CPU is an
AMD Athlon (T-bird). Weird. Instead of stripping the "if (p)" test, we
should be changing it to "if (likely(p))", regardless of whether it
is very likely, or unlikely, or in between. That is not what I would
call intuitive.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@engr.sgi.com> 1.650.933.1373, 1.925.600.0401
next prev parent reply other threads:[~2005-03-27 15:01 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-25 22:08 [PATCH] no need to check for NULL before calling kfree() - fs/ext2/ Jesper Juhl
2005-03-25 22:29 ` linux-os
2005-03-25 22:44 ` Jesper Juhl
2005-03-26 7:50 ` Pekka Enberg
2005-03-26 8:32 ` Arjan van de Ven
2005-03-26 23:21 ` [PATCH] no need to check for NULL before calling kfree() -fs/ext2/ linux-os
2005-03-26 23:34 ` Marcin Dalecki
2005-03-27 2:00 ` Horst von Brand
2005-03-27 3:18 ` Marcin Dalecki
2005-03-27 22:12 ` linux-os
2005-03-26 23:54 ` Jesper Juhl
2005-03-27 0:05 ` Lee Revell
2005-03-27 10:55 ` Jesper Juhl
2005-03-27 14:56 ` Paul Jackson [this message]
2005-03-27 15:12 ` Jan Engelhardt
2005-03-27 17:40 ` Dave Jones
2005-03-27 18:17 ` Jan Engelhardt
2005-03-27 19:25 ` Pekka Enberg
2005-03-27 22:56 ` Jesper Juhl
2005-03-28 4:53 ` Paul Jackson
2005-03-30 18:57 ` Jesper Juhl
2005-03-28 1:20 ` Horst von Brand
2005-03-28 4:10 ` Paul Jackson
2005-03-28 12:58 ` Geert Uytterhoeven
2005-03-29 2:52 ` Lee Revell
2005-03-29 6:30 ` Pekka Enberg
2005-03-29 7:06 ` Jan Engelhardt
2005-03-29 7:24 ` Pekka J Enberg
2005-03-30 2:44 ` Paul Jackson
2005-03-30 6:13 ` Pekka J Enberg
2005-03-30 6:16 ` Paul Jackson
2005-03-30 7:15 ` P Lavin
2005-03-30 14:20 ` Jesper Juhl
2005-03-30 19:10 ` Jesper Juhl
2005-04-09 2:21 ` Jesper Juhl
2005-03-28 4:07 ` [PATCH] " Paul Jackson
2005-03-27 8:45 ` Arjan van de Ven
2005-03-27 12:51 ` Denis Vlasenko
2005-03-27 14:28 ` Arjan van de Ven
2005-03-27 23:13 ` [PATCH] no need to check for NULL before calling kfree()-fs/ext2/ linux-os
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050327065655.6474d5d6.pj@engr.sgi.com \
--to=pj@engr.sgi.com \
--cc=arjan@infradead.org \
--cc=ext2-devel@lists.sourceforge.net \
--cc=juhl-lkml@dif.dk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-os@analogic.com \
--cc=rlrevell@joe-job.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®