Re: [PATCH v6 11/18] xen/pvcalls: implement accept command
From: Juergen Gross
Date: Tue Jul 04 2017 - 03:26:52 EST
On 03/07/17 23:08, Stefano Stabellini wrote:
> Implement the accept command by calling inet_accept. To avoid blocking
> in the kernel, call inet_accept(O_NONBLOCK) from a workqueue, which get
> scheduled on sk_data_ready (for a passive socket, it means that there
> are connections to accept).
>
> Use the reqcopy field to store the request. Accept the new socket from
> the delayed work function, create a new sock_mapping for it, map
> the indexes page and data ring, and reply to the other end. Allocate an
> ioworker for the socket.
>
> Only support one outstanding blocking accept request for every socket at
> any time.
>
> Add a field to sock_mapping to remember the passive socket from which an
> active socket was created.
>
> Signed-off-by: Stefano Stabellini <stefano@xxxxxxxxxxx>
Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
Thanks,
Juergen