On 03/21/14 10:32, Ian Campbell wrote:
On Thu, 2014-03-20 at 15:06 -0400, Don Slutz wrote:
   -b <bytes>, --bytes-per-line <bytes>
                      change the number of bytes per line output for 
Stack.
                      (default 32) Note: rounded to native size (4 
or 8 bytes).
I can just about see a use for this.
This is much more useful when used with --decode-as-ascii or when you 
have a wide "terminal".
   -l <lines>, --lines <lines>
                      change the number of lines output for Stack. 
(default 5)
                      Can be specified as MAX.  Note: Fewer lines 
will be output
                      if Stack limit reached.
What is this useful for which "less", "head" or "tail" can't achieve?
By default only part of the stack is dumped:
tools/xentrace/xenctx -s ~/zzm 4 -n 2
rip: ffffffff81346876 io_serial_in+0x16
flags: 00000002 nz
rsp: ffff8800385a5ab8
rax: 000000000000006f   rcx: 0000000000000000   rdx: 00000000000003fd
rbx: ffffffff81ff8f00   rsi: 0000000000000005   rdi: ffffffff81ff8f00
rbp: ffff8800385a5ab8    r8: ffffffff81c03a10    r9: 0000000000000080
r10: 0000000000000005   r11: 0000000000000046   r12: 000000000000270f
r13: 0000000000000020   r14: 0000000000000025   r15: ffffffff81346f20
 cs: 0010        ss: 0018        ds: 0000        es: 0000
 fs: 0000 @ 00007f07972f3700
 gs: 0000 @ ffff88000b400000/0000000000000000/
Code (instr addr ffffffff81346876)
48 89 e5 0f 1f 44 00 00 0f b6 4f 41 0f b7 57 08 d3 e6 01 f2 ec <0f> b6 
c0 c9 c3 0f 1f 44 00 00 55
Stack:
 ffff8800385a5ae8 ffffffff81346e64 ffffffff81ff8f00 0000000000000072
 0000000000000064 0000000000000025 ffff8800385a5b08 ffffffff81346f46
 ffffffff81e3e430 ffffffff81ff8f00 ffff8800385a5b48 ffffffff813428de
 ffffffff8100bc0e 0000000000000000 ffffffff81ff8f00 0000000000000001
 0000000000000064 ffffffff81e3e40c ffff8800385a5b98 ffffffff813472ad
Call Trace:
  [<ffffffff81346876>] io_serial_in+0x16 <--
  [<ffffffff81346e64>] wait_for_xmitr+0x24
  [<ffffffff81346f46>] serial8250_console_putchar+0x26
  [<ffffffff813428de>] uart_console_write+0x3e
  [<ffffffff8100bc0e>] apic_timer_interrupt+0xe
  [<ffffffff813472ad>] serial8250_console_write+0xbd
  [<ffffffff8106b8f5>] __call_console_drivers+0x75
  [<ffffffff8106b95a>] _call_console_drivers+0x4a
  [<ffffffff8106be6e>] release_console_sem+0x4e
  [<ffffffff8106c628>] vprintk+0x248
  [<ffffffff814fd363>] printk+0x41
Here is the same data with a bigger -l (domU is paused):
tools/xentrace/xenctx -s ~/zzm 4 -n 2 -l 10
rip: ffffffff81346876 io_serial_in+0x16
flags: 00000002 nz
rsp: ffff8800385a5ab8
rax: 000000000000006f   rcx: 0000000000000000   rdx: 00000000000003fd
rbx: ffffffff81ff8f00   rsi: 0000000000000005   rdi: ffffffff81ff8f00
rbp: ffff8800385a5ab8    r8: ffffffff81c03a10    r9: 0000000000000080
r10: 0000000000000005   r11: 0000000000000046   r12: 000000000000270f
r13: 0000000000000020   r14: 0000000000000025   r15: ffffffff81346f20
 cs: 0010        ss: 0018        ds: 0000        es: 0000
 fs: 0000 @ 00007f07972f3700
 gs: 0000 @ ffff88000b400000/0000000000000000/
Code (instr addr ffffffff81346876)
48 89 e5 0f 1f 44 00 00 0f b6 4f 41 0f b7 57 08 d3 e6 01 f2 ec <0f> b6 
c0 c9 c3 0f 1f 44 00 00 55
Stack:
 ffff8800385a5ae8 ffffffff81346e64 ffffffff81ff8f00 0000000000000072
 0000000000000064 0000000000000025 ffff8800385a5b08 ffffffff81346f46
 ffffffff81e3e430 ffffffff81ff8f00 ffff8800385a5b48 ffffffff813428de
 ffffffff8100bc0e 0000000000000000 ffffffff81ff8f00 0000000000000001
 0000000000000064 ffffffff81e3e40c ffff8800385a5b98 ffffffff813472ad
 00000000385a5cd8 0000000000000006 ffff8800385a5c08 ffffffff81affa00
 ffffffff81c03800 000000000001696c 0000000000000064 0000000000000046
 ffff8800385a5bc8 ffffffff8106b8f5 00000000000169d0 ffffffff81e2797c
 00000000000169d0 00000000000169d0 ffff8800385a5be8 ffffffff8106b95a
 206465697272616d 00000000fffff167 ffff8800385a5c28 ffffffff8106be6e
Call Trace:
  [<ffffffff81346876>] io_serial_in+0x16 <--
  [<ffffffff81346e64>] wait_for_xmitr+0x24
  [<ffffffff81346f46>] serial8250_console_putchar+0x26
  [<ffffffff813428de>] uart_console_write+0x3e
  [<ffffffff8100bc0e>] apic_timer_interrupt+0xe
  [<ffffffff813472ad>] serial8250_console_write+0xbd
  [<ffffffff8106b8f5>] __call_console_drivers+0x75
  [<ffffffff8106b95a>] _call_console_drivers+0x4a
  [<ffffffff8106be6e>] release_console_sem+0x4e
  [<ffffffff8106c628>] vprintk+0x248
  [<ffffffff814fd363>] printk+0x41
"less", "head" or "tail" are unable to change xenctx, only control 
what you see of xenctx's output.
In both cases though it seems to make the code more complicated for what
seems to be a not all that useful increase in functionality.
It is true that using the existing -S:
tools/xentrace/xenctx -s ~/zzm 4 -S
rip: ffffffff81346876 io_serial_in+0x16
flags: 00000002 nz
rsp: ffff8800385a5ab8
rax: 000000000000006f   rcx: 0000000000000000   rdx: 00000000000003fd
rbx: ffffffff81ff8f00   rsi: 0000000000000005   rdi: ffffffff81ff8f00
rbp: ffff8800385a5ab8    r8: ffffffff81c03a10    r9: 0000000000000080
r10: 0000000000000005   r11: 0000000000000046   r12: 000000000000270f
r13: 0000000000000020   r14: 0000000000000025   r15: ffffffff81346f20
 cs: 0010        ss: 0018        ds: 0000        es: 0000
 fs: 0000 @ 00007f07972f3700
 gs: 0000 @ ffff88000b400000/0000000000000000/
Code (instr addr ffffffff81346876)
48 89 e5 0f 1f 44 00 00 0f b6 4f 41 0f b7 57 08 d3 e6 01 f2 ec <0f> b6 
c0 c9 c3 0f 1f 44 00 00 55
Stack:
 ffff8800385a5ae8 ffffffff81346e64 ffffffff81ff8f00 0000000000000072
 0000000000000064 0000000000000025 ffff8800385a5b08 ffffffff81346f46
 ffffffff81e3e430 ffffffff81ff8f00 ffff8800385a5b48 ffffffff813428de
 ffffffff8100bc0e 0000000000000000 ffffffff81ff8f00 0000000000000001
 0000000000000064 ffffffff81e3e40c ffff8800385a5b98 ffffffff813472ad
