]> git.baikalelectronics.ru Git - kernel.git/commit
fib_trie: Use index & (~0ul << n->bits) instead of index >> n->bits
authorAlexander Duyck <alexander.h.duyck@redhat.com>
Thu, 22 Jan 2015 23:51:08 +0000 (15:51 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 25 Jan 2015 22:47:15 +0000 (14:47 -0800)
commitd12b9de220892a17a8d0698681bf5a280ae770fb
tree836e0e535f9fb38c60808b21851923ff3d2744e2
parent3eb01743ee598a29f718a94ba7a5d580d4dbe82c
fib_trie: Use index & (~0ul << n->bits) instead of index >> n->bits

In doing performance testing and analysis of the changes I recently found
that by shifting the index I had created an unnecessary dependency.

I have updated the code so that we instead shift a mask by bits and then
just test against that as that should save us about 2 CPU cycles since we
can generate the mask while the key and pos are being processed.

Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/fib_trie.c