perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()
PATCH 26/36 perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()
The rcu callback free_ctx() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(free_ctx).
Signed-off-by Lai Jiangshan <[email protected]>
--- kernel/perf_event.c | 10 +--------- 1 files changed, 1 insertions(+), 9 deletions(-)
kernel/perf_event.c +1 -9
@@ -584,14 +584,6 @@ static void get_ctx(struct perf_event_context *ctx)WARN_ON (!atomic_inc_not_zero (&ctx->refcount)); } -static void free_ctx (struct rcu_head *head) -{ -struct perf_event_context *ctx; - - ctx = container_of(head, struct perf_event_context, rcu_head); -kfree (ctx); -} -static void put_ctx (struct perf_event_context *ctx) {if (atomic_dec_and_test (&ctx->refcount)) {
@@ -599,7 +591,7 @@ static void put_ctx(struct perf_event_context *ctx)put_ctx (ctx->parent_ctx);if (ctx->task)put_task_struct (ctx->task); -call_rcu (&ctx->rcu_head, free_ctx); +kfree_rcu (ctx, rcu_head); } }
Signature · 1 line
1.7.4
Quoted 5 lines · Lai Jiangshan
The rcu callback
free_ctx()just calls akfree(), so we usekfree_rcu()instead of thecall_rcu(free_ctx).Signed-off-by Lai Jiangshan <[email protected]>
Acked-by Peter Zijlstra <[email protected]>
Please take them through whatever tree adds kfree_rcu() as that doesn't seem to be part of any tree near me.
Quoted 32 lines
--- kernel/perf_event.c | 10 +--------- 1 files changed, 1 insertions(+), 9 deletions(-)kernel/perf_event.c +1
-9@@ -584,14 +584,6 @@ static void get_ctx(struct perf_event_context *ctx)WARN_ON (!atomic_inc_not_zero (&ctx->refcount)); } -static void free_ctx (struct rcu_head *head) -{ -struct perf_event_context *ctx; - - ctx = container_of(head, struct perf_event_context, rcu_head); -kfree (ctx); -} -static void put_ctx (struct perf_event_context *ctx) {if (atomic_dec_and_test (&ctx->refcount)) {@@ -599,7 +591,7 @@ static void put_ctx(struct perf_event_context *ctx)put_ctx (ctx->parent_ctx);if (ctx->task)put_task_struct (ctx->task); -call_rcu (&ctx->rcu_head, free_ctx); +kfree_rcu (ctx, rcu_head); } }