I have seen incrementing tx_restart_queue as well, but I can't find any good documentation describing exactly what it means. I found this thread from several years ago:
I don't know if the reasoning is still valid. It seems to suggest that you don't have a high enough interrupt rate when sending. Is there anything about your configuration that would affect your interrupt rate?
Intel would provide a useful service to the community if they would document what each statistic shown in ethool -S means!