Message ID | 1528891298-26694-1-git-send-email-geert@linux-m68k.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> On Jun 13, 2018, at 8:01 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > With gcc 4.1.2: > > net/sunrpc/xprt.c:69: warning: ‘xprt_alloc_xid’ declared inline after being called > net/sunrpc/xprt.c:69: warning: previous declaration of ‘xprt_alloc_xid’ was here > > To fix this, move the function up, before its caller, and remove the no > longer needed forward declaration. > > Fixes: 37ac86c3a76c1136 ("SUNRPC: Initialize rpc_rqst outside of xprt->reserve_lock") > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> > --- > net/sunrpc/xprt.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c > index 3c85af058227d14b..60a8b9f91cf94b54 100644 > --- a/net/sunrpc/xprt.c > +++ b/net/sunrpc/xprt.c > @@ -66,7 +66,6 @@ > * Local functions > */ > static void xprt_init(struct rpc_xprt *xprt, struct net *net); > -static __be32 xprt_alloc_xid(struct rpc_xprt *xprt); > static void xprt_connect_status(struct rpc_task *task); > static int __xprt_get_cong(struct rpc_xprt *, struct rpc_task *); > static void __xprt_put_cong(struct rpc_xprt *, struct rpc_rqst *); > @@ -956,6 +955,11 @@ static void xprt_timer(struct rpc_task *task) > task->tk_status = 0; > } > > +static inline __be32 xprt_alloc_xid(struct rpc_xprt *xprt) > +{ > + return (__force __be32)xprt->xid++; > +} > + > /** > * xprt_prepare_transmit - reserve the transport before sending a request > * @task: RPC task about to send a request > @@ -1296,11 +1300,6 @@ void xprt_retry_reserve(struct rpc_task *task) > xprt->ops->alloc_slot(xprt, task); > } > > -static inline __be32 xprt_alloc_xid(struct rpc_xprt *xprt) > -{ > - return (__force __be32)xprt->xid++; > -} > - For code organization, we might want to keep xprt_alloc_xid together with xprt_init_xid. Would it be better to simply remove the "inline" directive from these two and let the compiler choose the best optimization? > static inline void xprt_init_xid(struct rpc_xprt *xprt) > { > xprt->xid = prandom_u32(); > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Chuck Lever -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Chuck, On Thu, Jun 14, 2018 at 7:20 PM Chuck Lever <chuck.lever@oracle.com> wrote: > > On Jun 13, 2018, at 8:01 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > > > With gcc 4.1.2: > > > > net/sunrpc/xprt.c:69: warning: ‘xprt_alloc_xid’ declared inline after being called > > net/sunrpc/xprt.c:69: warning: previous declaration of ‘xprt_alloc_xid’ was here > > > > To fix this, move the function up, before its caller, and remove the no > > longer needed forward declaration. > > > > Fixes: 37ac86c3a76c1136 ("SUNRPC: Initialize rpc_rqst outside of xprt->reserve_lock") > > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> > > --- > > net/sunrpc/xprt.c | 11 +++++------ > > 1 file changed, 5 insertions(+), 6 deletions(-) > > > > diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c > > index 3c85af058227d14b..60a8b9f91cf94b54 100644 > > --- a/net/sunrpc/xprt.c > > +++ b/net/sunrpc/xprt.c > > @@ -66,7 +66,6 @@ > > * Local functions > > */ > > static void xprt_init(struct rpc_xprt *xprt, struct net *net); > > -static __be32 xprt_alloc_xid(struct rpc_xprt *xprt); > > static void xprt_connect_status(struct rpc_task *task); > > static int __xprt_get_cong(struct rpc_xprt *, struct rpc_task *); > > static void __xprt_put_cong(struct rpc_xprt *, struct rpc_rqst *); > > @@ -956,6 +955,11 @@ static void xprt_timer(struct rpc_task *task) > > task->tk_status = 0; > > } > > > > +static inline __be32 xprt_alloc_xid(struct rpc_xprt *xprt) > > +{ > > + return (__force __be32)xprt->xid++; > > +} > > + > > /** > > * xprt_prepare_transmit - reserve the transport before sending a request > > * @task: RPC task about to send a request > > @@ -1296,11 +1300,6 @@ void xprt_retry_reserve(struct rpc_task *task) > > xprt->ops->alloc_slot(xprt, task); > > } > > > > -static inline __be32 xprt_alloc_xid(struct rpc_xprt *xprt) > > -{ > > - return (__force __be32)xprt->xid++; > > -} > > - > > For code organization, we might want to keep xprt_alloc_xid > together with xprt_init_xid. Would it be better to simply > remove the "inline" directive from these two and let the > compiler choose the best optimization? That's an option, too. > > static inline void xprt_init_xid(struct rpc_xprt *xprt) > > { > > xprt->xid = prandom_u32(); Gr{oetje,eeting}s, Geert
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 3c85af058227d14b..60a8b9f91cf94b54 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c @@ -66,7 +66,6 @@ * Local functions */ static void xprt_init(struct rpc_xprt *xprt, struct net *net); -static __be32 xprt_alloc_xid(struct rpc_xprt *xprt); static void xprt_connect_status(struct rpc_task *task); static int __xprt_get_cong(struct rpc_xprt *, struct rpc_task *); static void __xprt_put_cong(struct rpc_xprt *, struct rpc_rqst *); @@ -956,6 +955,11 @@ static void xprt_timer(struct rpc_task *task) task->tk_status = 0; } +static inline __be32 xprt_alloc_xid(struct rpc_xprt *xprt) +{ + return (__force __be32)xprt->xid++; +} + /** * xprt_prepare_transmit - reserve the transport before sending a request * @task: RPC task about to send a request @@ -1296,11 +1300,6 @@ void xprt_retry_reserve(struct rpc_task *task) xprt->ops->alloc_slot(xprt, task); } -static inline __be32 xprt_alloc_xid(struct rpc_xprt *xprt) -{ - return (__force __be32)xprt->xid++; -} - static inline void xprt_init_xid(struct rpc_xprt *xprt) { xprt->xid = prandom_u32();
With gcc 4.1.2: net/sunrpc/xprt.c:69: warning: ‘xprt_alloc_xid’ declared inline after being called net/sunrpc/xprt.c:69: warning: previous declaration of ‘xprt_alloc_xid’ was here To fix this, move the function up, before its caller, and remove the no longer needed forward declaration. Fixes: 37ac86c3a76c1136 ("SUNRPC: Initialize rpc_rqst outside of xprt->reserve_lock") Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> --- net/sunrpc/xprt.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)