]> 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)
commitf16aa6b1919109a0831565f269b7a6433d5dfd95
tree0b86980050e63623b103f1b6378aa3c457f63e87
parentf1e941896b69287eaccbaa63558d06cd520564e1
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