xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: David Vrabel <david.vrabel@citrix.com>
To: xen-devel@lists.xen.org
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCHv5 00/16] Linux: FIFO-based event channel ABI
Date: Wed, 2 Oct 2013 18:14:45 +0100	[thread overview]
Message-ID: <1380734101-2991-1-git-send-email-david.vrabel@citrix.com> (raw)

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

             reply	other threads:[~2013-10-02 17:14 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-02 17:14 David Vrabel [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1380734101-2991-1-git-send-email-david.vrabel@citrix.com \
    --to=david.vrabel@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=jbeulich@suse.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).