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

From: Ilpo Järvinen
Date: Wed Feb 20 2008 - 17:34:53 EST


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.

[...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...]

--
i.