]> git.baikalelectronics.ru Git - kernel.git/commit
list: remove prefetching from regular list iterators
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 19 May 2011 21:15:29 +0000 (14:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 19 May 2011 21:15:29 +0000 (14:15 -0700)
commit4f3ec9d1e882c26ec883113f374e69f1b689740b
tree0b86980050e63623b103f1b6378aa3c457f63e87
parent3e1e1120dd4673daaad846dfa861807387d70457
list: remove prefetching from regular list iterators

This is removes the use of software prefetching from the regular list
iterators.  We don't want it.  If you do want to prefetch in some
iterator of yours, go right ahead.  Just don't expect the iterator to do
it, since normally the downsides are bigger than the upsides.

It also replaces <linux/prefetch.h> with <linux/const.h>, because the
use of LIST_POISON ends up needing it.  <linux/poison.h> is sadly not
self-contained, and including prefetch.h just happened to hide that.

Suggested by David Miller (networking has a lot of regular lists that
are often empty or a single entry, and prefetching is not going to do
anything but add useless instructions).

Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: linux-arch@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/list.h
include/linux/rculist.h