Hello! > How is this different from having a single userspace thread in your > application which accepts connections as they come in and then hands them > out in an order it chooses, if need be erorring and closing some ? Seems, I can answer. Because closing some would break the service. The idea is that when kernel accept queue is full we stop to move open requests to established state and hence spurious aborts are not generated. So, accepting cannot be artificially speed up and extension of accept queue to user space is impossible. The similar problem was open with TUX, which relays requests to slow path. I do not know how Ingo solved it, by the way, but it looked terrible: either massive socket leak (no limit on accept queue) or massive aborts. :-) Another question to author: missing prioritization of drops. "Low priority" connections will clog accept queue, so that no room for high priority connections remains. It is not good. Any scheme with priority reserves some room for each high priority band or does dropping based on priority. Alexey - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org