[Cluster-devel] [GFS2 PATCH] Get rid of gl_waiters2

Steven Whitehouse <[email protected]>
Newsgroups com.redhat.cluster-devel
Message-ID <1201701561.22038.364.camel@quoit>
Hi,

Now in the -nmw git tree. Thanks,

Steve.

On Mon, 2008-01-28 at 22:31 -0600, Bob Peterson wrote:
> Hi,
> 
> This patch reduces memory by replacing the int variable
> gl_waiters2 by a single bit in the gl_flags.
> 
> Regards,
> 
> Bob Peterson
> Red Hat GFS
> 
> Signed-off-by: Bob Peterson <[email protected]> 
> --
>  fs/gfs2/glock.c  |    7 ++++---
>  fs/gfs2/incore.h |    4 ++--
>  2 files changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
> index 894c70e..aa6f32e 100644
> --- a/fs/gfs2/glock.c
> +++ b/fs/gfs2/glock.c
> @@ -594,11 +594,12 @@ static void run_queue(struct gfs2_glock *gl)
>  			blocked = rq_mutex(gh);
>  		} else if (test_bit(GLF_DEMOTE, &gl->gl_flags)) {
>  			blocked = rq_demote(gl);
> -			if (gl->gl_waiters2 && !blocked) {
> +			if (test_bit(GLF_WAITERS2, &gl->gl_flags) &&
> +				     !blocked) {
>  				set_bit(GLF_DEMOTE, &gl->gl_flags);
>  				gl->gl_demote_state = LM_ST_UNLOCKED;
>  			}
> -			gl->gl_waiters2 = 0;
> +			clear_bit(GLF_WAITERS2, &gl->gl_flags);
>  		} else if (!list_empty(&gl->gl_waiters3)) {
>  			gh = list_entry(gl->gl_waiters3.next,
>  					struct gfs2_holder, gh_list);
> @@ -704,7 +705,7 @@ static void handle_callback(struct gfs2_glock *gl, unsigned int state,
>  	} else if (gl->gl_demote_state != LM_ST_UNLOCKED &&
>  			gl->gl_demote_state != state) {
>  		if (test_bit(GLF_DEMOTE_IN_PROGRESS,  &gl->gl_flags)) 
> -			gl->gl_waiters2 = 1;
> +			set_bit(GLF_WAITERS2, &gl->gl_flags);
>  		else 
>  			gl->gl_demote_state = LM_ST_UNLOCKED;
>  	}
> diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
> index ab682c0..217ecb0 100644
> --- a/fs/gfs2/incore.h
> +++ b/fs/gfs2/incore.h
> @@ -1,6 +1,6 @@
>  /*
>   * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
> - * Copyright (C) 2004-2007 Red Hat, Inc.  All rights reserved.
> + * Copyright (C) 2004-2008 Red Hat, Inc.  All rights reserved.
>   *
>   * This copyrighted material is made available to anyone wishing to use,
>   * modify, copy, or redistribute it subject to the terms and conditions
> @@ -167,6 +167,7 @@ enum {
>  	GLF_DIRTY		= 5,
>  	GLF_DEMOTE_IN_PROGRESS	= 6,
>  	GLF_LFLUSH		= 7,
> +	GLF_WAITERS2		= 8,
>  };
>  
>  struct gfs2_glock {
> @@ -186,7 +187,6 @@ struct gfs2_glock {
>  	struct list_head gl_holders;
>  	struct list_head gl_waiters1;	/* HIF_MUTEX */
>  	struct list_head gl_waiters3;	/* HIF_PROMOTE */
> -	int gl_waiters2;		/* GIF_DEMOTE */
>  
>  	const struct gfs2_glock_operations *gl_ops;
>  
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.