xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/7] Printk symbol specifier
@ 2013-11-05 14:38 Andrew Cooper
  2013-11-05 14:38 ` [Patch v3 1/7] common/vsprintf: Refactor string() out of vsnprintf() Andrew Cooper
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Andrew Cooper @ 2013-11-05 14:38 UTC (permalink / raw)
  To: Xen-devel
  Cc: Keir Fraser, Ian Campbell, Andrew Cooper, Tim Deegan,
	Stefano Stabellini, Jan Beulich

This series implements %ps and %pS.

Changes from v2:
  Incorperated all comments from the list
  Moved the change for dump_timer() to later in the series
  Remove some redundant _p() casts
  Adjust behaviour of %ps for cases where offset != 0

Changes from v1:
  The first patch has grown to three.  The breakdown is now:

The first two patches refactor string() and pointer() respectivly out of
vsnprintf().  This is just code motion in preparation for the subsequent
patch.

The third patch is the main implementation of %ps and %pS.  With the
refactoring from the first patch, the recursive call to scnprintf in v1 can be
removed.

One inconsistency with the behaviour of print_symbol() is that in the case
that a symbol cant be found, the pointer is printed as per %p, rather than
"???" as before.

Documentation is now provided in docs/misc/printk-formats.txt

The fourth and fifth patches replace all uses of print_symbol() with %ps/%pS,
for x86 and arm respectively.  Most replacements are straight replacements,
but I have taken the opportunity to slightly cleanup the stack tracing code.
When two CPUs are racing at printing a stack, they contend on the console
spinlock, resulting in interleaving across end of the partial strings.  Now,
each full line of the stack trace is printed from a single printk(), so the
interleaving will occur at the line boundaries rather than mid-line
boundaries.

The sixth patch removes print_symbol() and friends, now that the functionality
has been completely replaced.

The seventh patch is not intended for committing, but for people wishing to
test and verify some of the boundary conditions.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Keir Fraser <keir@xen.org>
CC: Jan Beulich <JBeulich@suse.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Stefano Stabellini <stefano.stabellini@citrix.com>
CC: Tim Deegan <tim@xen.org>

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-11-11 17:20 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-05 14:38 [PATCH v3 0/7] Printk symbol specifier Andrew Cooper
2013-11-05 14:38 ` [Patch v3 1/7] common/vsprintf: Refactor string() out of vsnprintf() Andrew Cooper
2013-11-05 14:38 ` [Patch v3 2/7] common/vsprintf: Refactor pointer() " Andrew Cooper
2013-11-05 14:38 ` [Patch v3 3/7] common/vsprintf: Add %ps and %pS format specifier support Andrew Cooper
2013-11-05 14:38 ` [Patch v3 4/7] x86: Replace print_symbol() with new %ps/%pS format Andrew Cooper
2013-11-05 14:38 ` [Patch v3 5/7] arm: " Andrew Cooper
2013-11-05 14:38 ` [Patch v3 6/7] common/symbols: Remove print_symbol() and associated infrastructure Andrew Cooper
2013-11-05 14:38 ` [Patch v3 7/7] Test harness for new printk formatting Andrew Cooper
2013-11-05 15:04 ` [PATCH v3 0/7] Printk symbol specifier Jan Beulich
2013-11-06 17:48   ` Andrew Cooper
2013-11-11 17:20     ` Keir Fraser

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).