summaryrefslogtreecommitdiffstats
path: root/net/core/flow.c
diff options
context:
space:
mode:
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2012-01-28 19:52:40 +0000
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2012-01-28 19:52:40 +0000
commitb20f86625de738658c74f2ecfe4050416d2252cc (patch)
treeb84216b70bd923409217834a953f983700e39eda /net/core/flow.c
parent9f1065032ceb7e86c7c9f16bb86518857e88a172 (diff)
parentdcd6c92267155e70a94b3927bce681ce74b80d1f (diff)
Merge commit 'v3.3-rc1' into fbdev-next
Diffstat (limited to 'net/core/flow.c')
-rw-r--r--net/core/flow.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/core/flow.c b/net/core/flow.c
index 8ae42de9c79..e318c7e9804 100644
--- a/net/core/flow.c
+++ b/net/core/flow.c
@@ -358,6 +358,18 @@ void flow_cache_flush(void)
put_online_cpus();
}
+static void flow_cache_flush_task(struct work_struct *work)
+{
+ flow_cache_flush();
+}
+
+static DECLARE_WORK(flow_cache_flush_work, flow_cache_flush_task);
+
+void flow_cache_flush_deferred(void)
+{
+ schedule_work(&flow_cache_flush_work);
+}
+
static int __cpuinit flow_cache_cpu_prepare(struct flow_cache *fc, int cpu)
{
struct flow_cache_percpu *fcp = per_cpu_ptr(fc->percpu, cpu);