Re: [PATCH 08/27] NSM: Add dprintk() calls in nsm_find and nsm_release

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Dec 10, 2008, at Dec 10, 2008, 4:05 PM, J. Bruce Fields wrote:

On Fri, Dec 05, 2008 at 07:02:53PM -0500, Chuck Lever wrote:
Introduce some dprintk() calls in fs/lockd/mon.c that are enabled by
the NLMDBG_MONITOR flag.  These report when we find, create, and
release nsm_handles.

Since printk() can sleep, these are placed outside the nsm_lock
spinlock.

Nope, printk() is designed to be callable from anywhere.  (This is
documented e.g. in kernel/printk.c:printk().)  I've applied the
following; look OK?

That's fine, but it will make applying later patches more difficult.

I can fix this up in my repo and resend subsequent patches if you like, or you can just delete that last sentence in the description, and apply this patch as is.

--b.

commit dfe441d67b96543eb8cdebd5323c3239e5460213
Author: Chuck Lever <chuck.lever@xxxxxxxxxx>
Date:   Fri Dec 5 19:02:53 2008 -0500

   NSM: Add dprintk() calls in nsm_find and nsm_release

Introduce some dprintk() calls in fs/lockd/mon.c that are enabled by
   the NLMDBG_MONITOR flag.  These report when we find, create, and
   release nsm_handles.

   Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
   Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxxxxxx>

diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c
index d5bd847..c332c50 100644
--- a/fs/lockd/mon.c
+++ b/fs/lockd/mon.c
@@ -250,10 +250,15 @@ retry:
		atomic_inc(&pos->sm_count);
		kfree(nsm);
		nsm = pos;
+		dprintk("lockd: found nsm_handle for %s (%s), cnt %d\n",
+				pos->sm_name, pos->sm_addrbuf,
+				atomic_read(&pos->sm_count));
		goto found;
	}
	if (nsm) {
		list_add(&nsm->sm_link, &nsm_handles);
+		dprintk("lockd: created nsm_handle for %s (%s)\n",
+				nsm->sm_name, nsm->sm_addrbuf);
		goto found;
	}
	spin_unlock(&nsm_lock);
@@ -292,6 +297,8 @@ void nsm_release(struct nsm_handle *nsm)
	if (atomic_dec_and_lock(&nsm->sm_count, &nsm_lock)) {
		list_del(&nsm->sm_link);
		spin_unlock(&nsm_lock);
+		dprintk("lockd: destroyed nsm_handle for %s (%s)\n",
+				nsm->sm_name, nsm->sm_addrbuf);
		kfree(nsm);
	}
}

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com




--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux