diff options
author | Al Viro <viro@ZenIV.linux.org.uk> | 2013-05-05 16:05:55 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-05-06 11:06:51 -0400 |
commit | 243198d09f535f5cd74114f1b779c3da25bc70c8 (patch) | |
tree | c8bc152937a6a5de879b4d8f958a8f21a8131ae4 /net/core | |
parent | 0020356355192cbaf6d315515e6c95bd09618c3b (diff) | |
download | blackbird-op-linux-243198d09f535f5cd74114f1b779c3da25bc70c8.tar.gz blackbird-op-linux-243198d09f535f5cd74114f1b779c3da25bc70c8.zip |
rps_dev_flow_table_release(): no need to delay vfree()
The same story as with fib_trie patch - vfree() from RCU callbacks
is legitimate now.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/net-sysfs.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index 7427ab5e27d8..981fed397d1d 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c @@ -606,21 +606,11 @@ static ssize_t show_rps_dev_flow_table_cnt(struct netdev_rx_queue *queue, return sprintf(buf, "%lu\n", val); } -static void rps_dev_flow_table_release_work(struct work_struct *work) -{ - struct rps_dev_flow_table *table = container_of(work, - struct rps_dev_flow_table, free_work); - - vfree(table); -} - static void rps_dev_flow_table_release(struct rcu_head *rcu) { struct rps_dev_flow_table *table = container_of(rcu, struct rps_dev_flow_table, rcu); - - INIT_WORK(&table->free_work, rps_dev_flow_table_release_work); - schedule_work(&table->free_work); + vfree(table); } static ssize_t store_rps_dev_flow_table_cnt(struct netdev_rx_queue *queue, |