Does differing host/network byte ordering on AGX add to network latency?

I am trying to make two Jetson AGXs communicate via ethernet with as low latency as possible using UDP protocol. The default request-response latency measured by netperf is around 200 microseconds. I am looking for ways to reduce this and all suggestions are welcome.

Looking at the network stack, I came across the fact that Jetson uses little endian byte order while network uses big endian order. So, for a request response scenario, byte order conversion needs to be done 4 times

–>start
Host sender (LE)–> BE → send to client
Client receiver BE → LE
Client sender LE–> BE -->send to host
Host receiver BE → LE
→ end

Of course this is a very simplified picture and I have omitted all parts of the stack unrelated to byte ordering. My question is, does this 4 time conversion impact the latency significantly? If one were to use systems with big endian ordering, given everything else remains same, would that reduce network latency by any measurable amount?

Please check if adding CONFIG_EQOS_DISABLE_EEE could help.

I don’t think LE/BE could be an issue here.

@WayneWWW Thanks. Where do I add this line?

This is inside the kernel. There is a tegre_defconfig file to define which options are enabled/disabled in our kernel driver.

Download the kernel source code from

https://developer.nvidia.com/embedded/linux-tegra-archive

Follow the document here to build the kernel on the host.

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/kernel_custom.html#wwpID0E0WD0HA

Replace your kernel to /boot/Image on the device and reboot.

And just some precaution that rebuilding kernel has chance to crash the system so using uart serial console might be helpful.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.