diff options
Diffstat (limited to 'net/core/dst.c')
-rw-r--r-- | net/core/dst.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/dst.c b/net/core/dst.c index 57bc4d5b8d08..f307bc18f6a0 100644 --- a/net/core/dst.c +++ b/net/core/dst.c | |||
@@ -12,11 +12,13 @@ | |||
12 | #include <linux/workqueue.h> | 12 | #include <linux/workqueue.h> |
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/slab.h> | ||
15 | #include <linux/netdevice.h> | 16 | #include <linux/netdevice.h> |
16 | #include <linux/skbuff.h> | 17 | #include <linux/skbuff.h> |
17 | #include <linux/string.h> | 18 | #include <linux/string.h> |
18 | #include <linux/types.h> | 19 | #include <linux/types.h> |
19 | #include <net/net_namespace.h> | 20 | #include <net/net_namespace.h> |
21 | #include <linux/sched.h> | ||
20 | 22 | ||
21 | #include <net/dst.h> | 23 | #include <net/dst.h> |
22 | 24 | ||
@@ -79,6 +81,7 @@ loop: | |||
79 | while ((dst = next) != NULL) { | 81 | while ((dst = next) != NULL) { |
80 | next = dst->next; | 82 | next = dst->next; |
81 | prefetch(&next->next); | 83 | prefetch(&next->next); |
84 | cond_resched(); | ||
82 | if (likely(atomic_read(&dst->__refcnt))) { | 85 | if (likely(atomic_read(&dst->__refcnt))) { |
83 | last->next = dst; | 86 | last->next = dst; |
84 | last = dst; | 87 | last = dst; |