<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/lib/dynamic_debug.c, branch v3.9.7</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.9.7</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.9.7'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2013-01-17T20:19:09Z</updated>
<entry>
<title>dynamic_debug: add pr_errs before -EINVALs</title>
<updated>2013-01-17T20:19:09Z</updated>
<author>
<name>Jim Cromie</name>
<email>jim.cromie@gmail.com</email>
</author>
<published>2012-12-05T21:48:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=18c216c53b29f15b17c4c05a46395fc90ebb6f0c'/>
<id>urn:sha1:18c216c53b29f15b17c4c05a46395fc90ebb6f0c</id>
<content type='text'>
Ma noted that dynamic-debug is silent about many query errors, so add
pr_err()s to explain those errors, and tweak a few others.  Also parse
flags 1st, so that match-spec errs are slightly clearer.

CC: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
CC: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Signed-off-by: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>dynamic_debug: Fix vpr_&lt;foo&gt; logging styles</title>
<updated>2013-01-17T20:18:07Z</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2012-12-05T21:48:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f657fd21e16e3ab7432c03008e19069c2ef8e150'/>
<id>urn:sha1:f657fd21e16e3ab7432c03008e19069c2ef8e150</id>
<content type='text'>
vpr_info_dq should be a function and vpr_info should have
a do {} while (0)

Add missing newlines to pr_&lt;level&gt;s.

Miscellaneous neatening too.
braces, coalescing formats, alignments, etc...

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>lib: dynamic_debug: use kbasename()</title>
<updated>2012-12-18T01:15:17Z</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2012-12-18T00:01:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=35367ab28d024ef026dbd797b4076c8f008ec08c'/>
<id>urn:sha1:35367ab28d024ef026dbd797b4076c8f008ec08c</id>
<content type='text'>
Remove the custom implementation of the functionality similar to kbasename().

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Cc: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>device and dynamic_debug: Use dev_vprintk_emit and dev_printk_emit</title>
<updated>2012-09-17T13:10:05Z</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2012-09-13T03:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=666f355f3805d68b6ed5f7013806f1f65abfbf03'/>
<id>urn:sha1:666f355f3805d68b6ed5f7013806f1f65abfbf03</id>
<content type='text'>
Convert direct calls of vprintk_emit and printk_emit to the
dev_ equivalents.

Make create_syslog_header static.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Acked-by: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>netdev_printk/netif_printk: Remove a superfluous logging colon</title>
<updated>2012-09-17T13:10:05Z</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2012-09-13T03:13:01Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c2c5a7051c556036b7beb8f4a89eefdc91c3245b'/>
<id>urn:sha1:c2c5a7051c556036b7beb8f4a89eefdc91c3245b</id>
<content type='text'>
netdev_printk originally called dev_printk with %pV.

This style emitted the complete dev_printk header with
a colon followed by the netdev_name prefix followed
by a colon.

Now that netdev_printk does not call dev_printk, the
extra colon is superfluous.  Remove it.

Example:
old: sky2 0000:02:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both
new: sky2 0000:02:00.0 eth0: Link is up at 100 Mbps, full duplex, flow control both

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Acked-by: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>netdev_printk/dynamic_netdev_dbg: Directly call printk_emit</title>
<updated>2012-09-17T13:08:30Z</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2012-09-13T03:12:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b004ff4972e2a42aa4512c90cc6a9e4dc1bb36b6'/>
<id>urn:sha1:b004ff4972e2a42aa4512c90cc6a9e4dc1bb36b6</id>
<content type='text'>
A lot of stack is used in recursive printks with %pV.

Using multiple levels of %pV (a logging function with %pV
that calls another logging function with %pV) can consume
more stack than necessary.

Avoid excessive stack use by not calling dev_printk from
netdev_printk and dynamic_netdev_dbg.  Duplicate the logic
and form of dev_printk instead.

