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

2020-01-17 Thread George Dunlap
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 

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

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

2020-01-13 Thread Ian Jackson
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