[Xen-devel] [PATCH v2 00/10] libxl: event: Fix hang for some applications

Ian Jackson posted 10 patches 4 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/20200113170843.21332-1-ian.jackson@eu.citrix.com
There is a newer version of this series
tools/libxl/libxl.c          |   4 +-
tools/libxl/libxl_aoutils.c  |   2 +-
tools/libxl/libxl_disk.c     |   4 +-
tools/libxl/libxl_domain.c   |   2 +-
tools/libxl/libxl_event.c    | 286 +++++++++++++++++++++++++++++++++++--------
tools/libxl/libxl_fork.c     |  17 ++-
tools/libxl/libxl_internal.h |  54 +++++---
7 files changed, 290 insertions(+), 79 deletions(-)
[Xen-devel] [PATCH v2 00/10] libxl: event: Fix hang for some applications
Posted by Ian Jackson 4 years, 2 months ago
The meat here, including a description of the bug, is in:
  libxl: event: Fix hang when mixing blocking and eventy calls

Re v1 I wrote:
  I suggest we try to convince ourselves of its correctness
  via a second round of code review.

I put this into practice by writing an informal proof of correctness.
This found a bug, the fixing of which was not entirely trivial.

George tells me he tested v1 of this series.  As with v1, I have
compiled this v2 but not executed it.

Ian Jackson (10):
  libxl: event: Rename poller.fds_changed to .fds_deregistered
  libxl: event: Rename ctx.pollers_fd_changed to .pollers_active
  libxl: event: Introduce CTX_UNLOCK_EGC_FREE
  libxl: event: Make LIBXL__EVENT_DISASTER take a gc, not an egc
  libxl: event: Make libxl__poller_wakeup take a gc, not an egc
  libxl: event: Fix hang when mixing blocking and eventy calls
  libxl: event: poller pipe optimisation
  libxl: event: Break out baton_wake
  libxl: event: Fix possible hang with libxl_osevent_beforepoll
  libxl: event: Move poller pipe emptying to the end of afterpoll

 tools/libxl/libxl.c          |   4 +-
 tools/libxl/libxl_aoutils.c  |   2 +-
 tools/libxl/libxl_disk.c     |   4 +-
 tools/libxl/libxl_domain.c   |   2 +-
 tools/libxl/libxl_event.c    | 286 +++++++++++++++++++++++++++++++++++--------
 tools/libxl/libxl_fork.c     |  17 ++-
 tools/libxl/libxl_internal.h |  54 +++++---
 7 files changed, 290 insertions(+), 79 deletions(-)

-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v2 00/10] libxl: event: Fix hang for some applications
Posted by George Dunlap 4 years, 2 months ago
On 1/13/20 5:08 PM, Ian Jackson wrote:
> The meat here, including a description of the bug, is in:
>   libxl: event: Fix hang when mixing blocking and eventy calls
> 
> Re v1 I wrote:
>   I suggest we try to convince ourselves of its correctness
>   via a second round of code review.
> 
> I put this into practice by writing an informal proof of correctness.
> This found a bug, the fixing of which was not entirely trivial.
> 
> George tells me he tested v1 of this series.  As with v1, I have
> compiled this v2 but not executed it.

I have tested this series both with my C-based proof of concept, and now
with the golang bindings, and it solves my problem and seems to work as
advertised.

Tested-by: George Dunlap <george.dunlap@citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel