All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] x86/vlapic: implement EOI callbacks
@ 2020-08-12 12:47 Roger Pau Monne
  2020-08-12 12:47 ` [PATCH 1/5] x86/hvm: change EOI exit bitmap helper parameter Roger Pau Monne
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Roger Pau Monne @ 2020-08-12 12:47 UTC (permalink / raw)
  To: xen-devel
  Cc: Roger Pau Monne, Jun Nakajima, Kevin Tian, Jan Beulich,
	Andrew Cooper, Wei Liu, Paul Durrant

Hello,

The following series attempts to implement EOI callbacks for vlapic
injected vectors, this allows to remove the hardcoded callbacks in
vlapic_handle_EOI. Instead a new vlapic vector injection helper is
provided, that takes two extra parameters in order to pass a callback and
an opaque data blob that will be called once the vector is EOI'ed by the
guest.

My plan with this is to be able to provide EOI callbacks for all
interrupt types that we inject to the guest, this is only the first step
of that work by changing the emulated lapic to use this model. The
IO-APIC and PIC still need to be switched to a similar model.

Long term having such callbacks would greatly simplify the virtual
periodic timers code, as being able to get a callback when the injected
interrupt is EOI'ed simplifies the handling of missed ticks, as we would
no longer need to check at each vmentry whether a virtual interrupt
timer is being injected.

Thanks, Roger.

Roger Pau Monne (5):
  x86/hvm: change EOI exit bitmap helper parameter
  x86/vlapic: introduce an EOI callback mechanism
  x86/vmsi: use the newly introduced EOI callbacks
  x86/viridian: switch synic to use the new EOI callback
  x86/vioapic: switch to use the EOI callback mechanism

 xen/arch/x86/hvm/vioapic.c         | 90 +++++++++++++++---------------
 xen/arch/x86/hvm/viridian/synic.c  | 28 +++++-----
 xen/arch/x86/hvm/vlapic.c          | 61 ++++++++++++++++----
 xen/arch/x86/hvm/vmsi.c            | 36 +++++++-----
 xen/arch/x86/hvm/vmx/vmx.c         |  4 +-
 xen/drivers/passthrough/io.c       |  4 +-
 xen/include/asm-x86/hvm/hvm.h      |  2 +-
 xen/include/asm-x86/hvm/io.h       |  2 +-
 xen/include/asm-x86/hvm/viridian.h |  1 -
 xen/include/asm-x86/hvm/vlapic.h   | 10 ++++
 10 files changed, 150 insertions(+), 88 deletions(-)

-- 
2.28.0



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

end of thread, other threads:[~2020-08-25  8:36 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-12 12:47 [PATCH 0/5] x86/vlapic: implement EOI callbacks Roger Pau Monne
2020-08-12 12:47 ` [PATCH 1/5] x86/hvm: change EOI exit bitmap helper parameter Roger Pau Monne
2020-08-13 14:12   ` Andrew Cooper
2020-08-14  5:56   ` Tian, Kevin
2020-08-12 12:47 ` [PATCH 2/5] x86/vlapic: introduce an EOI callback mechanism Roger Pau Monne
2020-08-13 14:33   ` Andrew Cooper
2020-08-13 17:41     ` Roger Pau Monné
2020-08-25  5:56   ` Jan Beulich
2020-08-12 12:47 ` [PATCH 3/5] x86/vmsi: use the newly introduced EOI callbacks Roger Pau Monne
2020-08-13  8:19   ` Paul Durrant
2020-08-13  8:50     ` Roger Pau Monné
2020-08-24 14:06   ` Jan Beulich
2020-08-24 14:44     ` Roger Pau Monné
2020-08-24 16:07       ` Jan Beulich
2020-08-24 16:39         ` Roger Pau Monné
2020-08-25  5:47           ` Jan Beulich
2020-08-12 12:47 ` [PATCH 4/5] x86/viridian: switch synic to use the new EOI callback Roger Pau Monne
2020-08-13  8:33   ` Paul Durrant
2020-08-13  8:57     ` Roger Pau Monné
2020-08-13  9:36       ` Paul Durrant
2020-08-12 12:47 ` [PATCH 5/5] x86/vioapic: switch to use the EOI callback mechanism Roger Pau Monne
2020-08-25  8:35   ` Jan Beulich

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.