diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2019-03-25 15:29:06 +0100 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2019-05-03 22:41:38 +0200 |
commit | 1325e74e0c2f9ebdafe05b1492cec77a60059920 (patch) | |
tree | af21c4890a4ae5c08dc08ee7cabdc14a651f33ad /target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch | |
parent | 675832de79ec14ddc1183a66d1084aff7a856289 (diff) | |
download | upstream-1325e74e0c2f9ebdafe05b1492cec77a60059920.tar.gz upstream-1325e74e0c2f9ebdafe05b1492cec77a60059920.tar.bz2 upstream-1325e74e0c2f9ebdafe05b1492cec77a60059920.zip |
kernel: Remove support for kernel 3.18
No target is using kernel 3.18 anymore, remove all the generic
support for kernel 3.18.
The removed packages are depending on kernel 3.18 only and are not used on
any recent kernel.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch')
-rw-r--r-- | target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch b/target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch deleted file mode 100644 index 0193f758f6..0000000000 --- a/target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: Alexander Duyck <alexander.h.duyck@redhat.com> -Date: Wed, 31 Dec 2014 10:56:00 -0800 -Subject: [PATCH] fib_trie: Optimize fib_find_node - -This patch makes use of the same features I made use of for -fib_table_lookup to streamline fib_find_node. The resultant code should be -smaller and run faster than the original. - -Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com> -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - ---- a/net/ipv4/fib_trie.c -+++ b/net/ipv4/fib_trie.c -@@ -892,28 +892,34 @@ static void insert_leaf_info(struct hlis - } - - /* rcu_read_lock needs to be hold by caller from readside */ -- - static struct tnode *fib_find_node(struct trie *t, u32 key) - { - struct tnode *n = rcu_dereference_rtnl(t->trie); -- int pos = 0; - -- while (n && IS_TNODE(n)) { -- if (tkey_sub_equals(n->key, pos, n->pos-pos, key)) { -- pos = n->pos + n->bits; -- n = tnode_get_child_rcu(n, -- tkey_extract_bits(key, -- n->pos, -- n->bits)); -- } else -+ while (n) { -+ unsigned long index = get_index(key, n); -+ -+ /* This bit of code is a bit tricky but it combines multiple -+ * checks into a single check. The prefix consists of the -+ * prefix plus zeros for the bits in the cindex. The index -+ * is the difference between the key and this value. From -+ * this we can actually derive several pieces of data. -+ * if !(index >> bits) -+ * we know the value is cindex -+ * else -+ * we have a mismatch in skip bits and failed -+ */ -+ if (index >> n->bits) -+ return NULL; -+ -+ /* we have found a leaf. Prefixes have already been compared */ -+ if (IS_LEAF(n)) - break; -- } -- /* Case we have found a leaf. Compare prefixes */ - -- if (n != NULL && IS_LEAF(n) && tkey_equals(key, n->key)) -- return n; -+ n = rcu_dereference_rtnl(n->child[index]); -+ } - -- return NULL; -+ return n; - } - - static void trie_rebalance(struct trie *t, struct tnode *tn) |