mxge(4): Fix a compilation warning on x86_64 (inlining a function failed).
authorSascha Wildner <saw@online.de>
Sat, 30 Apr 2011 20:09:24 +0000 (22:09 +0200)
committerSascha Wildner <saw@online.de>
Sat, 30 Apr 2011 20:09:55 +0000 (22:09 +0200)
Add a comment explaining how and why.

In-discussion-with: aggelos

sys/dev/netif/mxge/if_mxge.c

index 26e630d..61c7858 100644 (file)
@@ -2668,7 +2668,15 @@ mxge_rx_done_small(struct mxge_slice_state *ss, uint32_t len, uint32_t csum,
        ether_input_chain(ifp, m, NULL, chain);
 }
 
-static inline void
+/*
+ * XXX
+ *
+ * Inlining the call to this function causes mxge_intr() to grow too large
+ * for GCC's stack size limits (which shouldn't take into account inlining
+ * of leaf functions at one call site anyway). Inlining is definitely a
+ * good idea in this case though, so mark the function appropriately.
+ */
+static __always_inline void
 mxge_clean_rx_done(struct mxge_slice_state *ss)
 {
        mxge_rx_done_t *rx_done = &ss->rx_done;