linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xen.org
Cc: linux-kernel@vger.kernel.org, sstabellini@kernel.org,
	jgross@suse.com, boris.ostrovsky@oracle.com
Subject: [PATCH v2 00/13] introduce the Xen PV Calls frontend
Date: Tue, 25 Jul 2017 14:21:55 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.10.1707251415190.22381@sstabellini-ThinkPad-X260> (raw)

Hi all,

this series introduces the frontend for the newly introduced PV Calls
procotol.

PV Calls is a paravirtualized protocol that allows the implementation of
a set of POSIX functions in a different domain. The PV Calls frontend
sends POSIX function calls to the backend, which implements them and
returns a value to the frontend and acts on the function call.

For more information about PV Calls, please read:

https://xenbits.xen.org/docs/unstable/misc/pvcalls.html

This patch series only implements the frontend driver. It doesn't
attempt to redirect POSIX calls to it. The functions exported in
pvcalls-front.h are meant to be used for that. A separate patch series
will be sent to use them and hook them into the system.


Changes in v2:
- use xenbus_read_unsigned when possible
- call dev_set_drvdata earlier in pvcalls_front_probe not to dereference
  a NULL pointer in the error path
- set ret appropriately in pvcalls_front_probe
- include pvcalls-front.h in pvcalls-front.c
- call wake_up only once after the consuming loop in pvcalls_front_event_handler
- don't leak "bytes" in case of errors in create_active
- call spin_unlock appropriately in case of errors in create_active
- remove all BUG_ONs
- don't leak newsock->sk in pvcalls_front_accept in case of errors
- rename PVCALLS_FRON_MAX_SPIN to PVCALLS_FRONT_MAX_SPIN
- return bool from pvcalls_front_read_todo
- add a barrier after setting PVCALLS_FLAG_POLL_RET in
  pvcalls_front_event_handler
- remove outdated comment in pvcalls_front_free_map
- clear sock->sk->sk_send_head later in pvcalls_front_release
- make XEN_PVCALLS_FRONTEND tristate
- don't add an empty resume function


Stefano Stabellini (13):
      xen/pvcalls: introduce the pvcalls xenbus frontend
      xen/pvcalls: connect to the backend
      xen/pvcalls: implement socket command and handle events
      xen/pvcalls: implement connect command
      xen/pvcalls: implement bind command
      xen/pvcalls: implement listen command
      xen/pvcalls: implement accept command
      xen/pvcalls: implement sendmsg
      xen/pvcalls: implement recvmsg
      xen/pvcalls: implement poll command
      xen/pvcalls: implement release command
      xen/pvcalls: implement frontend disconnect
      xen: introduce a Kconfig option to enable the pvcalls frontend

 drivers/xen/Kconfig         |    9 +
 drivers/xen/Makefile        |    1 +
 drivers/xen/pvcalls-front.c | 1103 +++++++++++++++++++++++++++++++++++++++++++
 drivers/xen/pvcalls-front.h |   28 ++
 4 files changed, 1141 insertions(+)
 create mode 100644 drivers/xen/pvcalls-front.c
 create mode 100644 drivers/xen/pvcalls-front.h

             reply	other threads:[~2017-07-25 21:21 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-25 21:21 Stefano Stabellini [this message]
2017-07-25 21:21 ` [PATCH v2 01/13] xen/pvcalls: introduce the pvcalls xenbus frontend Stefano Stabellini
2017-07-25 21:21   ` [PATCH v2 02/13] xen/pvcalls: connect to the backend Stefano Stabellini
2017-07-26 13:35     ` Boris Ostrovsky
2017-07-27  0:26       ` Stefano Stabellini
2017-07-27 15:07         ` Boris Ostrovsky
2017-07-31 21:55           ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 03/13] xen/pvcalls: implement socket command and handle events Stefano Stabellini
2017-07-26 14:27     ` Boris Ostrovsky
2017-07-26 23:19       ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 04/13] xen/pvcalls: implement connect command Stefano Stabellini
2017-07-26 14:51     ` Boris Ostrovsky
2017-07-26 23:22       ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 05/13] xen/pvcalls: implement bind command Stefano Stabellini
2017-07-26 14:56     ` Boris Ostrovsky
2017-07-26 23:59       ` Stefano Stabellini
2017-07-27 14:43         ` Boris Ostrovsky
2017-07-31 22:17           ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 06/13] xen/pvcalls: implement listen command Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 07/13] xen/pvcalls: implement accept command Stefano Stabellini
2017-07-26 17:52     ` Boris Ostrovsky
2017-07-26 23:24       ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 08/13] xen/pvcalls: implement sendmsg Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 09/13] xen/pvcalls: implement recvmsg Stefano Stabellini
2017-07-26 21:21     ` Boris Ostrovsky
2017-07-26 21:33       ` [Xen-devel] " Boris Ostrovsky
2017-07-27  0:08         ` Stefano Stabellini
2017-07-27 14:59           ` Boris Ostrovsky
2017-07-31 22:26             ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 10/13] xen/pvcalls: implement poll command Stefano Stabellini
2017-07-26 23:23     ` Boris Ostrovsky
2017-07-27  0:21       ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 11/13] xen/pvcalls: implement release command Stefano Stabellini
2017-07-27 18:39     ` Boris Ostrovsky
2017-07-31 22:34       ` Stefano Stabellini
2017-08-01 15:23         ` Boris Ostrovsky
2017-08-01 15:34           ` Juergen Gross
2017-08-01 15:57             ` Boris Ostrovsky
2017-09-11 23:56             ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 12/13] xen/pvcalls: implement frontend disconnect Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 13/13] xen: introduce a Kconfig option to enable the pvcalls frontend Stefano Stabellini

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=alpine.DEB.2.10.1707251415190.22381@sstabellini-ThinkPad-X260 \
    --to=sstabellini@kernel.org \
    --cc=boris.ostrovsky@oracle.com \
    --cc=jgross@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --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).