L2 pause frames are a necessity for small networks that don't have server-grade hardware, when your MAC receive buffers are measured in a few kilobytes. That includes most embedded devices (consumer devices, printers, etc., even industrial), consumer/small business switches, they have tiny buffers.
Your datacenter/server/workstation hardware is different. It deals with higher speeds and has appropriate buffering and control.
I wish people here would understand consumer/embedded space needs pause frames to function properly and that TCP congestion control will often significantly hurt performance otherwise. TCP can't magically know when some buffer is full. Without pause frames low level hardware will send at full throttle. It's not ok if every second frame is lost.
Your datacenter/server/workstation hardware is different. It deals with higher speeds and has appropriate buffering and control.
I wish people here would understand consumer/embedded space needs pause frames to function properly and that TCP congestion control will often significantly hurt performance otherwise. TCP can't magically know when some buffer is full. Without pause frames low level hardware will send at full throttle. It's not ok if every second frame is lost.