public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] AMD IOMMUv2 Performance Counter patches
@ 2013-01-21 20:20 Steven L. Kinney
  2013-01-21 20:20 ` [PATCH 1/3] AMD x86 quirks: Quirk for enabling IOMMUv2 PC feature Steven L. Kinney
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Steven L. Kinney @ 2013-01-21 20:20 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86, Joerg Roedel
  Cc: Bjorn Helgaas, Greg Kroah-Hartman, Sebastian Andrzej Siewior,
	Myron Stowe, Hiroshi DOYU, Stephen Warren, Jiri Kosina,
	Kukjin Kim, linux-kernel, iommu, Peter Zijlstra, Paul Mackerras,
	Arnaldo Carvalho de Melo, Thomas Renninger, Andi Kleen,
	Cyrill Gorcunov, Steven L. Kinney

From: "Steven L. Kinney" <steven.kinney@amd.com>

These patches implement the AMD IOMMUv2.5 Performance Counter functionality
via custom perf PMU and implement static counting for various IOMMU
translations.  The patches address three areas of functionality:

1) 	Add a PCI quirk for the enablement of IOMMUv2 EFR PC within a specific
	AMD family/model in which BIOS has not enabled.  Based on code 
	implemented by Andreas Herrmann at AMD Dresden.
2)	Extend the AMD IOMMU initialization to include IOMMUv2 PC enablement
	and access to IOMMUv2 counter registers.  For all AMD family/models
	that implement IOMMUv2.5 functionality.
3)	Code the perf IOMMUv2 PMU to manage IOMMUv2 perf events, which call
	the function(s) extending the AMD IOMMU core driver.  For all AMD
	family/models that implement IOMMUv2.5 functionality.

The command-line, to invoke the iommuv2 PMU, is:

perf stat -e iommuv2/config=[data],config1=[data]/{u,r} [command]

For information regarding AMD IOMMU v2.5 PC configuration, see the public
specification.

Steven L. Kinney (3):
  AMD x86 quirks: Quirk for enabling IOMMUv2 PC feature
  AMD IOMMUv2 PC resource management hooks
  AMD IOMMUv2 PC perf PMU implementation

 arch/x86/kernel/cpu/Makefile                 |    1 +
 arch/x86/kernel/cpu/perf_event_amd_iommuv2.c |  429 ++++++++++++++++++++++++++
 arch/x86/kernel/cpu/perf_event_amd_iommuv2.h |   42 +++
 arch/x86/kernel/quirks.c                     |   17 +
 drivers/iommu/Kconfig                        |   10 +
 drivers/iommu/amd_iommu_init.c               |   99 ++++++
 drivers/iommu/amd_iommu_types.h              |   12 +
 include/linux/pci_ids.h                      |    2 +
 8 files changed, 612 insertions(+)
 create mode 100644 arch/x86/kernel/cpu/perf_event_amd_iommuv2.c
 create mode 100644 arch/x86/kernel/cpu/perf_event_amd_iommuv2.h

-- 
1.7.9.5



^ permalink raw reply	[flat|nested] 13+ messages in thread
* [PATCH 0/3] AMD IOMMUv2 Performance Counter patches
@ 2013-01-21 20:18 Steven L. Kinney
  0 siblings, 0 replies; 13+ messages in thread
From: Steven L. Kinney @ 2013-01-21 20:18 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86, Joerg Roedel
  Cc: Bjorn Helgaas, Greg Kroah-Hartman, Sebastian Andrzej Siewior,
	Myron Stowe, Hiroshi DOYU, Stephen Warren, Jiri Kosina,
	Kukjin Kim, linux-kernel, iommu, Peter Zijlstra, Paul Mackerras,
	Arnaldo Carvalho de Melo, Thomas Renninger, Andi Kleen,
	Cyrill Gorcunov, Steven L. Kinney

From: "Steven L. Kinney" <steven.kinney@amd.com>

These patches implement the AMD IOMMUv2.5 Performance Counter functionality
via custom perf PMU and implement static counting for various IOMMU
translations.  The patches address three areas of functionality:

1) 	Add a PCI quirk for the enablement of IOMMUv2 EFR PC within a specific
	AMD family/model in which BIOS has not enabled.  Based on code 
	implemented by Andreas Herrmann at AMD Dresden.
2)	Extend the AMD IOMMU initialization to include IOMMUv2 PC enablement
	and access to IOMMUv2 counter registers.  For all AMD family/models
	that implement IOMMUv2.5 functionality.
3)	Code the perf IOMMUv2 PMU to manage IOMMUv2 perf events, which call
	the function(s) extending the AMD IOMMU core driver.  For all AMD
	family/models that implement IOMMUv2.5 functionality.

The command-line, to invoke the iommuv2 PMU, is:

perf stat -e iommuv2/config=[data],config1=[data]/{u,r} [command]

For information regarding AMD IOMMU v2.5 PC configuration, see the public
specification.

Steven L. Kinney (3):
  AMD x86 quirks: Quirk for enabling IOMMUv2 PC feature
  AMD IOMMUv2 PC resource management hooks
  AMD IOMMUv2 PC perf PMU implementation

 arch/x86/kernel/cpu/Makefile                 |    1 +
 arch/x86/kernel/cpu/perf_event_amd_iommuv2.c |  429 ++++++++++++++++++++++++++
 arch/x86/kernel/cpu/perf_event_amd_iommuv2.h |   42 +++
 arch/x86/kernel/quirks.c                     |   17 +
 drivers/iommu/Kconfig                        |   10 +
 drivers/iommu/amd_iommu_init.c               |   99 ++++++
 drivers/iommu/amd_iommu_types.h              |   12 +
 include/linux/pci_ids.h                      |    2 +
 8 files changed, 612 insertions(+)
 create mode 100644 arch/x86/kernel/cpu/perf_event_amd_iommuv2.c
 create mode 100644 arch/x86/kernel/cpu/perf_event_amd_iommuv2.h

-- 
1.7.9.5



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-01-28 15:37 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-21 20:20 [PATCH 0/3] AMD IOMMUv2 Performance Counter patches Steven L. Kinney
2013-01-21 20:20 ` [PATCH 1/3] AMD x86 quirks: Quirk for enabling IOMMUv2 PC feature Steven L. Kinney
2013-01-28 14:29   ` Joerg Roedel
2013-01-28 14:59     ` Kinney, Steven
2013-01-28 15:36       ` Joerg Roedel
2013-01-21 20:20 ` [PATCH 2/3] AMD IOMMUv2 PC resource management hooks Steven L. Kinney
2013-01-21 21:32   ` Cyrill Gorcunov
2013-01-21 21:47     ` Kinney, Steven
2013-01-21 21:52       ` Cyrill Gorcunov
2013-01-21 20:20 ` [PATCH 3/3] AMD IOMMUv2 PC perf PMU implementation Steven L. Kinney
2013-01-22 17:48 ` [PATCH 0/3] AMD IOMMUv2 Performance Counter patches Konrad Rzeszutek Wilk
2013-01-22 18:26   ` Kinney, Steven
  -- strict thread matches above, loose matches on Subject: below --
2013-01-21 20:18 Steven L. Kinney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox