public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sunrpc: eliminate the XPT_DETACHED flag
@ 2014-11-17 22:02 Jeff Layton
  2014-11-19 20:51 ` J. Bruce Fields
  0 siblings, 1 reply; 2+ messages in thread
From: Jeff Layton @ 2014-11-17 22:02 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs

All it does is indicate whether a xprt has already been deleted from
a list or not, which is unnecessary since we use list_del_init and it's
always set and checked under the sv_lock anyway.

Signed-off-by: Jeff Layton <jlayton@primarydata.com>
---
 include/linux/sunrpc/svc_xprt.h | 7 +++----
 net/sunrpc/svc_xprt.c           | 4 +---
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xprt.h
index ce6e4182a5b2..79f6f8f3dc0a 100644
--- a/include/linux/sunrpc/svc_xprt.h
+++ b/include/linux/sunrpc/svc_xprt.h
@@ -63,10 +63,9 @@ struct svc_xprt {
 #define	XPT_CHNGBUF	7		/* need to change snd/rcv buf sizes */
 #define	XPT_DEFERRED	8		/* deferred request pending */
 #define	XPT_OLD		9		/* used for xprt aging mark+sweep */
-#define	XPT_DETACHED	10		/* detached from tempsocks list */
-#define XPT_LISTENER	11		/* listening endpoint */
-#define XPT_CACHE_AUTH	12		/* cache auth info */
-#define XPT_LOCAL	13		/* connection from loopback interface */
+#define XPT_LISTENER	10		/* listening endpoint */
+#define XPT_CACHE_AUTH	11		/* cache auth info */
+#define XPT_LOCAL	12		/* connection from loopback interface */
 
 	struct svc_serv		*xpt_server;	/* service for transport */
 	atomic_t    	    	xpt_reserved;	/* space on outq that is rsvd */
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index bbb3b044b877..5c71ccb9659d 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -895,7 +895,6 @@ static void svc_age_temp_xprts(unsigned long closure)
 			continue;
 		list_del_init(le);
 		set_bit(XPT_CLOSE, &xprt->xpt_flags);
-		set_bit(XPT_DETACHED, &xprt->xpt_flags);
 		dprintk("queuing xprt %p for closing\n", xprt);
 
 		/* a thread will dequeue and close it soon */
@@ -935,8 +934,7 @@ static void svc_delete_xprt(struct svc_xprt *xprt)
 	xprt->xpt_ops->xpo_detach(xprt);
 
 	spin_lock_bh(&serv->sv_lock);
-	if (!test_and_set_bit(XPT_DETACHED, &xprt->xpt_flags))
-		list_del_init(&xprt->xpt_list);
+	list_del_init(&xprt->xpt_list);
 	WARN_ON_ONCE(!list_empty(&xprt->xpt_ready));
 	if (test_bit(XPT_TEMP, &xprt->xpt_flags))
 		serv->sv_tmpcnt--;
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] sunrpc: eliminate the XPT_DETACHED flag
  2014-11-17 22:02 [PATCH] sunrpc: eliminate the XPT_DETACHED flag Jeff Layton
@ 2014-11-19 20:51 ` J. Bruce Fields
  0 siblings, 0 replies; 2+ messages in thread
From: J. Bruce Fields @ 2014-11-19 20:51 UTC (permalink / raw)
  To: Jeff Layton; +Cc: linux-nfs

On Mon, Nov 17, 2014 at 05:02:57PM -0500, Jeff Layton wrote:
> All it does is indicate whether a xprt has already been deleted from
> a list or not, which is unnecessary since we use list_del_init and it's
> always set and checked under the sv_lock anyway.
> 

Applying for 3.19, thanks.--b.

> Signed-off-by: Jeff Layton <jlayton@primarydata.com>
> ---
>  include/linux/sunrpc/svc_xprt.h | 7 +++----
>  net/sunrpc/svc_xprt.c           | 4 +---
>  2 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xprt.h
> index ce6e4182a5b2..79f6f8f3dc0a 100644
> --- a/include/linux/sunrpc/svc_xprt.h
> +++ b/include/linux/sunrpc/svc_xprt.h
> @@ -63,10 +63,9 @@ struct svc_xprt {
>  #define	XPT_CHNGBUF	7		/* need to change snd/rcv buf sizes */
>  #define	XPT_DEFERRED	8		/* deferred request pending */
>  #define	XPT_OLD		9		/* used for xprt aging mark+sweep */
> -#define	XPT_DETACHED	10		/* detached from tempsocks list */
> -#define XPT_LISTENER	11		/* listening endpoint */
> -#define XPT_CACHE_AUTH	12		/* cache auth info */
> -#define XPT_LOCAL	13		/* connection from loopback interface */
> +#define XPT_LISTENER	10		/* listening endpoint */
> +#define XPT_CACHE_AUTH	11		/* cache auth info */
> +#define XPT_LOCAL	12		/* connection from loopback interface */
>  
>  	struct svc_serv		*xpt_server;	/* service for transport */
>  	atomic_t    	    	xpt_reserved;	/* space on outq that is rsvd */
> diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
> index bbb3b044b877..5c71ccb9659d 100644
> --- a/net/sunrpc/svc_xprt.c
> +++ b/net/sunrpc/svc_xprt.c
> @@ -895,7 +895,6 @@ static void svc_age_temp_xprts(unsigned long closure)
>  			continue;
>  		list_del_init(le);
>  		set_bit(XPT_CLOSE, &xprt->xpt_flags);
> -		set_bit(XPT_DETACHED, &xprt->xpt_flags);
>  		dprintk("queuing xprt %p for closing\n", xprt);
>  
>  		/* a thread will dequeue and close it soon */
> @@ -935,8 +934,7 @@ static void svc_delete_xprt(struct svc_xprt *xprt)
>  	xprt->xpt_ops->xpo_detach(xprt);
>  
>  	spin_lock_bh(&serv->sv_lock);
> -	if (!test_and_set_bit(XPT_DETACHED, &xprt->xpt_flags))
> -		list_del_init(&xprt->xpt_list);
> +	list_del_init(&xprt->xpt_list);
>  	WARN_ON_ONCE(!list_empty(&xprt->xpt_ready));
>  	if (test_bit(XPT_TEMP, &xprt->xpt_flags))
>  		serv->sv_tmpcnt--;
> -- 
> 2.1.0
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-11-19 20:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-17 22:02 [PATCH] sunrpc: eliminate the XPT_DETACHED flag Jeff Layton
2014-11-19 20:51 ` J. Bruce Fields

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox