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