[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100406124014.GA24412@gondor.apana.org.au>
Date: Tue, 6 Apr 2010 20:40:14 +0800
From: Herbert Xu <herbert@...dor.apana.org.au>
To: Timo Teras <timo.teras@....fi>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH 2/4] xfrm: cache bundles instead of policies for
outgoing flows
On Mon, Apr 05, 2010 at 10:00:22AM +0300, Timo Teras wrote:
>
> @@ -623,33 +618,11 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl)
> schedule_work(&net->xfrm.policy_hash_work);
>
> read_lock_bh(&xfrm_policy_lock);
> - gc_list = NULL;
> entry = &policy->bydst;
> - hlist_for_each_entry_continue(policy, entry, bydst) {
> - struct dst_entry *dst;
> -
> - write_lock(&policy->lock);
> - dst = policy->bundles;
> - if (dst) {
> - struct dst_entry *tail = dst;
> - while (tail->next)
> - tail = tail->next;
> - tail->next = gc_list;
> - gc_list = dst;
> -
> - policy->bundles = NULL;
> - }
> - write_unlock(&policy->lock);
> - }
> + hlist_for_each_entry_continue(policy, entry, bydst)
> + atomic_inc(&policy->genid);
Do we still need this since we're invalidating the whole flow
cache?
The current code is necessary since otherwise the bundles won't
get freed. But with your new code, this is essentially doing
nothing, no?
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists