From patchwork Mon Jan 21 08:37:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Feng Tang X-Patchwork-Id: 1028452 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43jlK14p4qz9sCh for ; Mon, 21 Jan 2019 19:36:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729246AbfAUIgv (ORCPT ); Mon, 21 Jan 2019 03:36:51 -0500 Received: from mga11.intel.com ([192.55.52.93]:51859 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728554AbfAUIgv (ORCPT ); Mon, 21 Jan 2019 03:36:51 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jan 2019 00:36:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,502,1539673200"; d="scan'208";a="137420542" Received: from shbuild999.sh.intel.com ([10.239.147.118]) by fmsmga004.fm.intel.com with ESMTP; 21 Jan 2019 00:36:50 -0800 From: Feng Tang To: Jeff Kirsher , "David S . Miller" , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org Cc: Feng Tang Subject: [PATCH] igb: Make driver init async Date: Mon, 21 Jan 2019 16:37:05 +0800 Message-Id: <1548059825-78171-1-git-send-email-feng.tang@intel.com> X-Mailer: git-send-email 2.7.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When optimizing boot time for a platform with igb module, we found the igb driver probe will take about 45 ms, make the probe asynchronous will save quite some time as the init runs in parallel with other asynchronous drivers. In theory, this could be applied to some other drivers like igc or e1000, but we don't have HW to verify that. Signed-off-by: Feng Tang --- drivers/net/ethernet/intel/igb/igb_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 7137e7f..d477253 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -229,6 +229,7 @@ static struct pci_driver igb_driver = { .id_table = igb_pci_tbl, .probe = igb_probe, .remove = igb_remove, + .driver.probe_type = PROBE_PREFER_ASYNCHRONOUS, #ifdef CONFIG_PM .driver.pm = &igb_pm_ops, #endif