]> 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)
commitcbc978320fa4c8d303f5ab150a10ddeb6ab97102
tree836e0e535f9fb38c60808b21851923ff3d2744e2
parentbbc55ad2997b448fd249e21f44b10c9bec7d56cd
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