Home
last modified time | relevance | path

Searched hist:aa7ba37678307fab5a57c0b4868db7ce60701d7a (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/drivers/xen/
H A Dpvcalls-front.cdiff aa7ba37678307fab5a57c0b4868db7ce60701d7a Mon Oct 30 17:40:52 CDT 2017 Stefano Stabellini <sstabellini@kernel.org> xen/pvcalls: implement frontend disconnect

Introduce a data structure named pvcalls_bedata. It contains pointers to
the command ring, the event channel, a list of active sockets and a list
of passive sockets. Lists accesses are protected by a spin_lock.

Introduce a waitqueue to allow waiting for a response on commands sent
to the backend.

Introduce an array of struct xen_pvcalls_response to store commands
responses.

Introduce a new struct sock_mapping to keep track of sockets. In this
patch the struct sock_mapping is minimal, the fields will be added by
the next patches.

pvcalls_refcount is used to keep count of the outstanding pvcalls users.
Only remove connections once the refcount is zero.

Implement pvcalls frontend removal function. Go through the list of
active and passive sockets and free them all, one at a time.

Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
CC: boris.ostrovsky@oracle.com
CC: jgross@suse.com
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>