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

From: Peter Zijlstra
Date: Thu Jun 05 2014 - 10:14:36 EST


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: pgpMbgHz31w3p.pgp
Description: PGP signature