Hello.
In article <20040917153536.6acec52e.davem@xxxxxxxxxxxxx> (at Fri, 17 Sep 2004
15:35:36 -0700), "David S. Miller" <davem@xxxxxxxxxxxxx> says:
> Now all these call sites must pass 2 more parameters when
> calling ip_route_output_flow() than when they called
> ip_route_output_key() with only 2 parameters.
Okay, let me explain.
Honestly speaking, I had (at least) 4 options.
1. change two functions (_key and _flow)
- maintenancability issues
2. David's one
- maintenancability will be improved
- maintains exported symbols for binary-only modules.
- more function call and more stack usage.
3. inlined __ip_route_output_flow() + ip_route_output_flow(),
ip_route_output_key
- maintenancability will be improved
- breaks binary-only modules.
- code size.
4. migrate completely (my one)
- maintenancability will be improved
- breaks binary-only modules.
- best stack usage, minimum function call, code size.
- changes more places.
> Let's redo this first patch, putting ip_route_output_key()
> into net/ipv4/route.c, and have that function pass the
> "NULL, 0" final 2 args to ip_route_output_flow().
This increases function calls and uses more stack.
It seemd downgrade to me.
This is the reason I did not make such patch.
> And you therefore could have combined both efforts into
> one simple changeset looking like this, which is what I'm
> checking into my tree:
THANK YOU.
--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@xxxxxxxxxxxxxx>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
|