summaryrefslogtreecommitdiffstats
path: root/lib/devres.c
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2011-05-26 16:25:02 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-05-26 17:12:33 -0700
commit704f15ddb5fc2a7f25a12eb0913302d8ad9ffab3 (patch)
treeef17a945288c333c345643325783f374e10a4020 /lib/devres.c
parent5bf54a9758c230d9e957e7b4f3a41c226660dd49 (diff)
downloadop-kernel-dev-704f15ddb5fc2a7f25a12eb0913302d8ad9ffab3.zip
op-kernel-dev-704f15ddb5fc2a7f25a12eb0913302d8ad9ffab3.tar.gz
flex_array: avoid divisions when accessing elements
On most architectures division is an expensive operation and accessing an element currently requires four of them. This performance penalty effectively precludes flex arrays from being used on any kind of fast path. However, two of these divisions can be handled at creation time and the others can be replaced by a reciprocal divide, completely avoiding real divisions on access. [eparis@redhat.com: rebase on top of changes to support 0 len elements] [eparis@redhat.com: initialize part_nr when array fits entirely in base] Signed-off-by: Jesse Gross <jesse@nicira.com> Signed-off-by: Eric Paris <eparis@redhat.com> Cc: Dave Hansen <dave@linux.vnet.ibm.com> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/devres.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud