[Intel-wired-lan] [PATCH] Reduce e1000e boot time by tightening sleep ranges

Paul Menzel pmenzel at molgen.mpg.de
Sat May 18 16:56:33 UTC 2019


Dear Linux folks,


On 17.05.19 16:55, Paul Menzel wrote:
>  From 6ce17ba6e04802462425ee9d38084523fc1a7ab6 Mon Sep 17 00:00:00 2001
> From: Arjan van de Ven <arjan at linux.intel.com>
> Date: Mon, 25 Jul 2016 06:44:34 -0500
> 
> The e1000e driver is a great user of the usleep_range() API,
> and has nice ranges that in principle help power management.
> 
> However the ranges that are used only during system startup are
> very long (and can add easily 100 msec to the boot time) while
> the power savings of such long ranges is irrelevant due to the
> one-off, boot only, nature of these functions.
> 
> This patch shrinks some of the longest ranges to be shorter
> (while still using a power friendly 1 msec range); this saves
> 100msec+ of boot time on my BDW NUCs

On the Dell Latitude E7250 with Linux 5.0.1 from Debian experimental 
(without this patch), the module e1000e takes quite long too initialize.

> [   68.449925] calling  e1000_init_module+0x0/0x1000 [e1000e] @ 315
> [   68.449926] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
> [   68.449926] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
> [   68.449949] e1000e 0000:00:19.0: enabling device (0000 -> 0002)
> [   68.451074] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
> [   68.767735] e1000e 0000:00:19.0 0000:00:19.0 (uninitialized): registered PHC clock
> [   68.864427] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 34:e6:d7:6a:72:f4
> [   68.864429] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
> [   68.864454] e1000e 0000:00:19.0 eth0: MAC: 11, PHY: 12, PBA No: FFFFFF-0FF
> [   68.864498] initcall e1000_init_module+0x0/0x1000 [e1000e] returned 0 after 40406 usecs
> [   68.868506] e1000e 0000:00:19.0 eno1: renamed from eth0
> [   73.932930] e1000e: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

I have no idea, why the `initcall_debug` time of 40.4 ms deviates from 
the Linux message time stamps (414 ms).


Kind regards,

Paul


More information about the Intel-wired-lan mailing list