On Thu, May 23, 2013 at 11:07:03AM -0700, Andrew Hunter wrote: > schedule_events caches event constraints on the stack during > scheduling. Given the number of possible events, this is 512 bytes of > stack; since it can be invoked under schedule() under god-knows-what, > this is causing stack blowouts. > > Trade some space usage for stack safety: add a place to cache the > constraint pointer to struct perf_event. For 8 bytes per event (1% of > its size) we can save the giant stack frame. > > This shouldn't change any aspect of scheduling whatsoever and while in > theory the locality's a tiny bit worse, I doubt we'll see any > performance impact either. > > Tested: `perf stat whatever` does not blow up and produces > results that aren't hugely obviously wrong. I'm not sure how to run > particularly good tests of perf code, but this should not produce any > functional change whatsoever. > > Signed-off-by: Andrew Hunter <[email protected]> > Reviewed-by: Stephane Eranian <[email protected]>
OK nothing really strange popped out during a quick read. Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

