In message <Pine.LNX.4.64.0709261036140.3121@fbirervta.pbzchgretzou.qr>, Jan Engelhardt writes:Jan, what's the policy on people writing their own debugging printk systems. I've looked at what other file systems do, and found out that it varies a lot: some use a simple mapping wrapper from printk->dprintk, while others define complex ways to have debugging levels/bitmaps where users can selectively decide (say, by a mount option), what debugging output they'd like to see or not. Here's a small sampling of what some file systems use: 9p/fid.c: P9_DPRINTK(P9_DEBUG_VFS, "fid %d dentry %s\n", autofs/inode.c: DPRINTK(("autofs: shutting down\n")); lockd/svcproc.c: dprintk("lockd: GRANTED_RES called\n"); ncpfs/dir.c: DDPRINTK("ncp_lookup_validate: result=%d\n", val); nfs/client.c: dprintk("<-- nfs_free_client()\n"); nfsd/export.c: dprintk("found domain %s\n", buf); partitions/efi.c: Dprintk("GPT my_lba incorrect: %lld != %lld\n", Not much standardization there :-) but "dprintk" does appear to be the more common use. I wanted something simple to allow me to not printk something that's just for informational/debugging purposes, but w/o having to #ifdef the printk in question, or define a complex debugging-level printk system. Now, looking at pr_debug (in linux/kernel.h), and indeed some filesystems (e.g., affs and configfs) use it. But pr_debug is only active when #define DEBUG is on (not CONFIG_DEBUG). I didn't see a config option that enable DEBUG: is there one? From other file systems, it appears that the more common convention is for filesystem XYZ to offer a config option CONFIG_DEBUG_XYZ, which makes its debugging more self-contained and keeps the config option closer to where the f/s itself is enabled. Thanks, Erez. -
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Willy Tarreau | Re: Linux 2.6.21 |
| Jan Kundrát | kswapd high CPU usage with no swap |
git: | |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] tcp: splice as many packets as possible at once |
