Stefano Garzarella
2021-May-13 15:41 UTC
[RFC PATCH v9 19/19] af_vsock: serialize writes to shared socket
On Thu, May 13, 2021 at 05:48:19PM +0300, Arseny Krasnov wrote:> >On 13.05.2021 17:46, Stefano Garzarella wrote: >> On Thu, May 13, 2021 at 04:01:50PM +0200, Stefano Garzarella wrote: >>> On Sat, May 08, 2021 at 07:37:35PM +0300, Arseny Krasnov wrote: >>>> This add logic, that serializes write access to single socket >>>> by multiple threads. It is implemented be adding field with TID >>>> of current writer. When writer tries to send something, it checks >>>> that field is -1(free), else it sleep in the same way as waiting >>>> for free space at peers' side. >>>> >>>> Signed-off-by: Arseny Krasnov <arseny.krasnov at kaspersky.com> >>>> --- >>>> include/net/af_vsock.h | 1 + >>>> net/vmw_vsock/af_vsock.c | 10 +++++++++- >>>> 2 files changed, 10 insertions(+), 1 deletion(-) >>> I think you forgot to move this patch at the beginning of the series. >>> It's important because in this way we can backport to stable branches >>> easily. >>> >>> About the implementation, can't we just add a mutex that we hold until >>> we have sent all the payload? >> Re-thinking, I guess we can't because we have the timeout to deal >> with... >Yes, i forgot about why i've implemented it using 'tid_owner' :)It is not clear to me if we need to do this also for stream. I think will be better to follow af_inet/af_unix, but I need to check their implementation. Thanks, Stefano