public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: "Greg Kroah-Hartman" <gregkh@suse.de>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Frédéric Weisbecker" <fweisbec@gmail.com>,
	"Andrew Morton" <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Jason Baron <jbaron@redhat.com>,
	Greg Banks <gnb@sgi.com>
Subject: Re: [PATCH 58/61] dynamic debug: combine dprintk and dynamic printk
Date: Wed, 25 Mar 2009 11:50:23 +0100	[thread overview]
Message-ID: <20090325105023.GL2341@elte.hu> (raw)
In-Reply-To: <1237940825-22904-58-git-send-email-gregkh@suse.de>


* Greg Kroah-Hartman <gregkh@suse.de> wrote:

> From: Jason Baron <jbaron@redhat.com>
> 
> This patch combines Greg Bank's dprintk() work with the existing 
> dynamic printk patchset, we are now calling it 'dynamic debug'.
> 
> The new feature of this patchset is a richer /debugfs control file 
> interface, (an example output from my system is at the bottom), 
> which allows fined grained control over the the debug output. The 
> output can be controlled by function, file, module, format string, 
> and line number.

Hm, dunno this overlaps quite a bit with existing tracing 
facilities.

There seems to be serious consolidation potential here, if you want 
to reduce code and want to cooperate with existing tracing 
facilities.

In particlar, this facility seems to be a subset of what is already 
possible via trace_printk(). We could make every dprintk() site show 
up in /debug/tracing/events/dprintk/, and make it possible to toggle 
them on/off individually.

Furthermore it would also be possible to use the user-defined per 
tracepoint filter expression facility. That way each dprintk site 
can be (optionally) tailored individually.

For example we could enable such use:

  echo 'pid == 1234' > /debug/tracing/events/dprintk/fs/lockd/svc4proc.c:71/filter
  echo 1             > /debug/tracing/events/dprintk/fs/lockd/svc4proc.c:71/enabled

To tailor the following dprintk() in fs/lockd/svc4proc.c (line 71):

  static __be32
  nlm4svc_proc_null(struct svc_rqst *rqstp, void *argp, void *resp)
  {
          dprintk("lockd: NULL          called\n");
          return rpc_success;
  }

To only be printed for PID 1234.

Per subsystem filters would be available too. The subsystem 
maintainers dont have to do anything but place dprintk() calls - 
they'll show up under /debug/tracing/events/dprintk/ automatically.

Would you be interested in this?

	Ingo

  reply	other threads:[~2009-03-25 10:51 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-25  0:16 [GIT PATCH] driver core patches for 2.6.30 merge window Greg KH
2009-03-25  0:26 ` [PATCH 01/61] edac: struct device - replace bus_id with dev_name(), dev_set_name() Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 02/61] spi: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 03/61] video: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 04/61] zorro: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 05/61] mmc: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 06/61] mtd: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 07/61] pci: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 08/61] rapidio: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 09/61] s390: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 10/61] serial: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 11/61] sh: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 12/61] tc: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 13/61] pcmcia: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 14/61] rtc: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 15/61] net: " Greg Kroah-Hartman
2009-03-25  3:31   ` Stephen Hemminger
2009-03-25  4:18     ` Greg KH
2009-03-25  6:29   ` David Miller
2009-03-25  9:34     ` Kay Sievers
2009-03-25  0:26 ` [PATCH 16/61] drm: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 17/61] v4l: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 18/61] amba: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 19/61] dio: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 20/61] dma: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 21/61] eisa: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 22/61] gpio: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 23/61] mca: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 24/61] mfd: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 25/61] wimax: " Greg Kroah-Hartman
2009-03-25  1:22   ` Perez-Gonzalez, Inaky
2009-03-25  0:26 ` [PATCH 26/61] usb: " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 27/61] PS3: replace bus_id usage Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 28/61] USB: FHCI: use dev_name() in place of bus_id Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 29/61] driver core: get rid of struct device's bus_id string array Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 30/61] SYSFS: use standard magic.h for sysfs Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 31/61] sysfs: Take sysfs_mutex when fetching the root inode Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 32/61] driver core: check bus->match without holding device lock Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 33/61] platform: make better use of to_platform_{device,driver}() macros Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 34/61] platform: introduce module id table for platform devices Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 35/61] UIO: Add name attributes for mappings and port regions Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 36/61] uio: add the uio_aec driver Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 37/61] UIO: Take offset into account when determining number of pages that can be mapped Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 38/61] platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 39/61] scsi/m68k: Kill NCR_700_detect() warnings Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 40/61] driver-core: do not register a driver with bus_type not registered Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 41/61] sysfs: sysfs_add_one WARNs with full path to duplicate filename Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 42/61] sysfs: reference sysfs_dirent from sysfs inodes Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 43/61] driver core: remove polling for driver_probe_done(v5) Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 44/61] driver core: create a private portion of struct device Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 45/61] driver core: move klist_children into private structure Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 46/61] driver core: move knode_driver " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 47/61] driver core: move knode_bus " Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 48/61] sysfs: don't block indefinitely for unmapped files Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 49/61] driver core: move platform_data into platform_device Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 50/61] driver core: fix passing platform_data Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 51/61] vcs: hook sysfs devices into object lifetime instead of "binding" Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 52/61] Driver core: implement uevent suppress in kobject Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 53/61] Driver core: some cleanup on drivers/base/sys.c Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 54/61] Driver core: Fix device_move() vs. dpm list ordering, v2 Greg Kroah-Hartman
2009-03-25  0:26 ` [PATCH 55/61] sysfs: only allow one scheduled removal callback per kobj Greg Kroah-Hartman
2009-03-25  0:27 ` [PATCH 56/61] kobject: don't block for each kobject_uevent Greg Kroah-Hartman
2009-03-25  0:27 ` [PATCH 57/61] sysfs: fix some bin_vm_ops errors Greg Kroah-Hartman
2009-03-25  0:27 ` [PATCH 58/61] dynamic debug: combine dprintk and dynamic printk Greg Kroah-Hartman
2009-03-25 10:50   ` Ingo Molnar [this message]
2009-03-25 13:20     ` Jason Baron
2009-03-25  0:27 ` [PATCH 59/61] dynamic debug: update docs Greg Kroah-Hartman
2009-03-25  0:27 ` [PATCH 60/61] Dynamic debug: allow simple quoting of words Greg Kroah-Hartman
2009-03-25  0:27 ` [PATCH 61/61] Dynamic debug: fix pr_fmt() build error Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090325105023.GL2341@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@linux-foundation.org \
    --cc=fweisbec@gmail.com \
    --cc=gnb@sgi.com \
    --cc=gregkh@suse.de \
    --cc=jbaron@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox