Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4defe682 authored by Steven Rostedt's avatar Steven Rostedt Committed by Steven Rostedt
Browse files

tracing/filter: Remove synchronize_sched() from __alloc_preds()



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: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 75b8e982
Loading
Loading
Loading
Loading
+7 −23
Original line number Diff line number Diff line
@@ -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();
			}
	if (filter->preds)
		__free_preds(filter);
		}
	}

	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];