[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140605134841.GL3213@twins.programming.kicks-ass.net>
Date: Thu, 5 Jun 2014 15:48:41 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Stephane Eranian <eranian@...gle.com>
Cc: linux-kernel@...r.kernel.org, mingo@...e.hu, ak@...ux.intel.com,
jolsa@...hat.com, zheng.z.yan@...el.com,
maria.n.dimakopoulou@...il.com
Subject: Re: [PATCH 5/9] perf/x86: implement cross-HT corruption bug
workaround
On Wed, Jun 04, 2014 at 11:34:14PM +0200, Stephane Eranian wrote:
> +static struct event_constraint *
> +intel_get_excl_constraints(struct cpu_hw_events *cpuc, struct perf_event *event,
> + struct event_constraint *c)
> +{
> + if (!(c->flags & PERF_X86_EVENT_DYNAMIC)) {
> +
> + /*
> + * in case we fail, we assume no counter
> + * is supported to be on the safe side
> + */
> + cx = kmalloc(sizeof(*cx), GFP_KERNEL);
> + if (!cx)
> + return &emptyconstraint;
> +
Ok, so forgive me if I'm wrong, but the way we get here is through:
x86_schedule_event()
->start_scheduling()
spin_lock()
->get_event_constraints()
intel_get_excl_constraints()
kmalloc(.gfp=GFP_KERNEL)
How can that ever work?
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists