From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Wed, 25 Jul 2007 15:09:36 +0100 Subject: [Cluster-devel] Re: [PATCH] gfs2/locking/dlm: use an temp variable to reduce a spin_unlock In-Reply-To: <11853572382497-git-send-email-crquan@gmail.com> References: <11853572382497-git-send-email-crquan@gmail.com> Message-ID: <1185372576.8765.477.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 applied to the GFS2 -nmw git tree. Thanks, Steve. On Wed, 2007-07-25 at 17:53 +0800, Denis Cheng wrote: > this is more clear. > > Signed-off-by: Denis Cheng > --- > fs/gfs2/locking/dlm/plock.c | 11 ++++++----- > 1 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/fs/gfs2/locking/dlm/plock.c b/fs/gfs2/locking/dlm/plock.c > index fba1f1d..1f7b038 100644 > --- a/fs/gfs2/locking/dlm/plock.c > +++ b/fs/gfs2/locking/dlm/plock.c > @@ -346,15 +346,16 @@ static ssize_t dev_write(struct file *file, const char __user *u, size_t count, > > static unsigned int dev_poll(struct file *file, poll_table *wait) > { > + unsigned int mask = 0; > + > poll_wait(file, &send_wq, wait); > > spin_lock(&ops_lock); > - if (!list_empty(&send_list)) { > - spin_unlock(&ops_lock); > - return POLLIN | POLLRDNORM; > - } > + if (!list_empty(&send_list)) > + mask = POLLIN | POLLRDNORM; > spin_unlock(&ops_lock); > - return 0; > + > + return mask; > } > > static const struct file_operations dev_fops = {