All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/13] x86/PMU: Xen PMU PV support
@ 2013-09-20  9:41 Boris Ostrovsky
  2013-09-20  9:42 ` [PATCH v2 01/13] Export hypervisor symbols Boris Ostrovsky
                   ` (12 more replies)
  0 siblings, 13 replies; 51+ messages in thread
From: Boris Ostrovsky @ 2013-09-20  9:41 UTC (permalink / raw)
  To: xen-devel
  Cc: jun.nakajima, JBeulich, George.Dunlap, jacob.shin, eddie.dong,
	dietmar.hahn, suravee.suthikulpanit, Boris Ostrovsky

Changes in v2:

* Xen symbols are exported as data structure (as opoosed to a set of formatted
strings in v1). Even though one symbol per hypercall is returned performance appears
to be acceptable: reading whole file from dom0 userland takes on average about
twice as long as reading /proc/kallsyms

* More cleanup of Intel VPMU code to simplify publicly exported structures

* There is an architecture-independent and x86-specific public include files (ARM
has a stub)

* General cleanup of public include files to make them more presentable (and
to make auto doc generation better)

* Setting of vcpu->is_running is now done on ARM in schedule_tail as well (making
changes to common/schedule.c architecture-independent). Note that this is not
tested since I don't have access to ARM hardware.

* PCPU ID of interrupted processor is now passed to PV guest


Linux patches will be updated later.

===================================================================

Boris Ostrovsky (13):
  Export hypervisor symbols
  Set VCPU's is_running flag closer to when the VCPU is dispatched
  x86/PMU: Stop AMD counters when called from vpmu_save_force()
  x86/VPMU: Minor VPMU cleanup
  intel/VPMU: Clean up Intel VPMU code
  x86/PMU: Add public xenpmu.h
  x86/PMU: Make vpmu not HVM-specific
  x86/PMU: Interface for setting PMU mode and flags
  x86/PMU: Initialize PMU for PV guests
  x86/PMU: Add support for PMU registes handling on PV guests
  x86/PMU: Handle PMU interrupts for PV guests
  x86/PMU: Save VPMU state for PV guests during context switch
  x86/PMU: Move vpmu files up from hvm directory

 xen/arch/arm/domain.c                          |   1 +
 xen/arch/x86/Makefile                          |   1 +
 xen/arch/x86/apic.c                            |  13 -
 xen/arch/x86/domain.c                          |  18 +-
 xen/arch/x86/hvm/Makefile                      |   1 -
 xen/arch/x86/hvm/svm/Makefile                  |   1 -
 xen/arch/x86/hvm/svm/entry.S                   |   2 +
 xen/arch/x86/hvm/svm/vpmu.c                    | 494 -------------
 xen/arch/x86/hvm/vmx/Makefile                  |   1 -
 xen/arch/x86/hvm/vmx/entry.S                   |   1 +
 xen/arch/x86/hvm/vmx/vmcs.c                    |  59 ++
 xen/arch/x86/hvm/vmx/vpmu_core2.c              | 894 -----------------------
 xen/arch/x86/hvm/vpmu.c                        | 266 -------
 xen/arch/x86/oprofile/op_model_ppro.c          |   8 +-
 xen/arch/x86/platform_hypercall.c              |   9 +
 xen/arch/x86/traps.c                           |  39 +-
 xen/arch/x86/vpmu.c                            | 549 +++++++++++++++
 xen/arch/x86/vpmu_amd.c                        | 489 +++++++++++++
 xen/arch/x86/vpmu_intel.c                      | 936 +++++++++++++++++++++++++
 xen/arch/x86/x86_64/asm-offsets.c              |   1 +
 xen/arch/x86/x86_64/compat/entry.S             |   4 +
 xen/arch/x86/x86_64/entry.S                    |   4 +
 xen/arch/x86/x86_64/platform_hypercall.c       |   2 +-
 xen/common/event_channel.c                     |   1 +
 xen/common/schedule.c                          |   8 +-
 xen/common/symbols-dummy.c                     |   1 +
 xen/common/symbols.c                           |  58 +-
 xen/include/asm-x86/domain.h                   |   3 +
 xen/include/asm-x86/hvm/vcpu.h                 |   3 -
 xen/include/asm-x86/hvm/vmx/vmcs.h             |   3 +-
 xen/include/asm-x86/hvm/vmx/vpmu_core2.h       |  51 --
 xen/include/asm-x86/hvm/vpmu.h                 | 104 ---
 xen/include/asm-x86/irq.h                      |   1 -
 xen/include/asm-x86/mach-default/irq_vectors.h |   1 -
 xen/include/asm-x86/vpmu.h                     |  96 +++
 xen/include/public/arch-x86/xenpmu-x86.h       |  62 ++
 xen/include/public/platform.h                  |  22 +
 xen/include/public/xen.h                       |   2 +
 xen/include/public/xenpmu.h                    |  95 +++
 xen/include/xen/hypercall.h                    |   4 +
 xen/include/xen/softirq.h                      |   1 +
 xen/include/xen/symbols.h                      |   4 +
 xen/tools/symbols.c                            |   4 +
 43 files changed, 2467 insertions(+), 1850 deletions(-)
 delete mode 100644 xen/arch/x86/hvm/svm/vpmu.c
 delete mode 100644 xen/arch/x86/hvm/vmx/vpmu_core2.c
 delete mode 100644 xen/arch/x86/hvm/vpmu.c
 create mode 100644 xen/arch/x86/vpmu.c
 create mode 100644 xen/arch/x86/vpmu_amd.c
 create mode 100644 xen/arch/x86/vpmu_intel.c
 delete mode 100644 xen/include/asm-x86/hvm/vmx/vpmu_core2.h
 delete mode 100644 xen/include/asm-x86/hvm/vpmu.h
 create mode 100644 xen/include/asm-x86/vpmu.h
 create mode 100644 xen/include/public/arch-x86/xenpmu-x86.h
 create mode 100644 xen/include/public/xenpmu.h

