What I mean atomic is success or failed and do nothing.
I know socketpair(AF_LOCAL, SOCK_STREAM) is not atomic, if multiple processes/threads call write(fd, buf, len), the return value of the write() maybe > 0 && < len and cause data out of order.
If multiple processes/threads write(buf, len) to a sock_fd which created by socketpair(AF_LOCAL, SOCK_SEQPACKET), is it atomic? 
I check the Linux manual and found something about pipe() which says if the len is less than PIPE_BUF, the write/writev is atomic.
I found nothing about socketpair. I wrote a test code and found it seems that the SOCK_SEQPACKET is atomic, I write random length buffer to fd and the return value is always -1 or len.
                        
Yes.
Any interface that is datagram based (i.e. - the size you pass to
writeis visible to the person doing theread) must be atomic. There is no other way to guarantee that property.So
SOCK_SEQPACKET, as well asSOCK_DGRAM, must be atomic in order to function.For that very same reason,
SOCK_STREAMhas no such atomicy guarantees.