All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Timo Teräs" <timo.teras@iki.fi>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH 1/4] flow: virtualize flow cache entry methods
Date: Sun, 04 Apr 2010 14:06:55 +0300	[thread overview]
Message-ID: <4BB872CF.2030202@iki.fi> (raw)
In-Reply-To: <20100404110014.GA10864@gondor.apana.org.au>

Herbert Xu wrote:
> On Sun, Apr 04, 2010 at 01:50:16PM +0300, Timo Teräs wrote:
>> Because flow_cache_entry is per-cpu, and multiple entries (due to
>> different flows matching same policies, or same flow having multiple
>> per-cpu entries) can point to same policy. If we cached "dummy" objects
>> for even policies, then this would be better approach.
> 
> Oh yes of course.
> 
> But what we could do is embed most of flow_cache_entry into
> xfrm_policy (and xdst in your latter patches) along with the
> ops pointer.
> 
> Like this:
> 
> struct flow_cache_object {
> 	u16			family;
> 	u8			dir;
> 	u32			genid;
> 	struct flowi		key;
> 	struct flow_cache_ops **ops;
> };
> 
> struct flow_cache_entry {
> 	struct flow_cache_entry	*next;
> 	struct flow_cache_object *obj;
> };
> 
> struct xfrm_policy {
> 	struct flow_cache_object flo;
> 	...
> };
> 
> What do you think?

It would still not work for policies. For every policy X we
can get N+1 different matches with separate struct flowi contents.
It's not possible to put single struct flowi or any other of
the flow details in to xfrm_policy. It's a N-to-1 mapping. Not
a 1-to-1 mapping.


  reply	other threads:[~2010-04-04 11:06 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-01 12:52 [PATCH 0/4] caching bundles, iteration 3 Timo Teras
2010-04-01 12:52 ` [PATCH 1/4] flow: virtualize flow cache entry methods Timo Teras
2010-04-01 13:05   ` Eric Dumazet
2010-04-01 13:07     ` Timo Teräs
2010-04-03  3:38   ` Herbert Xu
2010-04-03  8:36     ` Herbert Xu
2010-04-03 13:50       ` Timo Teräs
2010-04-03 14:17         ` Herbert Xu
2010-04-03 14:26           ` Timo Teräs
2010-04-03 15:53             ` Herbert Xu
2010-04-03 20:19               ` Timo Teräs
2010-04-04  2:06                 ` Herbert Xu
2010-04-04  5:50                   ` Timo Teräs
2010-04-04  5:58                     ` Herbert Xu
2010-04-04  6:07                       ` Timo Teräs
2010-04-04  6:19                         ` Herbert Xu
2010-04-04  6:28                           ` Timo Teräs
2010-04-04  8:35                             ` Herbert Xu
2010-04-04 10:42   ` Herbert Xu
2010-04-04 10:50     ` Timo Teräs
2010-04-04 11:00       ` Herbert Xu
2010-04-04 11:06         ` Timo Teräs [this message]
2010-04-04 11:26           ` Herbert Xu
2010-04-04 11:31             ` Herbert Xu
2010-04-04 12:09               ` Timo Teräs
2010-04-01 12:52 ` [PATCH 2/4] xfrm: cache bundles instead of policies for outgoing flows Timo Teras
2010-04-01 12:52 ` [PATCH 3/4] xfrm: remove policy garbage collection Timo Teras
2010-04-01 12:52 ` [PATCH 4/4] flow: delayed deletion of flow cache entries Timo Teras
2010-04-02  3:00 ` [PATCH 0/4] caching bundles, iteration 3 David Miller
2010-04-02 13:12   ` Herbert Xu
  -- strict thread matches above, loose matches on Subject: below --
2010-04-05  7:00 [PATCH 0/4] caching bundles, iteration 4 Timo Teras
2010-04-05  7:00 ` [PATCH 1/4] flow: virtualize flow cache entry methods Timo Teras
2010-04-05  8:33   ` Herbert Xu
2010-04-05  8:36     ` Timo Teräs
2010-04-05  8:44       ` Herbert Xu
2010-04-05  8:49         ` Herbert Xu
2010-04-05  8:53           ` Timo Teräs
2010-04-05  9:12             ` Herbert Xu
2010-04-05 17:01               ` Timo Teras
2010-04-06 12:34                 ` Herbert Xu
2010-04-06 13:26                   ` Timo Teräs
2010-04-07  9:15                     ` David Miller
2010-04-07 10:30 [PATCH 0/4] caching bundles, iteration 5 Timo Teras
2010-04-07 10:30 ` [PATCH 1/4] flow: virtualize flow cache entry methods Timo Teras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BB872CF.2030202@iki.fi \
    --to=timo.teras@iki.fi \
    --cc=herbert@gondor.apana.org.au \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.