> > And it seems to be more important on UDP sendfile().
> > processes or threads sharing the same UDP socket would affect each other,
> > while processes or threads on TCP sockets don't care about it as TCP
> > connection is peer to peer.
>
> No. It is not the lack of peer-to-peer connections that gives rise to the
> bottleneck, but the idea of several threads multiplexing sendfile() through a
> single socket. Given a bad program design, it can be done over TCP too.
>
> The conclusion is that the programmer really ought to choose a different
> design. For multimedia streaming, for instance, it makes sense to use 1 UDP
> socket per thread rather than to multiplex the output through one socket.
You mean, create UDP sockets which have the same port number?
Yes we can if we use setsockopt(SO_REUSEADDR).
And it could lead less contention between CPUs.
Sounds good!
Thank you,
Hirokazu Takahashi.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/