From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wang Weidong Subject: Re: [PATCH v3 2/2] sctp: optimize the sctp_sysctl_net_register Date: Thu, 13 Feb 2014 09:19:25 +0800 Message-ID: <52FC1D9D.3090500@huawei.com> References: <1392169484-8256-1-git-send-email-wangweidong1@huawei.com> <1392169484-8256-3-git-send-email-wangweidong1@huawei.com> <20140212115344.GB4038@hmsreliant.think-freely.org> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Cc: , , , , To: Neil Horman Return-path: Received: from szxga03-in.huawei.com ([119.145.14.66]:51737 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751645AbaBMBUK (ORCPT ); Wed, 12 Feb 2014 20:20:10 -0500 In-Reply-To: <20140212115344.GB4038@hmsreliant.think-freely.org> Sender: netdev-owner@vger.kernel.org List-ID: On 2014/2/12 19:53, Neil Horman wrote: > On Wed, Feb 12, 2014 at 09:44:44AM +0800, Wang Weidong wrote: >> Here, when the net is init_net, we needn't to kmemdup the ctl_table >> again. So add a check for net. Also we can save some memory. >> >> Signed-off-by: Wang Weidong >> --- >> net/sctp/sysctl.c | 17 ++++++++++------- >> 1 file changed, 10 insertions(+), 7 deletions(-) >> >> diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c >> index d354de5..35c8923 100644 >> --- a/net/sctp/sysctl.c >> +++ b/net/sctp/sysctl.c >> @@ -402,15 +402,18 @@ static int proc_sctp_do_rto_max(struct ctl_table *ctl, int write, >> >> int sctp_sysctl_net_register(struct net *net) >> { >> - struct ctl_table *table; >> - int i; >> + struct ctl_table *table = sctp_net_table; >> + >> + if (!net_eq(net, &init_net)) { >> + int i; >> >> - table = kmemdup(sctp_net_table, sizeof(sctp_net_table), GFP_KERNEL); >> - if (!table) >> - return -ENOMEM; >> + table = kmemdup(sctp_net_table, sizeof(sctp_net_table), GFP_KERNEL); >> + if (!table) >> + return -ENOMEM; >> >> - for (i = 0; table[i].data; i++) >> - table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp; >> + for (i = 0; table[i].data; i++) >> + table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp; >> + } >> > In the first version of this patch you complained about a lockdep issue. Did > you figure out what that was, and if it related to these changes? > > Neil > > Hi Neil, The lockdep issue doesn't relate to these changes. I should send it by the another email. Sorry for confusing you. Regards Wang > . >