From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Wed, 30 Jan 2008 13:59:21 +0000 Subject: [Cluster-devel] [GFS2 PATCH] Get rid of gl_waiters2 In-Reply-To: <1201581099.18461.115.camel@technetium.msp.redhat.com> References: <1201581099.18461.115.camel@technetium.msp.redhat.com> Message-ID: <1201701561.22038.364.camel@quoit> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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 > -- > 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; > > >