• Sukadev Bhattiprolu's avatar
    powerpc, perf/powerpc/hv-24x7: Use PMU_TXN_READ interface · 88a48613
    Sukadev Bhattiprolu authored
    The 24x7 counters in Powerpc allow monitoring a large number of counters
    simultaneously. They also allow reading several counters in a single
    HCALL so we can get a more consistent snapshot of the system.
    
    Use the PMU's transaction interface to monitor and read several event
    counters at once. The idea is that users can group several 24x7 events
    into a single group of events. We use the following logic to submit
    the group of events to the PMU and read the values:
    
    	pmu->start_txn()		// Initialize before first event
    
    	for each event in group
    		pmu->read(event);	// Queue each event to be read
    
    	pmu->commit_txn()		// Read/update all queuedcounters
    
    The ->commit_txn() also updates the event counts in the respective
    perf_event objects.  The perf subsystem can then directly get the
    event counts from the perf_event and can avoid submitting a new
    ->read() request to the PMU.
    
    Thanks to input from Peter Zijlstra.
    Signed-off-by: default avatarSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vince Weaver <vincent.weaver@maine.edu>
    Link: http://lkml.kernel.org/r/1441336073-22750-10-git-send-email-sukadev@linux.vnet.ibm.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    88a48613
hv-24x7.c 35.8 KB