Stack Trace:
* [<ffffffff81346876>] io_serial_in+0x16 <--
    ffff8800385a5ae8
  [<ffffffff81346e64>] wait_for_xmitr+0x24
    ffffffff81ff8f00
    0000000000000072
    0000000000000064
    0000000000000025
    ffff8800385a5b08
  [<ffffffff81346f46>] serial8250_console_putchar+0x26
    ffffffff81e3e430
    ffffffff81ff8f00
    ffff8800385a5b48
  [<ffffffff813428de>] uart_console_write+0x3e
  [<ffffffff8100bc0e>] apic_timer_interrupt+0xe
    0000000000000000
    ffffffff81ff8f00
    0000000000000001
    0000000000000064
    ffffffff81e3e40c
    ffff8800385a5b98
  [<ffffffff813472ad>] serial8250_console_write+0xbd
    00000000385a5cd8
    0000000000000006
    ffff8800385a5c08
    ffffffff81affa00
    ffffffff81c03800
    000000000001696c
    0000000000000064
    0000000000000046
    ffff8800385a5bc8
  [<ffffffff8106b8f5>] __call_console_drivers+0x75
    00000000000169d0
    ffffffff81e2797c
    00000000000169d0
    00000000000169d0
    ffff8800385a5be8
  [<ffffffff8106b95a>] _call_console_drivers+0x4a
    206465697272616d
    00000000fffff167
    ffff8800385a5c28
  [<ffffffff8106be6e>] release_console_sem+0x4e
    ffff8800385a5c18
    ffff8800385a5c6d
    ffffffff81ea7b24
    0000000000000064
    ffff8800385a5c58
    0000000000000034
    ffff8800385a5cc8
  [<ffffffff8106c628>] vprintk+0x248
    ffff8800385a5c98
    0000000000000246
    7420666f00000000
    ffff8800385a5ca8
    ffff8800385a5c68
    343931206e692072
    7365727065722035
    ffff8800385a5ca8
    0000000000002710
    0000000000002710
    ffffffff81c03a10
    00000000d863e02e
    ffff8800385a5d28
    ffff8800385a5d38
    000000000000003b
    00000000021b9010
    00007f07972b1010
    0000000000000003
    ffff8800385a5d28
  [<ffffffff814fd363>] printk+0x41
    6874202c00000010
    ffff8800385a5d38
    ffff8800385a5cf8
    656e696863616d20
    616820796c6e6f20
    ffff8800385a5d38
    0000000000002710
    0000000000002710
    ffffffff81c03a10
    0000000000000080
    ffff8800385a5db8
    ffffffffa00a919d
    696261706163206e
    6977202c7974696c
    20612074756f6874
    206c6172746e6563
    742079726f6d656d
    2065726f7473206f
    736d6172676f7270
    74616420646e6120
    754a206e49202e61
    2c3534393120656e
    6f76206e686f4a20
    6e616d75654e206e
    000000007570206e
    00000000d863e02e
    ffff8800385a5dc8
    000000000000003a
    ffff8800385a5e48
    ffffffffa00a91e8
    2064656873696c62
    2072657061702061
    64656c7469746e65
    2074737269462720
    666f207466617264
    726f706572206120
    656874206f742074
    2c27434156444520
    6820657265687720
    6e696c74756f2065
    6565726874206465
    6320636973616220
    000000006f706d6f
    00000000d863e02e
    ffff8800385a5e58
    0000000000000039
    ffff8800385a5ed8
    ffffffffa00a91e8
    6f662073746e656e
    726f747320612072
    72676f72702d6465
    75706d6f63206d61
    293128203a726574
    726f6d656d206120
    6961746e6f632079
    746f6220676e696e
    6120617461642068
    7274736e6920646e
    3b736e6f69746375
    6320612029322820
    0000000075636c61
    00000000d863e02e
    ffff8800385a5ee8
    0000000000000038
    ffff8800385a5f68
    ffffffffa00a91e8
    7520676e6974616c
    617061632074696e
    7020666f20656c62
    6e696d726f667265
    612068746f622067
    6974656d68746972
    6f6c20646e612063
    706f206c61636967
    736e6f6974617265
    20656874206e6f20
    6e61202c61746164
    2061202933282064
    00000000746e6f63
    00000000d863e02e
    ffff8800385a5f78
    0000000000000037
    ffff8800385a5ff8
    ffffffffa00a91e8
    74696e75206c6f72
    65746e69206f7420
    6e69207465727072
    6f69746375727473
    65726f747320736e
    6d656d206e692064
    20646e612079726f
    63656e20656b616d
    6120797261737365
    202e736e6f697463
    2073692073696854
    63206f7320656874
    00000000656c6c61
    00000000d863e02e
    ffff8800385a6008
    0000000000000036
    ffff8800385a6088
And other tools, you can reformat this output into what -l gives.
It is not that each change makes a big difference, that happens when 
several are used at one time:
tools/xentrace/xenctx -s ~/zzm 4 -l 200 -D -t -b 64
rip: ffffffff81346876 io_serial_in+0x16
flags: 00000002 nz
rsp: ffff8800385a5ab8
rax: 000000000000006f   rcx: 0000000000000000   rdx: 00000000000003fd
rbx: ffffffff81ff8f00   rsi: 0000000000000005   rdi: ffffffff81ff8f00
rbp: ffff8800385a5ab8    r8: ffffffff81c03a10    r9: 0000000000000080
r10: 0000000000000005   r11: 0000000000000046   r12: 000000000000270f
r13: 0000000000000020   r14: 0000000000000025   r15: ffffffff81346f20
 cs: 0010        ss: 0018        ds: 0000        es: 0000
 fs: 0000 @ 00007f07972f3700
 gs: 0000 @ ffff88000b400000/0000000000000000/
Code (instr addr ffffffff81346876)
48 89 e5 0f 1f 44 00 00 0f b6 4f 41 0f b7 57 08 d3 e6 01 f2 ec <0f> b6 
c0 c9 c3 0f 1f 44 00 00 55
Stack:
ffff8800385a5ab8: ffff8800385a5ae8 ffffffff81346e64 ffffffff81ff8f00 
0000000000000072 0000000000000064 0000000000000025 ffff8800385a5b08 
ffffffff81346f46 
.ZZ8....dn4.............r.......d.......%........[Z8....Fo4.....
ffff8800385a5af8: ffffffff81e3e430 ffffffff81ff8f00 ffff8800385a5b48 
ffffffff813428de ffffffff8100bc0e 0000000000000000 ffffffff81ff8f00 
0000000000000001 
0...............H[Z8.....(4.....................................
ffff8800385a5b38: 0000000000000064 ffffffff81e3e40c ffff8800385a5b98 
ffffffff813472ad 00000000385a5cd8 0000000000000006 ffff8800385a5c08 
ffffffff81affa00 
d................[Z8.....r4......\Z8.............\Z8............
ffff8800385a5b78: ffffffff81c03800 000000000001696c 0000000000000064 
0000000000000046 ffff8800385a5bc8 ffffffff8106b8f5 00000000000169d0 
ffffffff81e2797c 
.8......li......d.......F........[Z8.............i......|y......
ffff8800385a5bb8: 00000000000169d0 00000000000169d0 ffff8800385a5be8 
ffffffff8106b95a 206465697272616d 00000000fffff167 ffff8800385a5c28 
ffffffff8106be6e .i.......i.......[Z8....Z.......married 
g.......(\Z8....n.......
ffff8800385a5bf8: ffff8800385a5c18 ffff8800385a5c6d ffffffff81ea7b24 
0000000000000064 ffff8800385a5c58 0000000000000034 ffff8800385a5cc8 
ffffffff8106c628 
.\Z8....m\Z8....${......d.......X\Z8....4........\Z8....(.......
ffff8800385a5c38: ffff8800385a5c98 0000000000000246 7420666f00000000 
ffff8800385a5ca8 ffff8800385a5c68 343931206e692072 7365727065722035 
ffff8800385a5ca8 .\Z8....F...........of t.\Z8....h\Z8....r in 1945 
repres.\Z8....
ffff8800385a5c78: 0000000000002710 0000000000002710 ffffffff81c03a10 
00000000d863e02e ffff8800385a5d28 ffff8800385a5d38 000000000000003b 
00000000021b9010 
.'.......'.......:........c.....(]Z8....8]Z8....;...............
ffff8800385a5cb8: 00007f07972b1010 0000000000000003 ffff8800385a5d28 
ffffffff814fd363 6874202c00000010 ffff8800385a5d38 ffff8800385a5cf8 
656e696863616d20 ..+.............(]Z8....c.O........., 
th8]Z8.....\Z8.... machine
ffff8800385a5cf8: 616820796c6e6f20 ffff8800385a5d38 0000000000002710 
0000000000002710 ffffffff81c03a10 0000000000000080 ffff8800385a5db8 
ffffffffa00a919d   only 
ha8]Z8.....'.......'.......:...............]Z8............
ffff8800385a5d38: 696261706163206e 6977202c7974696c 20612074756f6874 
206c6172746e6563 742079726f6d656d 2065726f7473206f 736d6172676f7270 
74616420646e6120  n capability, without a central memory to store 
programs and dat
ffff8800385a5d78: 754a206e49202e61 2c3534393120656e 6f76206e686f4a20 
6e616d75654e206e 000000007570206e 00000000d863e02e ffff8800385a5dc8 
000000000000003a  a. In June 1945, John von Neumann 
pu......c......]Z8....:.......
ffff8800385a5db8: ffff8800385a5e48 ffffffffa00a91e8 2064656873696c62 
2072657061702061 64656c7469746e65 2074737269462720 666f207466617264 
726f706572206120 H^Z8............blished a paper entitled 'First draft 
of a repor
ffff8800385a5df8: 656874206f742074 2c27434156444520 6820657265687720 
6e696c74756f2065 6565726874206465 6320636973616220 000000006f706d6f 
00000000d863e02e  t to the EDVAC', where he outlined three basic 
compo......c.....
ffff8800385a5e38: ffff8800385a5e58 0000000000000039 ffff8800385a5ed8 
ffffffffa00a91e8 6f662073746e656e 726f747320612072 72676f72702d6465 
75706d6f63206d61 X^Z8....9........^Z8............nents for a 
stored-program compu
ffff8800385a5e78: 293128203a726574 726f6d656d206120 6961746e6f632079 
746f6220676e696e 6120617461642068 7274736e6920646e 3b736e6f69746375 
6320612029322820  ter: (1) a memory containing both data and 
instructions; (2) a c
ffff8800385a5eb8: 0000000075636c61 00000000d863e02e ffff8800385a5ee8 
0000000000000038 ffff8800385a5f68 ffffffffa00a91e8 7520676e6974616c 
617061632074696e 
alcu......c......^Z8....8.......h_Z8............lating unit capa
ffff8800385a5ef8: 7020666f20656c62 6e696d726f667265 612068746f622067 
6974656d68746972 6f6c20646e612063 706f206c61636967 736e6f6974617265 
20656874206e6f20  ble of performing both arithmetic and logical 
operations on the
ffff8800385a5f38: 6e61202c61746164 2061202933282064 00000000746e6f63 
00000000d863e02e ffff8800385a5f78 0000000000000037 ffff8800385a5ff8 
ffffffffa00a91e8  data, and (3) a 
cont......c.....x_Z8....7........_Z8............
ffff8800385a5f78: 74696e75206c6f72 65746e69206f7420 6e69207465727072 
6f69746375727473 65726f747320736e 6d656d206e692064 20646e612079726f 
63656e20656b616d  rol unit to interpret instructions stored in memory 
and make nec
ffff8800385a5fb8: 6120797261737365 202e736e6f697463 2073692073696854 
63206f7320656874 00000000656c6c61 00000000d863e02e ffff8800385a6008 
0000000000000036  essary actions. This is the so 
calle......c......`Z8....6.......
ffff8800385a5ff8: ffff8800385a6088 .`Z8....
Call Trace:
  [<ffffffff81346876>] io_serial_in+0x16 <--
  [<ffffffff81346e64>] wait_for_xmitr+0x24
  [<ffffffff81346f46>] serial8250_console_putchar+0x26
  [<ffffffff813428de>] uart_console_write+0x3e
  [<ffffffff8100bc0e>] apic_timer_interrupt+0xe
  [<ffffffff813472ad>] serial8250_console_write+0xbd
  [<ffffffff8106b8f5>] __call_console_drivers+0x75
  [<ffffffff8106b95a>] _call_console_drivers+0x4a
  [<ffffffff8106be6e>] release_console_sem+0x4e
  [<ffffffff8106c628>] vprintk+0x248
  [<ffffffff814fd363>] printk+0x41
    -Don Slutz
Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx>
---
Ian.