11 ms·
I'd just like to say for anyone considering one of these new processors, there are some downsides I wasn't expecting. Overall I'm fine with them, but knowledge
by mikedilger 7y ago
I'd just like to say for anyone considering one of these new processors, there are some downsides I wasn't expecting. Overall I'm fine with them, but knowledge is power so here you go:
1. RDRAND returns -1 (and sets the carry bit meaning it thinks -1 is a random number). Supposedly this will be fixed in a BIOS update (which makes me think it's an intended mode wrongly turned on... a backdoor?)
2. On linux, CPU monitoring (e.g. temperature) is not available as AMD hasn't published the specs on that yet
3. While it has spectre "mitigations" (stibp, ibpb, ssbd), spectre is not yet dead (spectre_v1, spectre_v2, spec_store_bypass).
4. There is a bug/oddity in how it deals with %fs: https://www.phoronix.com/scan.php?page=news_item&px=DragonFlyBSD https://www.phoronix.com/scan.php?page=news_item&px=DragonFl...
5. PSP/SEV ccp driver calls hang (on my machine at least, might be the mobo) but luckily linux only waits a few seconds before giving up and continuing the boot process.
6. There have been reports of high idle voltages, but under linux w/o monitoring I have no idea if I'm affected or if the issue is real or significant.
For most use cases all of the above are minor and don't overshadow the price-performance success of these processors.
- trebligdivad 7y agoThanks for the info; I'd be interested to see a /proc/cpuinfo (just one core) from a Linux from one of these beasts. I've not seen any published.
- mikedilger 7y agoprocessor : 15 vendor_id : AuthenticAMD cpu family : 23 model : 113 model name : AMD Ryzen 7 3700X 8-Core Processor stepping : 0 microcode : 0x8701013 cpu MHz : 1863.008 cache size : 512 KB physical id : 0 siblings : 16 core id : 7 cpu cores : 8 apicid : 15 initial apicid : 15 fpu : yes fpu_exception : yes cpuid level : 16 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 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd mba sev ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass bogomips : 7189.14 TLB size : 3072 4K pages clflush size : 64 cache_alignment : 64 address sizes : 43 bits physical, 48 bits virtual power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
- trebligdivad 7y agoThanks! Lots of flags....
- whereistimbo 7y agoOne advantage of AMD over Intel is AMD included SHA hardware acceleration on every Ryzen processor.
- ryacko 7y agoSHA hardware acceleration is more likely to be used in SSH and some deduplication set ups, as well as git. It isn’t that much of a plus.
- Avamander 7y agoA lot of software is compiled for very generic CPUs, I wouldn't be surprised if it's not used in many cases.
- blattimwind 7y agoThat's not how things are done. Practically every library that has optimized implementations for stuff selects the implementation at runtime based on CPUID.
- Avamander 7y agoExactly, assuming optimized implementations in libraries, that's not always the case and binaries compiled just exactly for the one CPU tend to perform better.
- Avamander 7y agoDon't know why the downvotes, do people think optimized implementations utilizing certain CPU features or combinations of them are somehow super common?
- kkirsche 7y agoThe high idle voltage was explained on reddit by AMD — The final word on idle voltages for 3rd Gen ryzen https://reddit.com/r/Amd/comments/cbls9g/the_final_word_on_idle_voltages_for_3rd_gen_ryzen/ https://reddit.com/r/Amd/comments/cbls9g/the_final_word_on_i...
- MegaDeKay 7y agoRDRAND fix from AMD is apparently out to motherboard manufacturers already. Hopefully it doesn't take them long to release an update. https://www.phoronix.com/scan.php?page=news_item&px=AMD-Releases-Linux-Zen2-Fix https://www.phoronix.com/scan.php?page=news_item&px=AMD-Rele...
- Mirioron 7y ago>1. RDRAND returns -1 (and sets the carry bit meaning it thinks -1 is a random number). Supposedly this will be fixed in a BIOS update (which makes me think it's an intended mode wrongly turned on... a backdoor?) Yet more evidence not to trust hardware random number generators.
- userbinator 7y agoI'm very surprised that something like that even makes it into production. You'd think processor manufacturers would have an extensive set of test cases, at least one for each instruction... I remember reading somewhere that, for a long time, Intel's "test cases" basically consisted of all the operating systems they could find, going back to MS-DOS 1.0 and including some more obscured ones, as well as tons of other third-party software. Unfortunately it seems this new generation no longer follows the "NEVER break backwards compatibility" principle that made the PC such a great platform, and as a result we're seeing hardware/software/firmware that's increasingly buggy and divergent. It used to be the case that if a new processor couldn't run existing software (even that which depended on undocumented but constant behaviour) unmodified, it was a fatal flaw.
- im_down_w_otp 7y agoThey have way, way more than test cases. The logic synthesis, simulation, verification, and validation capabilities of top tier EDA tools are incredible. The problem is as it always is with these kinds of things. They help assure that you can measure your model and your implementation of that model. They're much less capable of determining you've got the right model to begin with. That part is still up to the humans. The state of commonplace capabilities for testing and verification of software is extremely far behind that of hardware. For a variety of economic, cultural, and use case incentives reasons.
- pjc50 7y agoEverything on a CPU is subject to heavy validation .. but I bet the random number generator is exempt, because by definition it's not deterministic. It's more like a peripheral "listening" to randomness. https://www.amd.com/system/files/TechDocs/amd-random-number-generator.pdf https://www.amd.com/system/files/TechDocs/amd-random-number-... > "The RNG uses 16 separate ring oscillator chains as a noise source. Each chain consists of a different prime number of inverters in a free-running configuration which capture natural clock jitter" So it's (deliberately) dependent on natural manufacturing variation in the silicon, and in any deterministic simulator won't produce random numbers. It also takes a while to start; it's possible that the startup conditions are bad such that "a while" turns out to be "forever".
- learnfromstory 7y agoZen 1 (Naples) had all kinds of problems including that frequency scaling would hang the machine. It seems wise to not buy the VERY first Zen 2 rig.
- paulcarroty 7y ago> don't overshadow the price-performance success of these processors. The choice is easy: pay more for intel and 'It Just Works (tm)' or pay less for amd and fight with issues. And it's great.
- pjc50 7y ago> 'It Just Works Well, apart from the major cloud-breaking side-channel security issues.
- mikedilger 7y agoI was wrong about point 2 being a spec issue. Linux just needed to be told "yes, this is one of those": https://github.com/groeck/k10temp/issues/12 https://github.com/groeck/k10temp/issues/12