How many packets can be written into Kernel sockets per second?

Hi,

Its been a long time since i programmed a multithreaded application that can do Tx and Rx of datagrams over unix sockets.

I well remember that though the threads were efficiently designed to be independent of each other, and was writing to different sockets, there was a limitation , which i remember that only 3000 approximate datagrams/packets can be sent/received between the host application and the kernel - which i came to know from some forums, and infact, our timers used to expire due to non-reception of approx >3000 packets if it was configured - reason being the kernel to host transfer of the packets were slow.

Before i could attempt figuring out that again, wanted to ask if anyone knows a theoretical limitation seen by the linux kernels?
In other terms, what is the max data transfer rate between the Kernel space and user space through the various IPC mechanisms?

If i don't get to know that, i may end up doing an assumption.