lkml.org 
[lkml]   [2011]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 14/14] tracing/filter: Remove synchronize_sched() from __alloc_preds()
From: Steven Rostedt <srostedt@redhat.com>

Because the filters are processed first and then activated
(added to the call), we no longer need to worry about the preds
of the filter in __alloc_preds() being used. As the filter that
is allocating preds is not activated yet.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/trace_events_filter.c | 30 +++++++-----------------------
1 files changed, 7 insertions(+), 23 deletions(-)

diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index f5d335d..3249b4f 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -795,33 +795,17 @@ static int __alloc_preds(struct event_filter *filter, int n_preds)
struct filter_pred *pred;
int i;

- if (filter->preds) {
- if (filter->a_preds < n_preds) {
- /*
- * We need to reallocate.
- * We should have already have zeroed out
- * the pred count and called synchronized_sched()
- * to make sure no one is using the preds.
- */
- if (WARN_ON_ONCE(filter->n_preds)) {
- /* We need to reset it now */
- filter->n_preds = 0;
- synchronize_sched();
- }
- __free_preds(filter);
- }
- }
+ if (filter->preds)
+ __free_preds(filter);
+
+ filter->preds =
+ kzalloc(sizeof(*filter->preds) * n_preds, GFP_KERNEL);

- if (!filter->preds) {
- filter->preds =
- kzalloc(sizeof(*filter->preds) * n_preds, GFP_KERNEL);
- filter->a_preds = n_preds;
- }
if (!filter->preds)
return -ENOMEM;

- if (WARN_ON(filter->a_preds < n_preds))
- return -EINVAL;
+ filter->a_preds = n_preds;
+ filter->n_preds = 0;

for (i = 0; i < n_preds; i++) {
pred = &filter->preds[i];
--
1.7.2.3



\
 
 \ /
  Last update: 2011-02-08 03:01    [W:0.081 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site