public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
* [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history @ 2023-02-03 12:24 vries at gcc dot gnu.org 2023-02-04 20:13 ` [Bug record/30075] " vries at gcc dot gnu.org ` (11 more replies) 0 siblings, 12 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-03 12:24 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 Bug ID: 30075 Summary: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history Product: gdb Version: HEAD Status: NEW Severity: normal Priority: P2 Component: record Assignee: unassigned at sourceware dot org Reporter: vries at gcc dot gnu.org Target Milestone: --- The processor is a i7-1250U with 12 threads: - 2 performance cores (I guess providing 2 threads per core), and - 8 efficient cores. When using: - taskset -c 0-3, the test-case fails - taskset -c 4-11, the test-case passes Fails like this: ... (gdb) PASS: gdb.python/py-record-btrace.exp: prepare record: stepi 100 python insn = r.instruction_history^M warning: Decode error (-20) at instruction 33 (offset = 0x3d69, pc = 0x400501): compressed return without call.^M (gdb) FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history ... -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org @ 2023-02-04 20:13 ` vries at gcc dot gnu.org 2023-02-06 14:05 ` vries at gcc dot gnu.org ` (10 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-04 20:13 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 Tom de Vries <vries at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |markus.t.metzger at intel dot com -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org 2023-02-04 20:13 ` [Bug record/30075] " vries at gcc dot gnu.org @ 2023-02-06 14:05 ` vries at gcc dot gnu.org 2023-02-06 15:02 ` vries at gcc dot gnu.org ` (9 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-06 14:05 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> --- Without libipt, I run into different fails, on the other set of cores: the efficiency-cores. With taskset -c 0, I have: ... $ taskset -c 0 gdb -q -batch ./outputs/gdb.python/py-record-btrace/py-record-btrace -ex "set trace-commands on" -ex "display /i \$pc" -ex "start" -ex "record btrace bts" -ex "si 4" -ex "record instruction-history" +display /i $pc +start Temporary breakpoint 1 at 0x4004d1: file /data/vries/gdb/src/gdb/testsuite/gdb.python/py-record-btrace.c, line 40. Temporary breakpoint 1, main () at /data/vries/gdb/src/gdb/testsuite/gdb.python/py-record-btrace.c:40 40 for (i = 0, j = 0; i < 100; ++i) 1: x/i $pc => 0x4004d1 <main+8>: movl $0x0,-0x4(%rbp) +record btrace bts +target record-btrace +si 4 0x00000000004004f6 40 for (i = 0, j = 0; i < 100; ++i) 1: x/i $pc => 0x4004f6 <main+45>: jle 0x4004e1 <main+24> +record instruction-history 1 0x00000000004004d1 <main+8>: movl $0x0,-0x4(%rbp) 2 0x00000000004004d8 <main+15>: movl $0x0,-0x8(%rbp) 3 0x00000000004004df <main+22>: jmp 0x4004f2 <main+41> 4 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) ... That looks reasonable. With taskset -c 4, however: ... $ taskset -c 4 ./gdb.sh -q -batch ./outputs/gdb.python/py-record-btrace/py-record-btrace -ex "set trace-commands on" -ex "display /i \$pc" -ex "start" -ex "record btrace bts" -ex "si 4" -ex "record instruction-history" +display /i $pc +start Temporary breakpoint 1 at 0x4004d1: file /data/vries/gdb/src/gdb/testsuite/gdb.python/py-record-btrace.c, line 40. Temporary breakpoint 1, main () at /data/vries/gdb/src/gdb/testsuite/gdb.python/py-record-btrace.c:40 40 for (i = 0, j = 0; i < 100; ++i) 1: x/i $pc => 0x4004d1 <main+8>: movl $0x0,-0x4(%rbp) +record btrace bts +target record-btrace +si 4 0x00000000004004f6 40 for (i = 0, j = 0; i < 100; ++i) 1: x/i $pc => 0x4004f6 <main+45>: jle 0x4004e1 <main+24> +record instruction-history 1 0x00000000004004d1 <main+8>: movl $0x0,-0x4(%rbp) 2 0x00000000004004d8 <main+15>: movl $0x0,-0x8(%rbp) 3 0x00000000004004df <main+22>: jmp 0x4004f2 <main+41> 4 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 5 0x00000000004004e4 <main+27>: mov %eax,%edi 6 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 7 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) 8 0x00000000004004ee <main+37>: addl $0x1,-0x4(%rbp) 9 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) ... That makes no sense as instruction history, this is just disassembly. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org 2023-02-04 20:13 ` [Bug record/30075] " vries at gcc dot gnu.org 2023-02-06 14:05 ` vries at gcc dot gnu.org @ 2023-02-06 15:02 ` vries at gcc dot gnu.org 2023-02-07 11:35 ` vries at gcc dot gnu.org ` (8 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-06 15:02 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Tom de Vries from comment #0) > The processor is a i7-1250U with 12 threads: > - 2 performance cores (I guess providing 2 threads per core), and > - 8 efficient cores. > > When using: > - taskset -c 0-3, the test-case fails > - taskset -c 4-11, the test-case passes > > Fails like this: > ... > (gdb) PASS: gdb.python/py-record-btrace.exp: prepare record: stepi 100 > python insn = r.instruction_history^M > warning: Decode error (-20) at instruction 33 (offset = 0x3d69, pc = > 0x400501): compressed return without call.^M > (gdb) FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = > r.instruction_history > ... Originally with libipt v2.0.5, now also reproduced with current master @ bb87a06. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (2 preceding siblings ...) 2023-02-06 15:02 ` vries at gcc dot gnu.org @ 2023-02-07 11:35 ` vries at gcc dot gnu.org 2023-02-07 12:03 ` vries at gcc dot gnu.org ` (7 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-07 11:35 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Tom de Vries from comment #0) > warning: Decode error (-20) at instruction 33 (offset = 0x3d69, pc = > 0x400501): compressed return without call.^M Well, the message sort of make sense. First for contrast, with an efficiency-core we have: ... $ taskset -c 4 gdb -q -batch outputs/gdb.python/py-record-btrace/py-record-btrace -ex start -ex "record btrace pt" -ex "stepi 100" -ex "record instruction-history 1,+100" Temporary breakpoint 1 at 0x4004d1: file /data/vries/gdb/src/gdb/testsuite/gdb.python/py-record-btrace.c, line 40. Temporary breakpoint 1, main () at /data/vries/gdb/src/gdb/testsuite/gdb.python/py-record-btrace.c:40 40 for (i = 0, j = 0; i < 100; ++i) 40 for (i = 0, j = 0; i < 100; ++i) 1 0x00000000004004d1 <main+8>: movl $0x0,-0x4(%rbp) 2 0x00000000004004d8 <main+15>: movl $0x0,-0x8(%rbp) 3 0x00000000004004df <main+22>: jmp 0x4004f2 <main+41> 4 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 5 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 6 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 7 0x00000000004004e4 <main+27>: mov %eax,%edi 8 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 9 0x00000000004004a7 <function+0>: push %rbp 10 0x00000000004004a8 <function+1>: mov %rsp,%rbp 11 0x00000000004004ab <function+4>: mov %edi,-0x4(%rbp) 12 0x00000000004004ae <function+7>: mov -0x4(%rbp),%eax 13 0x00000000004004b1 <function+10>: add $0x1,%eax 14 0x00000000004004b4 <function+13>: pop %rbp 15 0x00000000004004b5 <function+14>: ret 16 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) 17 => 0x00000000004004ee <main+37>: addl $0x1,-0x4(%rbp) 18 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 19 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 20 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 21 0x00000000004004e4 <main+27>: mov %eax,%edi 22 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 23 0x00000000004004a7 <function+0>: push %rbp 24 0x00000000004004a8 <function+1>: mov %rsp,%rbp 25 0x00000000004004ab <function+4>: mov %edi,-0x4(%rbp) 26 0x00000000004004ae <function+7>: mov -0x4(%rbp),%eax 27 0x00000000004004b1 <function+10>: add $0x1,%eax 28 0x00000000004004b4 <function+13>: pop %rbp 29 0x00000000004004b5 <function+14>: ret 30 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) 31 => 0x00000000004004ee <main+37>: addl $0x1,-0x4(%rbp) 32 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 33 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 34 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 35 0x00000000004004e4 <main+27>: mov %eax,%edi 36 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 37 0x00000000004004a7 <function+0>: push %rbp 38 0x00000000004004a8 <function+1>: mov %rsp,%rbp 39 0x00000000004004ab <function+4>: mov %edi,-0x4(%rbp) 40 0x00000000004004ae <function+7>: mov -0x4(%rbp),%eax 41 0x00000000004004b1 <function+10>: add $0x1,%eax 42 0x00000000004004b4 <function+13>: pop %rbp 43 0x00000000004004b5 <function+14>: ret 44 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) 45 => 0x00000000004004ee <main+37>: addl $0x1,-0x4(%rbp) 46 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 47 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 48 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 49 0x00000000004004e4 <main+27>: mov %eax,%edi 50 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 51 0x00000000004004a7 <function+0>: push %rbp 52 0x00000000004004a8 <function+1>: mov %rsp,%rbp 53 0x00000000004004ab <function+4>: mov %edi,-0x4(%rbp) 54 0x00000000004004ae <function+7>: mov -0x4(%rbp),%eax 55 0x00000000004004b1 <function+10>: add $0x1,%eax 56 0x00000000004004b4 <function+13>: pop %rbp 57 0x00000000004004b5 <function+14>: ret 58 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) 59 => 0x00000000004004ee <main+37>: addl $0x1,-0x4(%rbp) 60 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 61 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 62 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 63 0x00000000004004e4 <main+27>: mov %eax,%edi 64 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 65 0x00000000004004a7 <function+0>: push %rbp 66 0x00000000004004a8 <function+1>: mov %rsp,%rbp 67 0x00000000004004ab <function+4>: mov %edi,-0x4(%rbp) 68 0x00000000004004ae <function+7>: mov -0x4(%rbp),%eax 69 0x00000000004004b1 <function+10>: add $0x1,%eax 70 0x00000000004004b4 <function+13>: pop %rbp 71 0x00000000004004b5 <function+14>: ret 72 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) 73 => 0x00000000004004ee <main+37>: addl $0x1,-0x4(%rbp) 74 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 75 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 76 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 77 0x00000000004004e4 <main+27>: mov %eax,%edi 78 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 79 0x00000000004004a7 <function+0>: push %rbp 80 0x00000000004004a8 <function+1>: mov %rsp,%rbp 81 0x00000000004004ab <function+4>: mov %edi,-0x4(%rbp) 82 0x00000000004004ae <function+7>: mov -0x4(%rbp),%eax 83 0x00000000004004b1 <function+10>: add $0x1,%eax 84 0x00000000004004b4 <function+13>: pop %rbp 85 0x00000000004004b5 <function+14>: ret 86 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) 87 => 0x00000000004004ee <main+37>: addl $0x1,-0x4(%rbp) 88 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 89 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 90 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 91 0x00000000004004e4 <main+27>: mov %eax,%edi 92 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 93 0x00000000004004a7 <function+0>: push %rbp 94 0x00000000004004a8 <function+1>: mov %rsp,%rbp 95 0x00000000004004ab <function+4>: mov %edi,-0x4(%rbp) 96 0x00000000004004ae <function+7>: mov -0x4(%rbp),%eax 97 0x00000000004004b1 <function+10>: add $0x1,%eax 98 0x00000000004004b4 <function+13>: pop %rbp 99 0x00000000004004b5 <function+14>: ret 100 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) ... and we stay in main. With the performance-core instead, we have: ... $ taskset -c 0 gdb -q -batch outputs/gdb.python/py-record-btrace/py-record-btrace -ex start -ex "record btrace pt" -ex "stepi 100" -ex "record instruction-history 1,+100" Temporary breakpoint 1 at 0x4004d1: file /data/vries/gdb/src/gdb/testsuite/gdb.python/py-record-btrace.c, line 40. Temporary breakpoint 1, main () at /data/vries/gdb/src/gdb/testsuite/gdb.python/py-record-btrace.c:40 40 for (i = 0, j = 0; i < 100; ++i) 40 for (i = 0, j = 0; i < 100; ++i) warning: Decode error (-20) at instruction 33 (offset = 0x3d6a, pc = 0x400501): compressed return without call. 1 0x00000000004004d1 <main+8>: movl $0x0,-0x4(%rbp) 2 0x00000000004004d8 <main+15>: movl $0x0,-0x8(%rbp) 3 0x00000000004004df <main+22>: jmp 0x4004f2 <main+41> 4 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 5 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 6 0x00000000004004e1 <main+24>: mov -0x8(%rbp),%eax 7 0x00000000004004e4 <main+27>: mov %eax,%edi 8 0x00000000004004e6 <main+29>: call 0x4004a7 <function> 9 0x00000000004004a7 <function+0>: push %rbp 10 0x00000000004004a8 <function+1>: mov %rsp,%rbp 11 0x00000000004004ab <function+4>: mov %edi,-0x4(%rbp) 12 0x00000000004004ae <function+7>: mov -0x4(%rbp),%eax 13 0x00000000004004b1 <function+10>: add $0x1,%eax 14 0x00000000004004b4 <function+13>: pop %rbp 15 0x00000000004004b5 <function+14>: ret 16 0x00000000004004eb <main+34>: mov %eax,-0x8(%rbp) 17 => 0x00000000004004ee <main+37>: addl $0x1,-0x4(%rbp) 18 0x00000000004004f2 <main+41>: cmpl $0x63,-0x4(%rbp) 19 0x00000000004004f6 <main+45>: jle 0x4004e1 <main+24> 20 0x00000000004004f8 <main+47>: call 0x4004bd <outer> 21 0x00000000004004bd <outer+0>: push %rbp 22 0x00000000004004be <outer+1>: mov %rsp,%rbp 23 0x00000000004004c1 <outer+4>: call 0x4004b6 <inner> 24 0x00000000004004b6 <inner+0>: push %rbp 25 0x00000000004004b7 <inner+1>: mov %rsp,%rbp 26 0x00000000004004ba <inner+4>: nop 27 0x00000000004004bb <inner+5>: pop %rbp 28 0x00000000004004bc <inner+6>: ret 29 0x00000000004004c6 <outer+9>: nop 30 0x00000000004004c7 <outer+10>: pop %rbp 31 0x00000000004004c8 <outer+11>: ret 32 0x00000000004004fd <main+52>: mov -0x8(%rbp),%eax 33 0x0000000000400500 <main+55>: leave 34 [decode error (-20): compressed return without call] ... I suppose the message is about the fact that (according to the execution trace) we're leaving main, and no call to main was recorded. What seems to be the problem is that the second conditional jump to the start of the loop at main+24 is not present in the execution trace. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (3 preceding siblings ...) 2023-02-07 11:35 ` vries at gcc dot gnu.org @ 2023-02-07 12:03 ` vries at gcc dot gnu.org 2023-02-07 12:05 ` markus.t.metzger at intel dot com ` (6 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-07 12:03 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #4 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Tom de Vries from comment #0) > (gdb) FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = > r.instruction_history Doesn't trigger on openSUSE Tumbleweed, maybe related to kernel version? For TW, I have v6.1.8. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (4 preceding siblings ...) 2023-02-07 12:03 ` vries at gcc dot gnu.org @ 2023-02-07 12:05 ` markus.t.metzger at intel dot com 2023-02-07 12:08 ` markus.t.metzger at intel dot com ` (5 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: markus.t.metzger at intel dot com @ 2023-02-07 12:05 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #5 from Markus Metzger <markus.t.metzger at intel dot com> --- The 'compressed return without call' error indicates a mismatch between the trace and the binary. A return is an indirect branch from the point of view of the processor, but if we recorded a direct call right before the address we're returning to, we can still compress this in the trace, and have the decoder keep track of the call stack. To debug such trace decode errors, it helps to print the output of `maint btrace packet-history`. We need the full history, so something like `maint btrace packet-history 0, 1000`. I will try to reproduce the errors. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (5 preceding siblings ...) 2023-02-07 12:05 ` markus.t.metzger at intel dot com @ 2023-02-07 12:08 ` markus.t.metzger at intel dot com 2023-02-09 10:46 ` markus.t.metzger at intel dot com ` (4 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: markus.t.metzger at intel dot com @ 2023-02-07 12:08 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #6 from Markus Metzger <markus.t.metzger at intel dot com> --- > Doesn't trigger on openSUSE Tumbleweed, maybe related to kernel version? There is an erratum affecting recent P-cores that might garble traces by wrapping around after the first page instead of moving on, causing all kinds of decode errors. This is being worked around in the kernel. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (6 preceding siblings ...) 2023-02-07 12:08 ` markus.t.metzger at intel dot com @ 2023-02-09 10:46 ` markus.t.metzger at intel dot com 2023-02-09 12:15 ` vries at gcc dot gnu.org ` (3 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: markus.t.metzger at intel dot com @ 2023-02-09 10:46 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #7 from Markus Metzger <markus.t.metzger at intel dot com> --- I was able to reproduce the issue, although with a different decode error. It looks very much like the erratum I mentioned. Here's the kernel patch to work around it. Looks like it came in with 6.1. ce0d998be927 (tag: perf_urgent_for_v6.1_rc6) perf/x86/intel/pt: Fix sampling using single range output diff --git a/arch/x86/events/intel/pt.c b/arch/x86/events/intel/pt.c index 82ef87e9a897..42a55794004a 100644 --- a/arch/x86/events/intel/pt.c +++ b/arch/x86/events/intel/pt.c @@ -1263,6 +1263,15 @@ static int pt_buffer_try_single(struct pt_buffer *buf, int nr_pages) if (1 << order != nr_pages) goto out; + /* + * Some processors cannot always support single range for more than + * 4KB - refer errata TGL052, ADL037 and RPL017. Future processors might + * also be affected, so for now rather than trying to keep track of + * which ones, just disable it for all. + */ + if (nr_pages > 1) + goto out; + buf->single = true; buf->nr_pages = nr_pages; ret = 0; -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (7 preceding siblings ...) 2023-02-09 10:46 ` markus.t.metzger at intel dot com @ 2023-02-09 12:15 ` vries at gcc dot gnu.org 2023-02-13 18:10 ` vries at gcc dot gnu.org ` (2 subsequent siblings) 11 siblings, 0 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-09 12:15 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #8 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Markus Metzger from comment #7) Thanks for the pointer. I've filed a backport request for my distro: https://bugzilla.suse.com/show_bug.cgi?id=1208106. As for the gdb test-cases, I'll try to come up with some xfailing. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (8 preceding siblings ...) 2023-02-09 12:15 ` vries at gcc dot gnu.org @ 2023-02-13 18:10 ` vries at gcc dot gnu.org 2023-02-14 12:15 ` cvs-commit at gcc dot gnu.org 2023-02-14 12:16 ` [Bug testsuite/30075] " vries at gcc dot gnu.org 11 siblings, 0 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-13 18:10 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #9 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Tom de Vries from comment #8) > (In reply to Markus Metzger from comment #7) > > Thanks for the pointer. > > I've filed a backport request for my distro: > https://bugzilla.suse.com/show_bug.cgi?id=1208106. > > As for the gdb test-cases, I'll try to come up with some xfailing. https://sourceware.org/pipermail/gdb-patches/2023-February/197036.html -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug record/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (9 preceding siblings ...) 2023-02-13 18:10 ` vries at gcc dot gnu.org @ 2023-02-14 12:15 ` cvs-commit at gcc dot gnu.org 2023-02-14 12:16 ` [Bug testsuite/30075] " vries at gcc dot gnu.org 11 siblings, 0 replies; 13+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2023-02-14 12:15 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 --- Comment #10 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tom de Vries <vries@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5bed9dc992a0136d403a7addb29a2ed822fd4fd2 commit 5bed9dc992a0136d403a7addb29a2ed822fd4fd2 Author: Tom de Vries <tdevries@suse.de> Date: Tue Feb 14 13:15:49 2023 +0100 [gdb/testsuite] Add xfail in gdb.python/py-record-btrace.exp There's a HW bug affecting Processor Trace on some Intel processors (Ice Lake to Raptor Lake microarchitectures). The bug was exposed by linux kernel commit 670638477aed ("perf/x86/intel/pt: Opportunistically use single range output mode"), added in version v5.5.0, and was worked around by commit ce0d998be927 ("perf/x86/intel/pt: Fix sampling using single range output") in version 6.1.0. The bug manifests (on a Performance-core of an i7-1250U, an Alder Lake cpu) in a single test-case: ... (gdb) python insn = r.instruction_history^M warning: Decode error (-20) at instruction 33 (offset = 0x3d6a, \ pc = 0x400501): compressed return without call.^M (gdb) FAIL: gdb.python/py-record-btrace.exp: prepare record: \ python insn = r.instruction_history ... Add a corresponding XFAIL. Note that the i7-1250U has both Performance-cores and Efficient-cores, and on an Efficient-Core the test-case runs without any problems, so if the testsuite run is not pinned to a specific cpu, the test may either PASS or XFAIL. Tested on x86_64-linux: - openSUSE Leap 15.4 with linux kernel version 5.14.21 - openSUSE Tumbleweed with linux kernel version 6.1.8 PR testsuite/30075 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30075 -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug testsuite/30075] [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org ` (10 preceding siblings ...) 2023-02-14 12:15 ` cvs-commit at gcc dot gnu.org @ 2023-02-14 12:16 ` vries at gcc dot gnu.org 11 siblings, 0 replies; 13+ messages in thread From: vries at gcc dot gnu.org @ 2023-02-14 12:16 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=30075 Tom de Vries <vries at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Component|record |testsuite Target Milestone|--- |14.1 Status|NEW |RESOLVED --- Comment #11 from Tom de Vries <vries at gcc dot gnu.org> --- Added xfail in test-case. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-02-14 12:16 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-02-03 12:24 [Bug record/30075] New: [intel Performance-core] FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.instruction_history vries at gcc dot gnu.org 2023-02-04 20:13 ` [Bug record/30075] " vries at gcc dot gnu.org 2023-02-06 14:05 ` vries at gcc dot gnu.org 2023-02-06 15:02 ` vries at gcc dot gnu.org 2023-02-07 11:35 ` vries at gcc dot gnu.org 2023-02-07 12:03 ` vries at gcc dot gnu.org 2023-02-07 12:05 ` markus.t.metzger at intel dot com 2023-02-07 12:08 ` markus.t.metzger at intel dot com 2023-02-09 10:46 ` markus.t.metzger at intel dot com 2023-02-09 12:15 ` vries at gcc dot gnu.org 2023-02-13 18:10 ` vries at gcc dot gnu.org 2023-02-14 12:15 ` cvs-commit at gcc dot gnu.org 2023-02-14 12:16 ` [Bug testsuite/30075] " vries at gcc dot gnu.org
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 read-only IMAP folder(s) and NNTP newsgroup(s).