rr-debugger / rr

Record and Replay Framework
http://rr-project.org/
Other
9.07k stars 577 forks source link

Unsupported CPU: 0x506f0 Intel(R) Atom(TM) C3955 #2343

Open namibj opened 5 years ago

namibj commented 5 years ago
$ bin/rr record cat
[FATAL /home/namibj/src/rr/src/PerfCounters.cc:234:get_cpu_microarch()] Intel CPU type 0x506f0 unknown

This seems to be a CPU too obscure to have crossed your path already. See:

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 95
model name      : Intel(R) Atom(TM) CPU C3955 @ 2.10GHz
stepping        : 1
microcode       : 0x1
cpu MHz         : 2100.000
cache size      : 4096 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand hypervisor lahf_lm 3dnowprefetch ibrs ibpb kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdseed smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 4200.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

I'm using some of them at Scaleway, due to the low price and relative lack of fuss.

rocallahan commented 5 years ago

Can you try adding IntelDenverton to CpuMicroarch in PerfCounters.cc, duplicating the settings for IntelSilvermont in pmu_configs, and add a case 0x506f0: for it in get_cpu_microarch, then run the rr tests?

namibj commented 5 years ago

Should be possible. I'll try within the next few days.

On Sun, Apr 28, 2019, 22:24 rocallahan notifications@github.com wrote:

Can you try adding IntelDenverton to CpuMicroarch in PerfCounters.cc, duplicating the settings for IntelSilvermont in pmu_configs, and add a case 0x506f0: for it in get_cpu_microarch, then run the rr tests?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mozilla/rr/issues/2343#issuecomment-487412464, or mute the thread https://github.com/notifications/unsubscribe-auth/ABMGOTNELIJSDPXPD4DPZDTPSYBW5ANCNFSM4HI6PC5Q .

namibj commented 5 years ago

I got these errors back. Apparently, it also offers some SHA instruction(s). These might require special treatment, I guess?

99% tests passed, 13 tests failed out of 1143

Total Test time (real) = 6798.91 sec

The following tests FAILED:
        294 - mremap_after_coalesce (Failed)
        295 - mremap_after_coalesce-no-syscallbuf (Failed)
        820 - invalid_jump (Failed)
        821 - invalid_jump-no-syscallbuf (Failed)
        868 - reverse_step_long (Failed)
        900 - string_instructions_replay (Failed)
        901 - string_instructions_replay-no-syscallbuf (Failed)
        902 - string_instructions_watch (Failed)
        903 - string_instructions_watch-no-syscallbuf (Failed)
        1120 - string_instructions_break (Failed)
        1121 - string_instructions_break-no-syscallbuf (Failed)
        1122 - string_instructions_replay_quirk (Failed)
        1123 - string_instructions_replay_quirk-no-syscallbuf (Failed)
Errors while running CTest
Makefile:149: recipe for target 'test' failed
make: *** [test] Error 8
rocallahan commented 5 years ago

Those results look pretty good. If you submit the patch as a PR we can land it. Meanwhile we should work on these issues. Can you upload the results of ctest --verbose somewhere?

namibj commented 5 years ago

I'll take care of it tomorrow.

On Wed, May 1, 2019, 14:37 rocallahan notifications@github.com wrote:

Those results look pretty good. If you submit the patch as a PR we can land it. Meanwhile we should work on these issues. Can you upload the results of ctest --verbose somewhere?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mozilla/rr/issues/2343#issuecomment-488271783, or mute the thread https://github.com/notifications/unsubscribe-auth/ABMGOTOYZK2KE6KFJ7CHDCDPTGFH5ANCNFSM4HI6PC5Q .

namibj commented 5 years ago

I have the log as a gist and as a json for asciinema. Uou can replay with asciinema play https://0x0.st/zc72.json if you want.

namibj commented 5 years ago

Did this ever get further attention? I could try some debugging if someone can point me at how to do it for such an issue.

Rambling about why I need guidance follows. Skip if you value your time more than your curiosity.

The mentioned projects below are what drove me to attempt to run rr on these servers. These servers being pretty cheap and allowing me to keep them online over night despite meaningful amounts of RAM, spread over a bunch of instances with fast SSDs (Out-of-Core experiments), and networking scaled reasonably in speed when looking at compute performance relative to larger cluster nodes.

While I am no stranger to debugging and this isn't the first time I'm debugging close-to-metal code, I am unable to blindly jump into this, given other projects I should better get working while Germany's weather classifies as "summer, usually blue sky/sunny".

That is, working on real data, at something between "a demonstrator for the algorithm's predicted behavior" and "a MVP who's customer interface is the lone developer (me) operating in batch mode with his shell's history of a couple one-liners being all the automation used for paid customer orders", allowing me to offer the following:

khuey commented 5 years ago

Did you ever get a chance to follow the instructions @rocallahan left on https://gist.github.com/namibj/14e032ff28182837ab95a6d8fd5f1a55?