On Wed, Aug 05, 2015 at 09:49:39AM +0000, Gupta, Sourab wrote: > On Wed, 2015-08-05 at 15:17 +0530, sourab gupta wrote: > > On Wed, 2015-08-05 at 09:38 +0000, Chris Wilson wrote: > > > On Wed, Aug 05, 2015 at 11:25:37AM +0530, sourab.gupta@xxxxxxxxx wrote: > > > > From: Sourab Gupta <sourab.gupta@xxxxxxxxx> > > > > > > > > The current perf PMU driver is specific for collection of OA counter > > > > statistics (which may be done in a periodic or asynchronous way). Since > > > > this enables us (and limits us) to render ring, we have no means for > > > > collection of data pertaining to other rings. > > > > > > > > To overcome this limitation, we need to have a new PMU driver which enables > > > > data collection for other rings also (in a non-OA specific mode). > > > > This patch adds a new perf PMU to i915 device private, for handling > > > > profiling requests for non-OA counter data.This data may encompass > > > > timestamps, mmio register values, etc. for the relevant ring. > > > > The new perf PMU will serve these purposes, without constraining itself to > > > > type of data being dumped (which may restrict the user to specific ring > > > > like in case of OA counters). > > > > > > > > The patch introduces this PMU driver alongwith its associated callbacks. > > > > > > > > Signed-off-by: Sourab Gupta <sourab.gupta@xxxxxxxxx> > > > > --- > > > > drivers/gpu/drm/i915/i915_dma.c | 2 + > > > > drivers/gpu/drm/i915/i915_drv.h | 19 ++++ > > > > drivers/gpu/drm/i915/i915_oa_perf.c | 215 ++++++++++++++++++++++++++++++++++++ > > > > > > You have to admit it is a bit odd for the object to be called > > > i915_oa_pmu/i915_gen_pmu and the file i915_oa_perf.c > > > -Chris > > > > > > > Well, yes.. If the nomenclature of i915_gen_pmu is agreed upon, I can > > have a new file named as i915_gen_pmu.c which will hold the routines for > > this pmu, leaving oa pmu stuff behind in i915_oa_pmu.c > Sorry, I meant to say 'oa pmu stuff behind in i915_oa_perf.c'. Does > i915_gen_pmu.c sound fine? Aiui, there is some common code with i915_oa_perf and a fair amount of perf_event boilerplate. At the moment, I'm leaning towards just i915_pmu.c for both (and if need be i915_pmu_gen.c i915_pmu_oa.c if and only if splitting the boilerplate away helps maintainablity). -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx