xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv5 00/16] Linux: FIFO-based event channel ABI
@ 2013-10-02 17:14 David Vrabel
  2013-10-02 17:14 ` [PATCH 01/16] xen/events: refactor retrigger_dynirq() and resend_irq_on_evtchn() David Vrabel
                   ` (15 more replies)
  0 siblings, 16 replies; 25+ messages in thread
From: David Vrabel @ 2013-10-02 17:14 UTC (permalink / raw)
  To: xen-devel; +Cc: Boris Ostrovsky, David Vrabel, Jan Beulich

This is the complete Linux guest-side implementation of the FIFO-based
event channel ABI described in this design document:

  http://xenbits.xen.org/people/dvrabel/event-channels-F.pdf

Refer also to the Xen series.

Note that __startup_pirq() was never ideal as failure when binding a
PIRQ to an event channel cannot be propagated to the calling driver
since the irq_startup callback cannot return an error.  This series
adds another (very unlikely) failure point to __startup_pirq().

I have a half-bakedpatch series to refactor when PIRQs are setup and
torn down but this won't be ready for a while and I do not think this
is a prerequisite for applying the FIFO-based ABI series.

Patch 1 is a obvious refactoring of common code.

Patch 2-6 prepare for supporting multiple ABIs.

Patch 7 adds the low-level evtchn_ops hooks.

Patch 8-9 add an additional hook for ABI-specific per-port setup
(used for expanding the event array as more event are bound).

Patch 10 allows many more event channels to be supported by altering
how the event channel to irq map is allocated.  Note that other
factors limit the number of supported IRQs (IRQs is 8192 + 64 *
NR_CPUS).

Patch 11 is some trival refactoring.

Patch 12 removes a limit on the number of event channels supported by
the xen-evtchn driver.

Patch 13 adds the hypervisor ABI.

Patches 14-15 Set the priority of VIRQ_TIMER events to the highest.

Patch 16 adds the FIFO-based ABI implementation.

Changes in v5 (v4 not posted):

- Set priority of VIRQ_TIMER.
- Remove NR_EVENT_CHANNELS limit from xen-evtchn driver.
- Licence drivers/xen/events/fifo.c under a dual MIT/GPLv2.

Changes in v3:

- Support suspend/resume by reinitializing the control blocks on resume.
- Only init control block if one does not exist (should fix CPU
  hotplug).

David

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCHv6 00/16] Linux: FIFO-based event channel ABI
@ 2013-10-08 12:48 David Vrabel
  2013-10-08 12:49 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel
  0 siblings, 1 reply; 25+ messages in thread
From: David Vrabel @ 2013-10-08 12:48 UTC (permalink / raw)
  To: xen-devel; +Cc: Boris Ostrovsky, David Vrabel, Jan Beulich

This is the complete Linux guest-side implementation of the FIFO-based
event channel ABI described in this design document:

  http://xenbits.xen.org/people/dvrabel/event-channels-F.pdf

Refer also to the Xen series.

Note that __startup_pirq() was never ideal as failure when binding a
PIRQ to an event channel cannot be propagated to the calling driver
since the irq_startup callback cannot return an error.  This series
adds another (very unlikely) failure point to __startup_pirq().

I have a half-bakedpatch series to refactor when PIRQs are setup and
torn down but this won't be ready for a while and I do not think this
is a prerequisite for applying the FIFO-based ABI series.

Patch 1 is a obvious refactoring of common code.

Patch 2-6 prepare for supporting multiple ABIs.

Patch 7 adds the low-level evtchn_ops hooks.

Patch 8-9 add an additional hook for ABI-specific per-port setup
(used for expanding the event array as more event are bound).

Patch 10 allows many more event channels to be supported by altering
how the event channel to irq map is allocated.  Note that other
factors limit the number of supported IRQs (IRQs is 8192 + 64 *
NR_CPUS).

Patch 11 is some trival refactoring.

Patch 12 removes a limit on the number of event channels supported by
the xen-evtchn driver.

Patch 13 adds the hypervisor ABI.

Patches 14-15 Set the priority of VIRQ_TIMER events to the highest.

Patch 16 adds the FIFO-based ABI implementation.

Changes in v6:

- nlevel -> 2l to match naming in Xen.

Changes in v5 (v4 not posted):

- Set priority of VIRQ_TIMER.
- Remove NR_EVENT_CHANNELS limit from xen-evtchn driver.
- Licence drivers/xen/events/fifo.c under a dual MIT/GPLv2.

Changes in v3:

- Support suspend/resume by reinitializing the control blocks on resume.
- Only init control block if one does not exist (should fix CPU
  hotplug).

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCHv7 00/16] Linux: FIFO-based event channel ABI
@ 2013-10-18 14:23 David Vrabel
  2013-10-18 14:23 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel
  0 siblings, 1 reply; 25+ messages in thread
From: David Vrabel @ 2013-10-18 14:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Boris Ostrovsky, David Vrabel, Jan Beulich

This is the complete Linux guest-side implementation of the FIFO-based
event channel ABI described in this design document:

  http://xenbits.xen.org/people/dvrabel/event-channels-F.pdf

The Xen implementation is now available in xen-unstable.

Note that __startup_pirq() was never ideal as failure when binding a
PIRQ to an event channel cannot be propagated to the calling driver
since the irq_startup callback cannot return an error.  This series
adds another (very unlikely) failure point to __startup_pirq().

I have a half-bakedpatch series to refactor when PIRQs are setup and
torn down but this won't be ready for a while and I do not think this
is a prerequisite for applying the FIFO-based ABI series.

Patch 1 is a obvious refactoring of common code.

Patch 2-6 prepare for supporting multiple ABIs.

Patch 7 adds the low-level evtchn_ops hooks.

Patch 8-9 add an additional hook for ABI-specific per-port setup
(used for expanding the event array as more event are bound).

Patch 10 allows many more event channels to be supported by altering
how the event channel to irq map is allocated.  Note that other
factors limit the number of supported IRQs (IRQs is 8192 + 64 *
NR_CPUS).

Patch 11 is some trival refactoring.

Patch 12 removes a limit on the number of event channels supported by
the xen-evtchn driver.

Patch 13 adds the hypervisor ABI.

Patches 14-15 Set the priority of VIRQ_TIMER events to the highest.

Patch 16 adds the FIFO-based ABI implementation.

Changes in v7:

- Add xen.fifo_events command line option (defaults to true).
- Use xen_evtchn_nr_channels() in xen_evtchn driver.
- Drop unnecessary test in evtchn_fifo_unmask()
- Refactor irq_info setup/cleanup a bit.

Changes in v6:

- nlevel -> 2l to match naming in Xen.

Changes in v5 (v4 not posted):

- Set priority of VIRQ_TIMER.
- Remove NR_EVENT_CHANNELS limit from xen-evtchn driver.
- Licence drivers/xen/events/fifo.c under a dual MIT/GPLv2.

Changes in v3:

- Support suspend/resume by reinitializing the control blocks on resume.
- Only init control block if one does not exist (should fix CPU
  hotplug).

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCHv8 00/16] Linux: FIFO-based event channel ABI
@ 2013-10-31 15:09 David Vrabel
  2013-10-31 15:09 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel
  0 siblings, 1 reply; 25+ messages in thread
From: David Vrabel @ 2013-10-31 15:09 UTC (permalink / raw)
  To: xen-devel; +Cc: Boris Ostrovsky, David Vrabel, Jan Beulich

This is the complete Linux guest-side implementation of the FIFO-based
event channel ABI described in this design document:

  http://xenbits.xen.org/people/dvrabel/event-channels-G.pdf

The Xen implementation is now available in xen-unstable.

This series is also available from:

  git://xenbits.xen.org/people/dvrabel/linux.git orochi-v8

Changes in v8:

- Updates for draft G: use unmask hypercall for tail events.

Changes in v7:

- Add xen.fifo_events command line option (defaults to true).
- Use xen_evtchn_nr_channels() in xen_evtchn driver.
- Drop unnecessary test in evtchn_fifo_unmask()
- Refactor irq_info setup/cleanup a bit.

Changes in v6:

- nlevel -> 2l to match naming in Xen.

Changes in v5 (v4 not posted):

- Set priority of VIRQ_TIMER.
- Remove NR_EVENT_CHANNELS limit from xen-evtchn driver.
- Licence drivers/xen/events/fifo.c under a dual MIT/GPLv2.

Changes in v3:

- Support suspend/resume by reinitializing the control blocks on resume.
- Only init control block if one does not exist (should fix CPU
  hotplug).

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCHv9 00/16] Linux: FIFO-based event channel ABI
@ 2013-11-11 16:12 David Vrabel
  2013-11-11 16:13 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel
  0 siblings, 1 reply; 25+ messages in thread
