[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1216165492.7981.105.camel@localhost>
Date: Tue, 15 Jul 2008 19:44:52 -0400
From: Trond Myklebust <trond.myklebust@....uio.no>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: jbaron@...hat.com, linux-kernel@...r.kernel.org, joe@...ches.com,
greg@...ah.com, nick@...k-andrew.net, randy.dunlap@...cle.com
Subject: Re: [PATCH 2/7] dynamic debug v2 - nfs conversion
On Tue, 2008-07-15 at 16:24 -0700, Andrew Morton wrote:
> On Tue, 15 Jul 2008 19:15:45 -0400
> Trond Myklebust <trond.myklebust@....uio.no> wrote:
>
> > On Tue, 2008-07-15 at 18:56 -0400, Trond Myklebust wrote:
> >
> > > The point is that he is changing a semi-official interface for tracing
> > > the NFS kernel activity from userspace. I'd like to know why and how it
> > > is being modified before I can ack it.
> > >
> > > In addition there are several other developers who have a daily interest
> > > in using this interface when helping our users, and who might have
> > > comments.
> >
> > OK. Having looked up the missing patch on gmane, I'd like to know
> > whether or not there is a followup plan to fix up utilities like
> > 'rpcdebug'? Apparently this patch doesn't remove the existing sunrpc
> > sysctl interface, but does circumvent it. The result is that while
> > rpcdebug will happily continue to run, it just won't work any more...
> >
>
> I'm suspecting that Jason chose the wrong starter subsystem here ;)
> Probably we should have started with the many hundreds of simpler
> cases.
>
> OTOH, it's important that Jason understand NFS's requirements here.
> Treat it as a testcase for his design. Will his infrastructure be
> usable by NFS? If not, does his infrastructure need generalising and
> strengthening so that it _does_ suit?
Since rpcdebug + the sysctl interface are well established interfaces
that are probably scripted all over the place by administrators who are
using it to as a debugging tool, I'd say that any interface breakages
need a managed transition period.
IOW: I'd say that any changes are going to need a transition period
where a compatibility mode can be compiled in and where both interfaces
work. It doesn't have to be too sophisticated, perhaps just something
along the lines of
+# define ifdebug(fac) if (dynamic_dbg_enabled(TYPE_FLAG, \
+ RPCDBG_##fac,\
+ rpc_debug) || \
+ unlikely(rpc_debug & RPCDBG_##fac))
+# define dfprintk(fac, args...) do { ifdebug(fac) printk(args); } while(0)
So that scripts can choose either interface, and still continue to operate.
Please also note the 'special' command
echo "n" >/proc/sys/sunrpc/rpc_debug
(where "n" is an integer) which always triggers a listing of the
currently executing rpc calls (see net/sunrpc/sysctl.c:proc_dodebug())
in addition to enabling/disabling debugging.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists