[PATCH 0/7] Deconstruct struct fib_result

STALE5126d

5 messages, 2 authors, 2012-07-31 · open the first message on its own page

[PATCH 0/7] Deconstruct struct fib_result

From: David Miller <davem@davemloft.net>
Date: 2012-07-28 04:18:15

This patch set tries to move towards reducing struct fib_result down
to it's absolute minimum.

The eventual idea is to make it so that fib_lookup() simply
returns a "struct fib_nh *" and pointer encoded errnos, instead
of writing into a complicated structure as the return value on
the stack as is done now.

Signed-off-by: David S. Miller <davem@davemloft.net>

Re: [PATCH 0/7] Deconstruct struct fib_result

From: Alexander Duyck <hidden>
Date: 2012-07-28 06:41:51

On Fri, Jul 27, 2012 at 9:18 PM, David Miller [off-list ref] wrote:
This patch set tries to move towards reducing struct fib_result down
to it's absolute minimum.

The eventual idea is to make it so that fib_lookup() simply
returns a "struct fib_nh *" and pointer encoded errnos, instead
of writing into a complicated structure as the return value on
the stack as is done now.

Signed-off-by: David S. Miller <davem@davemloft.net>
I was wondering why you couldn't wrap the tclassid value in result
with an #ifdef CONFIG_IP_ROUTE_CLASSID so that it is stripped if you
don't have that defined?  I did a quick grep through the kernel and it
seems like there are only a few spots that are accessing it without
the define being checked and most of those are just setting it to 0.

Also is there any specific reason to be passing the trie pointer to
check_leaf?  From what I can tell it looks like that it is just used
for updating the trie stats that are stripped if we want performance,
and the trie pointer should be retrievable via the fib table pointer
if we really wanted it anyway.

Thanks,

Alex

Re: [PATCH 0/7] Deconstruct struct fib_result

From: David Miller <davem@davemloft.net>
Date: 2012-07-28 06:55:52

From: Alexander Duyck <redacted>
Date: Fri, 27 Jul 2012 23:41:50 -0700
I was wondering why you couldn't wrap the tclassid value in result
with an #ifdef CONFIG_IP_ROUTE_CLASSID so that it is stripped if you
don't have that defined?
I am so over these feature ifdefs in the routing code, because
realistically everyone turns all the crap on.  Therefore we have to be
optimal when it's all on.

Re: [PATCH 0/7] Deconstruct struct fib_result

From: Alexander Duyck <hidden>
Date: 2012-07-31 17:27:40

On Fri, Jul 27, 2012 at 9:18 PM, David Miller [off-list ref] wrote:
This patch set tries to move towards reducing struct fib_result down
to it's absolute minimum.

The eventual idea is to make it so that fib_lookup() simply
returns a "struct fib_nh *" and pointer encoded errnos, instead
of writing into a complicated structure as the return value on
the stack as is done now.

Signed-off-by: David S. Miller <davem@davemloft.net>
I tested these patches most of yesterday and I haven't seen any
issues.  Then again I haven't seen much of an improvement either.

Tested-by: Alexander Duyck <redacted>

Re: [PATCH 0/7] Deconstruct struct fib_result

From: David Miller <davem@davemloft.net>
Date: 2012-07-31 21:43:47

From: Alexander Duyck <redacted>
Date: Tue, 31 Jul 2012 10:27:40 -0700
On Fri, Jul 27, 2012 at 9:18 PM, David Miller [off-list ref] wrote:
quoted
This patch set tries to move towards reducing struct fib_result down
to it's absolute minimum.

The eventual idea is to make it so that fib_lookup() simply
returns a "struct fib_nh *" and pointer encoded errnos, instead
of writing into a complicated structure as the return value on
the stack as is done now.

Signed-off-by: David S. Miller <davem@davemloft.net>
I tested these patches most of yesterday and I haven't seen any
issues.  Then again I haven't seen much of an improvement either.

Tested-by: Alexander Duyck <redacted>
Thanks for testing.

I'm putting this patch set to the side until I can find a way
to get past the tclassid barrier and also make it show some
difference performance wise.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help