All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/13] introduce the Xen PV Calls frontend
@ 2017-07-25 21:21 Stefano Stabellini
  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 01/13] xen/pvcalls: introduce the pvcalls xenbus frontend Stefano Stabellini
  0 siblings, 2 replies; 81+ messages in thread
From: Stefano Stabellini @ 2017-07-25 21:21 UTC (permalink / raw)
  To: xen-devel; +Cc: linux-kernel, sstabellini, jgross, boris.ostrovsky

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

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

end of thread, other threads:[~2017-09-11 23:56 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-25 21:21 [PATCH v2 00/13] introduce the Xen PV Calls frontend Stefano Stabellini
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-25 21:21     ` Stefano Stabellini
2017-07-26 13:35     ` Boris Ostrovsky
2017-07-26 13:35     ` Boris Ostrovsky
2017-07-27  0:26       ` Stefano Stabellini
2017-07-27  0:26       ` Stefano Stabellini
2017-07-27 15:07         ` Boris Ostrovsky
2017-07-27 15:07           ` Boris Ostrovsky
2017-07-31 21:55           ` Stefano Stabellini
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-25 21:22     ` Stefano Stabellini
2017-07-26 14:27     ` Boris Ostrovsky
2017-07-26 14:27     ` Boris Ostrovsky
2017-07-26 23:19       ` Stefano Stabellini
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-25 21:22     ` Stefano Stabellini
2017-07-26 14:51     ` Boris Ostrovsky
2017-07-26 23:22       ` Stefano Stabellini
2017-07-26 23:22       ` Stefano Stabellini
2017-07-26 14:51     ` Boris Ostrovsky
2017-07-25 21:22   ` [PATCH v2 05/13] xen/pvcalls: implement bind command Stefano Stabellini
2017-07-25 21:22     ` Stefano Stabellini
2017-07-26 14:56     ` Boris Ostrovsky
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-31 22:17           ` Stefano Stabellini
2017-07-27 14:43         ` Boris Ostrovsky
2017-07-26 23:59       ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 06/13] xen/pvcalls: implement listen command Stefano Stabellini
2017-07-25 21:22     ` 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-26 23:24       ` Stefano Stabellini
2017-07-26 17:52     ` Boris Ostrovsky
2017-07-25 21:22   ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 08/13] xen/pvcalls: implement sendmsg Stefano Stabellini
2017-07-25 21:22   ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 09/13] xen/pvcalls: implement recvmsg Stefano Stabellini
2017-07-25 21:22     ` 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  0:08         ` [Xen-devel] " Stefano Stabellini
2017-07-27 14:59           ` Boris Ostrovsky
2017-07-27 14:59           ` [Xen-devel] " Boris Ostrovsky
2017-07-31 22:26             ` Stefano Stabellini
2017-07-31 22:26             ` [Xen-devel] " Stefano Stabellini
2017-07-26 21:33       ` Boris Ostrovsky
2017-07-26 21:21     ` Boris Ostrovsky
2017-07-25 21:22   ` [PATCH v2 10/13] xen/pvcalls: implement poll command Stefano Stabellini
2017-07-25 21:22     ` Stefano Stabellini
2017-07-26 23:23     ` Boris Ostrovsky
2017-07-26 23:23     ` Boris Ostrovsky
2017-07-27  0:21       ` Stefano Stabellini
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-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:34           ` Juergen Gross
2017-08-01 15:57             ` Boris Ostrovsky
2017-08-01 15:57               ` Boris Ostrovsky
2017-09-11 23:56             ` Stefano Stabellini
2017-09-11 23:56             ` Stefano Stabellini
2017-08-01 15:23         ` Boris Ostrovsky
2017-07-31 22:34       ` Stefano Stabellini
2017-07-25 21:22   ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 12/13] xen/pvcalls: implement frontend disconnect Stefano Stabellini
2017-07-25 21:22   ` Stefano Stabellini
2017-07-25 21:22   ` [PATCH v2 13/13] xen: introduce a Kconfig option to enable the pvcalls frontend Stefano Stabellini
2017-07-25 21:22   ` Stefano Stabellini
2017-07-25 21:21 ` [PATCH v2 01/13] xen/pvcalls: introduce the pvcalls xenbus frontend Stefano Stabellini

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.