@rowow - I also had this low latency issue on a Marvel Tech interface. Like yourself I was getting similar 0.300ms ish avg and miraculously enhanced it down to a fast & steady 0.04ms using below.
Using ethtool --coalesce
$ sudo apt install ethtool
$ sudo ethtool -c eth0
( take notes of your rx-usecs and tx-usecs defaults. Mine were 100 and 1000 respectively)
( start Linuxcnc and have it connected to the card)
( Time to dial/tune)
$ sudo ethtool -C eth0 rx-usecs 50
$ sudo ethtool -C eth0 tx-usecs 500
$ ping ip.ip.ip.ip
....
$ sudo ethtool -C eth0 rx-usecs 25
$ sudo ethtool -C eth0 tx-usecs 250
$ ping ip.ip.ip.ip
....
( Repeat tuning until you get satisfactory latency and no lcnc task/axis pos errors, etc. )
( Once everyone's happy, save those in your interface conf. )
$ sudo nano /etc/network/interfaces
***********************************************
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
(... ... static address stuff)
hardware-irq-coalesce-rx−usecs 25
hardware-irq-coalesce-tx−usecs 250
***********************************************
$ sudo systemctl restart networking