Subject: Re: [PATCHv2 net-next 3/4] flowcache: Fixup flow cache part in xfrm policy

From: Fan Du <[email-masked]>
Date: Wed, 15 Jan 2014 15:19:40 +0800

On 2014年01月15日 02:59, Sabrina Dubroca wrote:
> 2014-01-14, 09:39:46 +0800, Fan Du wrote:
>> Bump flow cache genid, and flush flow cache should also be made
>> in per net style.
>>
>> Signed-off-by: Fan Du<[email-masked]>
>> ---
>>   net/xfrm/xfrm_policy.c |    7 ++++---
>>   1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
>> index e205c4b..d39c90f 100644
>> --- a/net/xfrm/xfrm_policy.c
>> +++ b/net/xfrm/xfrm_policy.c
>> @@ -661,7 +661,7 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl)
>>   		hlist_add_head(&policy->bydst, chain);
>>   	xfrm_pol_hold(policy);
>>   	net->xfrm.policy_count[dir]++;
>> -	atomic_inc(&flow_cache_genid);
>> +	atomic_inc(&net->xfrm.flow_cache_genid);
>>
>>   	/* After previous checking, family can either be AF_INET or AF_INET6 */
>>   	if (policy->family == AF_INET)
>> @@ -2567,14 +2567,14 @@ static void __xfrm_garbage_collect(struct net *net)
>>
>>   void xfrm_garbage_collect(struct net *net)
>>   {
>> -	flow_cache_flush();
>> +	flow_cache_flush(net);
>>   	__xfrm_garbage_collect(net);
>>   }
>>   EXPORT_SYMBOL(xfrm_garbage_collect);
>>
>>   static void xfrm_garbage_collect_deferred(struct net *net)
>>   {
>> -	flow_cache_flush_deferred();
>> +	flow_cache_flush_deferred(net);
>>   	__xfrm_garbage_collect(net);
>>   }
>>
>> @@ -2947,6 +2947,7 @@ static int __net_init xfrm_net_init(struct net *net)
>>   	spin_lock_init(&net->xfrm.xfrm_policy_sk_bundle_lock);
>>   	mutex_init(&net->xfrm.xfrm_cfg_mutex);
>>
>> +	flow_cache_init(net);
>>   	return 0;
>>
>>   out_sysctl:
>
>
> You didn't address Cong Wang's comments for v1:

Sorry, seems company email server didn't forward below message to me。。。
but I saw yours. I'm happy to forge the relevant patches into one single
patch in next next version :) if Steffen doesn't complain.

>
> 2014-01-13, 11:42:47 -0800, Cong Wang wrote:
>> On Sun, Jan 12, 2014 at 11:49 PM, Fan Du<[email-masked]>  wrote:
>>>   void xfrm_garbage_collect(struct net *net)
>>>   {
>>> -       flow_cache_flush();
>>> +       flow_cache_flush(net);
>>>          __xfrm_garbage_collect(net);
>>>   }
>>>   EXPORT_SYMBOL(xfrm_garbage_collect);
>>>
>>>   static void xfrm_garbage_collect_deferred(struct net *net)
>>>   {
>>> -       flow_cache_flush_deferred();
>>> +       flow_cache_flush_deferred(net);
>>>          __xfrm_garbage_collect(net);
>>>   }
>>>
>>
>> You changed the prototypes of flow_cache_flush*() in the previous
>> patch, so, here you break bisect. They have to be in one commit.
>
>

-- 
浮沉随浪只记今朝笑

--fan