-- 
1.8.1.4

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

end of thread, other threads:[~2013-09-30 13:53 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-20  9:41 [PATCH v2 00/13] x86/PMU: Xen PMU PV support Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 01/13] Export hypervisor symbols Boris Ostrovsky
2013-09-23 19:42   ` Konrad Rzeszutek Wilk
2013-09-23 20:06     ` Boris Ostrovsky
2013-09-24 17:40       ` Konrad Rzeszutek Wilk
2013-09-25 13:15   ` Jan Beulich
2013-09-25 14:03     ` Boris Ostrovsky
2013-09-25 14:53       ` Jan Beulich
2013-09-20  9:42 ` [PATCH v2 02/13] Set VCPU's is_running flag closer to when the VCPU is dispatched Boris Ostrovsky
2013-09-25 13:42   ` Jan Beulich
2013-09-25 14:08     ` Keir Fraser
2013-09-20  9:42 ` [PATCH v2 03/13] x86/PMU: Stop AMD counters when called from vpmu_save_force() Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 04/13] x86/VPMU: Minor VPMU cleanup Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 05/13] intel/VPMU: Clean up Intel VPMU code Boris Ostrovsky
2013-09-23 11:42   ` Dietmar Hahn
2013-09-23 19:46   ` Konrad Rzeszutek Wilk
2013-09-25 13:55   ` Jan Beulich
2013-09-25 14:39     ` Boris Ostrovsky
2013-09-25 14:57       ` Jan Beulich
2013-09-25 15:37         ` Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 06/13] x86/PMU: Add public xenpmu.h Boris Ostrovsky
2013-09-23 13:04   ` Dietmar Hahn
2013-09-23 13:16     ` Jan Beulich
2013-09-23 14:00       ` Boris Ostrovsky
2013-09-23 13:45     ` Boris Ostrovsky
2013-09-25 14:04   ` Jan Beulich
2013-09-25 15:59     ` Boris Ostrovsky
2013-09-25 16:08       ` Jan Beulich
2013-09-30 13:25     ` Boris Ostrovsky
2013-09-30 13:30       ` Jan Beulich
2013-09-30 13:55         ` Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 07/13] x86/PMU: Make vpmu not HVM-specific Boris Ostrovsky
2013-09-25 14:05   ` Jan Beulich
2013-09-25 14:49     ` Boris Ostrovsky
2013-09-25 14:57       ` Jan Beulich
2013-09-20  9:42 ` [PATCH v2 08/13] x86/PMU: Interface for setting PMU mode and flags Boris Ostrovsky
2013-09-25 14:11   ` Jan Beulich
2013-09-25 14:55     ` Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 09/13] x86/PMU: Initialize PMU for PV guests Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 10/13] x86/PMU: Add support for PMU registes handling on " Boris Ostrovsky
2013-09-23 13:50   ` Dietmar Hahn
2013-09-25 14:23   ` Jan Beulich
2013-09-25 15:03     ` Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 11/13] x86/PMU: Handle PMU interrupts for " Boris Ostrovsky
2013-09-25 14:33   ` Jan Beulich
2013-09-25 14:40     ` Andrew Cooper
2013-09-25 15:52       ` Boris Ostrovsky
2013-09-25 15:19     ` Boris Ostrovsky
2013-09-25 15:25       ` Jan Beulich
2013-09-20  9:42 ` [PATCH v2 12/13] x86/PMU: Save VPMU state for PV guests during context switch Boris Ostrovsky
2013-09-20  9:42 ` [PATCH v2 13/13] x86/PMU: Move vpmu files up from hvm directory Boris Ostrovsky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.