Subject: Re: [RFC PATCH 7/8] [SCTP]: uninline sctp_add_cmd_sf

From: Vlad Yasevich <[email-masked]>
Date: Thu, 21 Feb 2008 10:27:46 -0500

Ilpo Järvinen wrote:
> On Wed, 20 Feb 2008, Vlad Yasevich wrote:
> 
>> Ilpo Järvinen wrote:
>>> I added inline to sctp_add_cmd and appropriate comment there to
>>> avoid adding another call into the call chain. This works at least
>>> with "gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13)". Alternatively,
>>> __sctp_add_cmd could be introduced to .h.
>>>
>> My only concern was performance regressions, but it looks like it
>> doesn't effect anything from the few quick runs I've made.
> 
> There was one call made anyway, it's a bit hard to see how it would hurt 
> to push that BUG() deeper down (in fact, this is one of the easiest case 
> in this respect, many other cases elsewhere that need uninlining don't 
> currently make any calls with inlines).
> 
>> Since we are putting sctp_add_cmd_sf() on the call stack, we might
>> as well get rid of sctp_add_cmd() and reduce it a bit more.
> 
> IMHO it is definately better solution for archiving the size reduction,
> I just didn't know before that the only sctp_add_cmd call could be 
> converted.

That one was a really silly one.  The chance of not calling BUG() in
that one case was so small, that it didn't really make any sense from
the code robustness side.

> 
> [...snip...]
>> diff --git a/net/sctp/command.c b/net/sctp/command.c
>> index bb97733..3a06513 100644
>> --- a/net/sctp/command.c
>> +++ b/net/sctp/command.c
>> @@ -51,19 +51,16 @@ int sctp_init_cmd_seq(sctp_cmd_seq_t *seq)
>>  
>>  /* Add a command to a sctp_cmd_seq_t.
>>   * Return 0 if the command sequence is full.
>> + *
>> + * Inline here is not a mistake, this way sctp_add_cmd_sf doesn't need extra
>> + * calls, size penalty is of insignificant magnitude here
> 
> This won't be a necessary note anymore. :-)
> 
> [...snip...]
> 

Yeah.  If you are going to resubmit, feel free to put my Signed-off-by line.

-vlad