From: David Vrabel @ 2013-11-11 16:12 UTC (permalink / raw)
  To: xen-devel; +Cc: Boris Ostrovsky, David Vrabel

This is the complete Linux guest-side implementation of the FIFO-based
event channel ABI described in this design document:

  http://xenbits.xen.org/people/dvrabel/event-channels-H.pdf

The Xen implementation is now available in xen-unstable, except for
the updates for draft H.

This series is also available from:

  git://xenbits.xen.org/people/dvrabel/linux.git orochi-v9

Changes in v9:

- Updates for draft H: spin on BUSY when unmasking.

Changes in v8:

- Updates for draft G: use unmask hypercall for tail events.

Changes in v7:

- Add xen.fifo_events command line option (defaults to true).
- Use xen_evtchn_nr_channels() in xen_evtchn driver.
- Drop unnecessary test in evtchn_fifo_unmask()
- Refactor irq_info setup/cleanup a bit.

Changes in v6:

- nlevel -> 2l to match naming in Xen.

Changes in v5 (v4 not posted):

- Set priority of VIRQ_TIMER.
- Remove NR_EVENT_CHANNELS limit from xen-evtchn driver.
- Licence drivers/xen/events/fifo.c under a dual MIT/GPLv2.

Changes in v3:

- Support suspend/resume by reinitializing the control blocks on resume.
- Only init control block if one does not exist (should fix CPU
  hotplug).

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

end of thread, other threads:[~2013-11-11 16:13 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-02 17:14 [PATCHv5 00/16] Linux: FIFO-based event channel ABI David Vrabel
2013-10-02 17:14 ` [PATCH 01/16] xen/events: refactor retrigger_dynirq() and resend_irq_on_evtchn() David Vrabel
2013-10-02 20:43   ` Konrad Rzeszutek Wilk
2013-10-02 21:01     ` David Vrabel
2013-10-02 21:08       ` Konrad Rzeszutek Wilk
2013-10-02 22:06         ` David Vrabel
2013-10-02 17:14 ` [PATCH 02/16] xen/events: remove unnecessary init_evtchn_cpu_bindings() David Vrabel
2013-10-02 17:14 ` [PATCH 03/16] xen/events: introduce test_and_set_mask David Vrabel
2013-10-02 17:14 ` [PATCH 04/16] xen/events: replace raw bit ops with functions David Vrabel
2013-10-02 17:14 ` [PATCH 05/16] xen/events: move drivers/xen/events.c into drivers/xen/events/ David Vrabel
2013-10-02 17:14 ` [PATCH 06/16] xen/events: move 2-level specific code into its own file David Vrabel
2013-10-02 17:14 ` [PATCH 07/16] xen/events: add struct evtchn_ops for the low-level port operations David Vrabel
2013-10-02 17:14 ` [PATCH 08/16] xen/events: allow setup of irq_info to fail David Vrabel
2013-10-02 17:14 ` [PATCH 09/16] xen/events: add a evtchn_op for port setup David Vrabel
2013-10-02 17:14 ` [PATCH 10/16] xen/events: Refactor evtchn_to_irq array to be dynamically allocated David Vrabel
2013-10-02 17:14 ` [PATCH 11/16] xen/events: add xen_evtchn_mask_all() David Vrabel
2013-10-02 17:14 ` [PATCH 12/16] xen/evtchn: support more than 4096 ports David Vrabel
2013-10-02 17:14 ` [PATCH 13/16] xen/events: Add the hypervisor interface for the FIFO-based event channels David Vrabel
2013-10-02 17:14 ` [PATCH 14/16] xen/events: allow event channel priority to be set David Vrabel
2013-10-02 17:15 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel
2013-10-02 17:15 ` [PATCH 16/16] xen/events: use the FIFO-based ABI if available David Vrabel
  -- strict thread matches above, loose matches on Subject: below --
2013-10-08 12:48 [PATCHv6 00/16] Linux: FIFO-based event channel ABI David Vrabel
2013-10-08 12:49 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel
2013-10-18 14:23 [PATCHv7 00/16] Linux: FIFO-based event channel ABI David Vrabel
2013-10-18 14:23 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel
2013-10-31 15:09 [PATCHv8 00/16] Linux: FIFO-based event channel ABI David Vrabel
2013-10-31 15:09 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel
2013-11-11 16:12 [PATCHv9 00/16] Linux: FIFO-based event channel ABI David Vrabel
2013-11-11 16:13 ` [PATCH 15/16] xen/x86: set VIRQ_TIMER priority to maximum David Vrabel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).