Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp2220292pxp; Sun, 13 Mar 2022 12:07:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyRDnJPk2Zdphc/+vgDUmHPhLGktaIuTOSiOn5qIzCxYFsTV/8/+/tJTi97Po76xsrD+ndZ X-Received: by 2002:a17:906:c14c:b0:6d7:1278:d80c with SMTP id dp12-20020a170906c14c00b006d71278d80cmr16731697ejc.660.1647198472265; Sun, 13 Mar 2022 12:07:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647198472; cv=none; d=google.com; s=arc-20160816; b=D/fzsrQ/i0vc3FOYJGdYJLO6XLQyChrvKrHRIS5xDT6sbY0C9FJ1Zd8zSY81dQzQEC uESRLHhna8Z/gTkaPZ9QXCXlGHWkOHnXpJK8hdl77OX9SSKvQAAriGVdZsSh+ygWDjOM qUxk4L/frIjERZgGtdZhrSU6sNDtE7Q2yr0NmyJHx1IiV95lRqwjVXmqs1u0KbLtkRfE 264cOxUiEyLd7QeF8UahZat0BDzj6wKy1+5tOMj7emgMqNROHs92c7AzXzKso2PibGro W7Io7JZ+gyDp+WAUm/hsuEc4vFi75Q8k6ZGe1f7tLPxhnYhBtqoeapUk2dzjkFhuLzA7 5cVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Sy7RmcSG+PTDgDj6fw702xJGq1qvAvRQ+nQbeb/4q2A=; b=Fb/gr1SV8LexHrQo1yBKMU1h7aV2MREa64hMUbzfeztgp9eO6jMcfw6Havnbj/rIEF jptL5Ec3MgkKJMxF6b3LZW6JbTjJotPLi37CVa20ytdzOX60dvMkKentqeq3VutyOOFj fw9SqKckB66StwxkJrHRKgCW32bQPUNcbtqK8fXXBDDRhEcFsfuDXp6sgBcZSh+z9+2B QC48O4Ik3wduBua4y5XWfdGMTERSl4KHOpnS7iRTYBef7TgW46V90ixtjwJu0gfgwo/y G+Bsg++adwNtEXcWXiFAM8DPxWCB9Yns1dVI2p/LwzxcyKg+rYlEZrM9pLvZ5ycjL+ZH b8Jw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=IjydwheV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f14-20020a0564021e8e00b00416466cde31si9545341edf.131.2022.03.13.12.07.28; Sun, 13 Mar 2022 12:07:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=IjydwheV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233479AbiCMDaA (ORCPT + 99 others); Sat, 12 Mar 2022 22:30:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229796AbiCMD37 (ORCPT ); Sat, 12 Mar 2022 22:29:59 -0500 Received: from m12-18.163.com (m12-18.163.com [220.181.12.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 5D81589CCF; Sat, 12 Mar 2022 19:28:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=Sy7Rm cSG+PTDgDj6fw702xJGq1qvAvRQ+nQbeb/4q2A=; b=IjydwheVz3heISDTDLb9j egRTMsDczW8AQUt6VWxj0iE02JHn4mFrnPYvSHiqV0Uv47U96VymtdSbeAcaPRUA i7E4V3uI5+BKxAvbawgVDa3I28NhXxq74UnaPNxPf9dNDQ5MZGuOYtuGmzwxytv9 180T/Oau1ImbxaUEy8fVNs= Received: from localhost (unknown [113.116.156.254]) by smtp14 (Coremail) with SMTP id EsCowABHjiTJZC1iSdUnAQ--.27734S2; Sun, 13 Mar 2022 11:28:09 +0800 (CST) From: wudaemon To: davem@davemloft.net, kuba@kernel.org, m.grzeschik@pengutronix.de, chenhao288@hisilicon.com, arnd@arndb.de Cc: wudaemon@163.com, shenyang39@huawei.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4] net: ksz884x: optimize netdev_open flow and remove static variable Date: Sun, 13 Mar 2022 03:27:48 +0000 Message-Id: <20220313032748.3642-1-wudaemon@163.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: EsCowABHjiTJZC1iSdUnAQ--.27734S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7tF45Gr48CF4DZF4xKryrXrb_yoW8Aryxpa y7Aa40vrW8W3WxWayqy348ZF15Gw1UKFyxGFyxK34S9347Kr98tFs5KrWYyr45CrZ5XF1S v39YvF9rCas3Ja7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0z_Q6pAUUUUU= X-Originating-IP: [113.116.156.254] X-CM-SenderInfo: 5zxgtvxprqqiywtou0bp/1tbisBXBbVUMSB6krwABsM X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org remove the static next_jiffies variable, and reinitialize next_jiffies to simplify netdev_open Signed-off-by: wudaemon --- drivers/net/ethernet/micrel/ksz884x.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c index d024983815da..2b3eb5ed8233 100644 --- a/drivers/net/ethernet/micrel/ksz884x.c +++ b/drivers/net/ethernet/micrel/ksz884x.c @@ -5225,7 +5225,6 @@ static irqreturn_t netdev_intr(int irq, void *dev_id) * Linux network device functions */ -static unsigned long next_jiffies; #ifdef CONFIG_NET_POLL_CONTROLLER static void netdev_netpoll(struct net_device *dev) @@ -5411,10 +5410,12 @@ static int netdev_open(struct net_device *dev) struct dev_info *hw_priv = priv->adapter; struct ksz_hw *hw = &hw_priv->hw; struct ksz_port *port = &priv->port; + unsigned long next_jiffies; int i; int p; int rc = 0; + next_jiffies = jiffies + HZ * 2; priv->multicast = 0; priv->promiscuous = 0; @@ -5428,10 +5429,7 @@ static int netdev_open(struct net_device *dev) if (rc) return rc; for (i = 0; i < hw->mib_port_cnt; i++) { - if (next_jiffies < jiffies) - next_jiffies = jiffies + HZ * 2; - else - next_jiffies += HZ * 1; + next_jiffies += HZ * 1; hw_priv->counter[i].time = next_jiffies; hw->port_mib[i].state = media_disconnected; port_init_cnt(hw, i); @@ -6563,6 +6561,7 @@ static void mib_read_work(struct work_struct *work) struct dev_info *hw_priv = container_of(work, struct dev_info, mib_read); struct ksz_hw *hw = &hw_priv->hw; + unsigned long next_jiffies; struct ksz_port_mib *mib; int i; -- 2.25.1