From patchwork Tue May 23 00:45:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gao Feng X-Patchwork-Id: 765664 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wWxf9012mz9s7g for ; Tue, 23 May 2017 10:45:53 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1763382AbdEWApt (ORCPT ); Mon, 22 May 2017 20:45:49 -0400 Received: from mail-177180.vip.163.com ([123.58.177.180]:49161 "EHLO mail-177180.vip.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965422AbdEWApn (ORCPT ); Mon, 22 May 2017 20:45:43 -0400 Received: from ikuai8.com (unknown [114.242.17.232]) by smtp1 (Coremail) with SMTP id oGZ4CgCnxRkYhiNZv+oiBQ--.16890S2; Tue, 23 May 2017 08:45:32 +0800 (CST) From: gfree.wind@vip.163.com To: davem@davemloft.net, netdev@vger.kernel.org Cc: Gao Feng Subject: [PATCH net-next] net: rfs: Don't reset RFS entries when nothing changed Date: Tue, 23 May 2017 08:45:11 +0800 Message-Id: <1495500311-81095-1-git-send-email-gfree.wind@vip.163.com> X-Mailer: git-send-email 1.9.1 X-CM-TRANSID: oGZ4CgCnxRkYhiNZv+oiBQ--.16890S2 X-Coremail-Antispam: 1Uf129KBjvdXoWrZFy8ur17Zr13ArW3KFW7Jwb_yoWfCrg_Jr WkWw4kWa4ftw1xKa48Ca98Ar1DW345ArnYvr1IkF92ya4kXryFyws3Wr13A3W7uF4kuryU Ww1DJry2ganFqjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU8SeH3UUUUU== X-Originating-IP: [114.242.17.232] X-CM-SenderInfo: 5jiuvvgozl0vg6yl1hqrwthudrp/1tbiJwvfs1XmwEQJiAABs3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Gao Feng When the new RFS table size specified by sysctl equals the old one, there is nothing changed actually. So it is unnecessary to reset the RFS table entris. Signed-off-by: Gao Feng --- net/core/sysctl_net_core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index ea23254..80b6a7e 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c @@ -69,11 +69,12 @@ static int rps_sock_flow_sysctl(struct ctl_table *table, int write, } rps_cpu_mask = roundup_pow_of_two(nr_cpu_ids) - 1; sock_table->mask = size - 1; + + for (i = 0; i < size; i++) + sock_table->ents[i] = RPS_NO_CPU; } else sock_table = orig_sock_table; - for (i = 0; i < size; i++) - sock_table->ents[i] = RPS_NO_CPU; } else sock_table = NULL;