On Wed, 20 Feb 2008, Vlad Yasevich wrote:
Ilpo Järvinen wrote:I added inline to sctp_add_cmd and appropriate comment there toMy only concern was performance regressions, but it looks like it
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.
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...]