Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Like you said the host might have small buffers and without Pause it would drop, but who's supposed to buffer the packets, the cheap switch with 16kB of buffers and super idiotic buffer configuration such that everyone else on that switch gets paused?

You seem to think that it's bad to drop packets in the nic and while some nic might have buffers that are too small but in general you should drop. If you use TCP the window will adjust to whatever your bad nic and embedded system can handle. At least you won't affect the others by spreading pause like a cancer ( can you tell I am cynical on pause )

Usually on a switch you can usually drop packets based on the number of packets destined to a port and packets buffered per input port. This is how you can avoid head of line blocking but again if you are right with 16kB that's barely enough for a jumbo packet (~9200B)... geez that's depressing.



> If you use TCP the window will adjust to whatever your bad nic and embedded system can handle.

TCP window, sigh... It can't deal with the situation where, say, every second frame is lost, because someone thought 2 kB is enough buffer. TCP congestion control mechanisms are great for actual congestion, but when packet loss is due to other causes, it's actually pretty bad.

Again, TCP is no substitute for flow control in this case.

Doesn't matter how nice NIC you have. The problem usually happens before the packets reach your nice NIC.


Lack of buffer space is pretty much the definition of congestion.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: