Re: [PATCH 5/9] perf/x86: implement cross-HT corruption bug workaround

Peter Zijlstra
2014-06-05T14:14:33Z

[-- Attachment #1: Type: text/plain, Size: 720 bytes --]

On Thu, Jun 05, 2014 at 04:11:50PM +0200, Peter Zijlstra wrote:
> > > x86_schedule_event()
> > > ->start_scheduling()
> > > spin_lock()
> > > ->get_event_constraints()
> > > intel_get_excl_constraints()
> > > kmalloc(.gfp=GFP_KERNEL)
> > >
> > > How can that ever work?
>
> > Are you saying it is illegal to call kmalloc() from
> > this context?
>
> Nobody will come and arrest you for it, so no. Broken though. GFP_KERNEL
> will attempt to sleep to wait for reclaim, and you're holding a
> spinlock.

Furthermore, even GFP_ATOMIC shouldn't be used because these are/should
be raw_spinlocks and the zone->lock is a regular spinlock.

So please look into the preallocation thing.

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]