Re: [PATCHSET 0/4] Add support for no-lock sockets

Eric Dumazet
2022-04-13T00:40:26Z

On 4/12/22 13:26, Jens Axboe wrote:
> Hi,
>
> If we accept a connection directly, eg without installing a file
> descriptor for it, or if we use IORING_OP_SOCKET in direct mode, then
> we have a socket for recv/send that we can fully serialize access to.
>
> With that in mind, we can feasibly skip locking on the socket for TCP
> in that case. Some of the testing I've done has shown as much as 15%
> of overhead in the lock_sock/release_sock part, with this change then
> we see none.
>
> Comments welcome!
>
How BH handlers (including TCP timers) and io_uring are going to run
safely ?

Even if a tcp socket had one user, (private fd opened by a non
multi-threaded

program), we would still to use the spinlock.

Maybe I am missing something, but so far your patches make no sense to me.