Subject: Re: [PATCH 1/8] [TCP]: Uninline tcp_set_state

From: Andi Kleen <[email-masked]>
Date: Thu, 17 Jan 2008 13:41:21 +0100

"Ilpo Järvinen" <[email-masked]> writes:
>
> Besides, it not always that obvious that gcc is able to determine "the
> constant state", considering e.g., the complexity in the cases with
> tcp_rcv_synsent_state_process, tcp_close_state, tcp_done. In such cases
> uninlining should be done and gcc is probably not able to mix both cases
> nicely for a single function?

I think it would be cleanest to completely unswitch the function 
and split into tcp_set_closed()  / tcp_set_established() / tcp_other_state() 
called by the callers directly.

That would probably lose the state trace, but I never found 
that useful for anything.

-Andi