Make __netdev_printk static.
Remove EXPORT_SYMBOL(__netdev_printk)
Whitespace and brace style neatening.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Acked-by: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>dev_dbg/dynamic_debug: Update to use printk_emit, optimize stack</title>
<updated>2012-09-17T13:08:30Z</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2012-09-13T03:11:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=798efc60e4276825df34af0e91ecbe0781237834'/>
<id>urn:sha1:798efc60e4276825df34af0e91ecbe0781237834</id>
<content type='text'>
commit c4e00daaa9
("driver-core: extend dev_printk() to pass structured data")
changed __dev_printk and broke dynamic-debug's ability to control the
dynamic prefix of dev_dbg(dev,..).

commit af7f2158fd
("drivers-core: make structured logging play nice with dynamic-debug")
made a minimal correction.

The current dynamic debug code uses up to 3 recursion levels via %pV.
This can consume quite a bit of stack.  Directly call printk_emit to
reduce the recursion depth.

These changes include:

dev_dbg:
o Create and use function create_syslog_header to format the syslog
  header for printk_emit uses.
o Call create_syslog_header and neaten __dev_printk
o Make __dev_printk static not global
o Remove include header declaration of __dev_printk
o Remove now unused EXPORT_SYMBOL() of __dev_printk
o Whitespace neatening

dynamic_dev_dbg:
o Remove KERN_DEBUG from dynamic_emit_prefix
o Call create_syslog_header and printk_emit
o Whitespace neatening

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Acked-by: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Revert "dynamic_debug: remove unneeded includes"</title>
<updated>2012-05-07T23:47:32Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-05-07T23:47:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=fef15d2f3d97c9858694f234af94a4ef40d86679'/>
<id>urn:sha1:fef15d2f3d97c9858694f234af94a4ef40d86679</id>
<content type='text'>
This reverts commit 04db6e5fddca55186b6a74339a62c800150648bc.

Odds are, we really don't want to revert all of these, and need to be
more careful in the future to make sure we don't break the build of
other arches.

Reported-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Cc: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>dynamic_debug: remove unneeded includes</title>
<updated>2012-05-05T00:25:46Z</updated>
<author>
<name>Jim Cromie</name>
<email>jim.cromie@gmail.com</email>
</author>
<published>2012-05-03T17:57:39Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=04db6e5fddca55186b6a74339a62c800150648bc'/>
<id>urn:sha1:04db6e5fddca55186b6a74339a62c800150648bc</id>
<content type='text'>
These arent currently needed, so drop them.  Some will probably get
re-added when static-branches are added, but include loops prevent
that at present.

Signed-off-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>dynamic_debug: init with early_initcall, not arch_initcall</title>
<updated>2012-04-30T20:26:31Z</updated>
<author>
<name>Jim Cromie</name>
<email>jim.cromie@gmail.com</email>
</author>
<published>2012-04-27T20:30:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3ec5652ab70f6e9a888d9e5f67c858af354323b3'/>
<id>urn:sha1:3ec5652ab70f6e9a888d9e5f67c858af354323b3</id>
<content type='text'>
1- Call dynamic_debug_init() from early_initcall, not arch_initcall.
2- Call dynamic_debug_init_debugfs() from fs_initcall, not module_init.

RFC: This works for me on a 64 bit desktop and a i586 SBC, but is
untested on other arches.  I presume there is or was a reason
original code used arch_initcall, maybe the constraints have changed.

This makes facility available as soon as possible.

2nd change has a downside when dynamic_debug.verbose=1; all the
vpr_info()s called in the proc-fs code are activated, causing
voluminous output from dmesg.  TBD: Im unsure of this explanation, but
the output is there.  This could be fixed by changing those callsites
to v2pr_info(if verbose &gt; 1).

1st change is still not early enough to enable pr_debugs in
kernel/params, so parsing of boot-args isnt logged.  The reparse of
those args is however visible after params.dyndbg="+p" is processed.

Signed-off-by: Jim Cromie &lt;jim.cromie@gmail.com&gt;
Acked-by: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
