Hi Marin,
> On the other hand, when buffering is disabled the CPU is almost the same as with 250ms buffering timeout (in my case)
Depending on the number of connections configured that way, you might not see any difference (it's really only an issue with many connections).
> Why are tcp writes buffered?
To reduce the number of syscalls and improve throughput.
> What are the drawbacks of disabling the buffer?
You likely won't be able to achieve peak throughput. This may not matter to your particular use case though, the defaults are meant to be a happy medium.
Hope this helps.
Thanks,
Matt