13 Replies Latest reply on May 31, 2016 10:57 PM by Intel Corporation

    [e1000e/82579LM] Speed up network reachability on resume

    Maba

      Hello all,

       

      For research purposes I am trying to improve the resume latency of a Linux machine, and specifically I need to speed up its network responsiveness when it wakes up from suspend-to-RAM. I have managed to get a latency of about 3s for now and I am looking for clues to further shorten this delay.

       

      My setup includes an Intel 82579LM Gigabit NIC, which is controlled by the e1000e driver in the Linux kernel (the computer runs ArchLinux). For now it is only linked to my laptop so I have full control over the network characteristics.

       

      On this setup, DHCP is disabled, as well as auto-negotiation; link speed and duplex mode are forced to 100Mbps full duplex. These (somewhat unrecommended) settings allow for a response time of about 3s on resume. This time is obtained by querying a very light HTML page via an Apache server running on the target machine.

       

      So now I need to find other ways to shorten the delay. According to dmesg, the driver itself only takes about 50ms to wake up, and it is the restoration of the link that takes up a lot of time. Essentially, I need some ideas to quicken the process to restore the Ethernet link.

       

      What is important here is that the NIC is waking up from suspend-to-RAM (and WoL enabled of course) so it might be interesting to avoid some steps when setting it up again because it is safe to assume the network hasn't changed during the sleep period. In the ideal case I would like a way to either keep the link up when the NIC goes to sleep (it stays almost awake because of the wake-on-LAN after all) or to have the link immediately available on resume.

       

      So here I am asking for your help. If you have any hints about how these suggestions could be achieved, or any other idea about this, please answer And thank you!