• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

FreeBSD auf Ryzen 3000

Yamagi

Possessed With Psi Powers
Mitarbeiter
Themenstarter #1
Nach inzwischen ziemlich genau vier Jahren mit meinem Core i7-6700k wurde es mal wieder Zeit für neue Hardware. Weil es inzwischen doch deutlich mehr Leistung gibt, weil ich ein AMD-Fanboy bin, aber vor allem, da sich meine Intel-CPUs langsam in Elektroschrott verwandelt.

Meine alter Sandy Bridge Core i7-2600k ist inzwischen fast unbenutzbar, der Skylake Core i7-6700k hat ziemlich Federn lassen müssen und in nach eigenen Angaben gut informierten Kreisen munkelt man, dass es Anfang Herbst noch eine Runde sehr leistungsfressender Mitigations brauchen wird... An dieser Stelle auch noch mal Danke an Intel für das wirklich gute, die Bedürfnisse der Kunden ernst nehmende Krisenmanagement.

Wie dem auch sei, ein Ryzen 3000 sollte es werden und wurde es dann am 07.07.2019 zum Start auch gleich. Da mich diverse Leute gefragt haben, ob ich meine Eindrücke aufschreiben könnte, mache ich es hier einmal. Es wird kein Review der Ryzen 3000 Serie, davon gibt es im Netz inzwischen mehr als genug und sie alle sind besser, als ich es könnte.

Die Hardware

* AMD Ryzen 3700X (8 Kerne, 3,6GHz Basistakt, 4,4GHz Maximaltakt)
* 2x Corsair CMK32GX4M2B3200C16 RAM-Kit (4x16GB, 3200MHz, CL16-18-18-36)
* Asus TUF B450M-PRO GAMING
* PowerColor Radeon RX 580 Red Dragon V2
* Samsung 970 Pro
* Crucial MX500 2TB
* Seasonic Focus Plus Platinum 550W
* Fractal Design Define Mini C
* 2x Noctua NF-A14 ULN, Noctua NF-A14 FLX, Noctua NH-U12S

Ziel war es ein möglichst leises, im Leerlauf idealerweise unhörbares System mit überschaubarem Wärmeeintrag zu bauen. Leise, weil mich das Rauschen nervt und ein geringer Wärmeeintrag, da bei meinen etwas über 20m² die Heizleistung von ein paar hundert Watt nicht zu unterschätzen ist. Gerade im Sommer.

Der Ryzen 3700X dürfte zusammen mit dem noch einmal gut 100€ günstigeren Sechskerner 3600X das Rückgrat der Ryzen 3000 Serie bilden. Für derzeit 350€ bekommt man 8 Kerne mit SMT, 3,6GHz Basistakt und 4,4GHz maximaler Takt. Die TDP beträgt sehr geringe 65W, bei meinem Exemplar liegt das Powerlimit bei moderaten 88W.

Die Corsair CMK32GX4M2B3200C16 sind Dual-Rank Riegel zu je 16GB, also insgesamt 64GB. Verbaut werden Samsung K4A8G085WB-BCPB und Hynix H5AN8G8NAFR-TFC, ich habe die als sehr kompatibel mit Ryzen geltende Samsung Variante. Das ist das in einigen Foren fast schon religiös bejubelte B-Die. Corsair garantiert 3200MHz bei 1,35V (das heißt nicht, dass man sie praktisch auch erreichen kann) und recht guten Latenzen von CL16-18-18-36. Damit sind alle 8 Ranks belegt, dass ist nicht wenig und AMD spezifiert da dann auch nur noch 2666MHz. Trotz dessen und der noch recht frühen BIOSe ließen sich die 3200MHz einstellen, wurden auf Anhieb und ohne Gebastel übernommen und überlebten eine Nacht mit memtest86.

Das Asus TUF B450M-PRO GAMING ist ein durchschnittliches Mainboard und sehr ähnlich zu den ca. anderen 70 B450-Modellen auf dem Markt. Ich habe es genommen, da es mit dem Realtek S1220A einen besseren Soundchip hat und Asus zwar relativ zögerlich mit BIOS-Updates ist, ihre BIOSe dafür aber meist gut funktionieren. Die B450-Modelle sind inzwischen ein gutes Jahr auf dem Markt, FreeBSD erkannte auf Anhieb alle Hardware. Die NIC von Realtek kommt mit einem guten ROM und machte in meinen Testläufen keine Probleme. Ansonsten kann man die leider unvermeidbaren RGB-LEDs im BIOS abschalten (bei den beliebten MSI-Boards braucht man dazu ein Tool im Betriebssystem) und die hässlichen Plastikabdeckungen lassen sich mit nur zwei Schrauben abbauen.

Zu beachten ist, dass das Board ein neues BIOS braucht, um Ryzen 3000 zu unterstützen. Ich habe mir bei Bekannten eine CPU zum Flashen ausgeliehen, aber einige Händler bieten gegen meist zu viel Geld auch an das BIOS zu aktualisieren. AMD startet dieses Jahr auch wieder ein Service-Aktion [0]. Meine Test habe ich mit Version 1607 gemacht. Es basiert auf AGESA 1.0.0.2, hat damit den RDRAND-Bug (wahrscheinlich ein Problem mit der Firmware des CCP 5.0) und ein passives Boostverhalten. Es wird sicher noch Updates geben, welche die Probleme lösen.

Warum kein X570? Ganz einfach. Der X570 braucht relativ viel Strom und ist aktiv gekühlt, ich brauche weder PCIe 4 Support, noch die weiteren PCIe-Lanes. Interessant wäre lediglich die verdoppelte Anbindung zwischen dem Chipsatz und der CPU. Aber das ist den doch sehr hohen Aufpreis nicht wert und vor allem mit FreeBSD ist es meiner Erfahrung nach besser auf etwas ältere, etablierte Hardware zu setzen.

Die Radeon RX 580 nähert sich ihrem Lebensende. Die Radeon 5700XT sieht zwar sehr sexy auf, aber ich werde da noch auf Custom-AIBs warten und der Treibersupport sollte auch einige Monate reifen. Zumindest bis Linux 5.3 erschienen ist. Auch zu den SSDs muss man nicht viel sagen. Das Seasonic Netzteil ist ein hocheffizientes, semipassiv gekühltes Modell der mittleren Leistungsklasse. Irgendwie gibt es in den letzten Jahren einen ungesunden Trend zu immer größeren Netzteilen, in der Praxis dürften die 550W für mehr als 95% der Anwender locker ausreichen.

Für das Fractal Design Define Mini C Gehäuse habe ich mich entschieden, da es als MicroATX-Gehäuse relativ kompakt ist (es gibt noch kompaktere Modelle, aber viel weniger Volumen bringt es nicht), Grafikkarten voller Länge aufnehmen kann und einen guten Innenaufbau hat. Es unterteilt sich in eine gedämmte Hauptkammer und eine kleinere Kammer für das Netzteil und diee Laufwerke. Die Haupkammer bietet auf der Vorderseite Platz für zwei 140mm Lüfter, die such über die ganze Höhe erstrecken. Da setze ich die beiden langsam laufenden, unhörbaren Noctuas ein. Hinten ist Platz für einen 120mm Lüfter, dort kommt ein per PWM synchron zum CPU-Kühler geregelter 120mm Noctua zum Einsatz. Unter dem Strich ist das Gehäuse sehr gut durchlüftet und das System im Leerlauf unhörbar, unter Last rauscht es leise. Im Leerlauf erreicht die CPU ca. 33°C, unter Last ca. 55°C. Bei knapp 22°C Raumtemperatur.


FreeBSD

Eigentlich soll ein Linux auf die Kiste, FreeBSD bleibt auf dem Core i7-6700k. Allerdings habe ich es mir natürlich nicht nehmen lassen FreeBSD einmal zu testen. FreeBSD 12.0 bootet problemlos durch und erkennt alle Hardware, ich habe für meine Tests allerdings ein aktuelles 13-CURRENT gebaut. Vor allem, da ich den aktuellen amdgpu Treiber wollte. Dazu gleich mehr, für eine reine FreeBSD-Maschine hätte ich aber eine Nvidia-Karte genommen.

Einzig die Temperatursensoren wurden nicht sofort erkannt. Ich habe die Device-IDs in den amdtemp Treiber gepatcht, damit funktionierte es. Allerdings wird nur ein einziger Sensor erkannt, ich vermute stark, dass es der Sensor des IO-Die ist und nicht ein Sensor im CCD. Das macht ihn recht aussagelos.

FreeBSD erkennt die recht komplexe Topologie korrekt:
Code:
<groups>
 <group level="1" cache-level="0">
  <cpu count="16" mask="ffff,0,0,0">0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15</cpu>
  <children>
   <group level="2" cache-level="3">
    <cpu count="8" mask="ff,0,0,0">0, 1, 2, 3, 4, 5, 6, 7</cpu>
    <children>
     <group level="3" cache-level="2">
      <cpu count="2" mask="3,0,0,0">0, 1</cpu>
      <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
     </group>
     <group level="3" cache-level="2">
      <cpu count="2" mask="c,0,0,0">2, 3</cpu>
      <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
     </group>
     <group level="3" cache-level="2">
      <cpu count="2" mask="30,0,0,0">4, 5</cpu>
      <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
     </group>
     <group level="3" cache-level="2">
      <cpu count="2" mask="c0,0,0,0">6, 7</cpu>
      <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
     </group>
    </children>
   </group>
   <group level="2" cache-level="3">
    <cpu count="8" mask="ff00,0,0,0">8, 9, 10, 11, 12, 13, 14, 15</cpu>
    <children>
     <group level="3" cache-level="2">
      <cpu count="2" mask="300,0,0,0">8, 9</cpu>
      <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
     </group>
     <group level="3" cache-level="2">
      <cpu count="2" mask="c00,0,0,0">10, 11</cpu>
      <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
     </group>
     <group level="3" cache-level="2">
      <cpu count="2" mask="3000,0,0,0">12, 13</cpu>
      <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
     </group>
     <group level="3" cache-level="2">
      <cpu count="2" mask="c000,0,0,0">14, 15</cpu>
      <flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
     </group>
    </children>
   </group>
  </children>
 </group>
</groups>
Auch P-States und C-States werden exakt wie unter Linux erkannt und genutzt. Auch dazu unten noch etwas mehr.

Die Realtek-NIC läuft wie gesagt problemlos:
Code:
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0xf000-0xf0ff mem 0xfca04000-0xfca04fff,0xfca00000-0xfca03fff irq 33 at device 0.0 on pci5
re0: Using 1 MSI-X message
re0: Chip rev. 0x54000000
re0: MAC rev. 0x00100000
miibus0: <MII bus> on re0
rgephy0: <RTL8251/8153 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Using defaults for TSO: 65518/35/2048
re0: Ethernet address: 04:92:26:d4:62:69
re0: netmap queues/slots: TX 1/256, RX 1/25
Sound, zusammen mit der Radeon. Zur Abwechslung kommuniziert das BIOS nur Ausgänge, die auch vorhanden sind:
Code:
pcm0: <ATI R6xx (HDMI)> (play)
pcm1: <ATI R6xx (HDMI)> (play)
pcm2: <ATI R6xx (HDMI)> (play)
pcm3: <ATI R6xx (HDMI)> (play)
pcm4: <ATI R6xx (HDMI)> (play)
pcm5: <ATI R6xx (HDMI)> (play)
pcm6: <Realtek (0x0b00) (Rear Analog)> (play/rec) default
pcm7: <Realtek (0x0b00) (Front Analog)> (play/rec)
pcm8: <Realtek (0x0b00) (Internal Digital)> (play)
Die Radeon 580 funktionierte mit aktuellem graphics/drm-devel-kmod problemlos. Trotz UEFI-Boot! Einfach amdgpu.ko geladen, dazu noch x11-drivers/xf86-video-amdgpu installiert, X.org gestartet und es ging. Mit OpenGL, Vulkan und vollem Powermanagement. Allerdings kommt es ab und an zu GPU-Hängern, sie haben sich zwar jedes Mal von alleine gefangen, aber es nervt doch etwas.


Powermanagement

Ich habe mich in den letzten Wochen sehr tiefgehend mit Powermanagement unter FreeBSD beschäftigt, viele Mails geschrieben, Patches getestet, gemessen, theoretisiert... Ich könnte viel dazu schreiben, aber erspare es euch mal.

Nur so viel: Seitdem ca. 2003 P-States (Frequenzskalierung, das was powerd und powerd++ machen) und C-States (Schlafmodi für die Kerne) aufkamen, ist Power Management immer mehr Sache der Software geworden. Bis einschließlich Sandy Bridge (Core i-2000 Serie) konnten die Kernel neben Windows und Linux noch gut mithalten, seitdem fielen sie immer mehr zurück. Das betrifft alle BSDs. Intel wurde sich dem Problem der immer komplexeren Anforderungen an die Software irgendwann bewusst und führte mit Skylake (Core i-6000 Serie) hwpstate, auch als Speedshift bekannt, ein. Damit wird das Powermanagement wieder in die Hardware zurückverlagert. FreeBSD und co. können davon bisher aber nicht profitieren, da weiterhin etwas Softwareunterstützung benötigt wird. Intel entwickelt die unter seinem FreeBSD-Sponsorship gerade und die ersten Patches sind sehr vielversprechend [1].

AMD geht einen anderen Weg. Dort versucht man die Software weitgehend außen vor zu lassen, man gibt ihr lediglich die Möglichkeit eine Abwägung zwischen Stromersparnis und Leistung vorzugeben. Dafür setzt man auf CPPC2, einem offenen, in UEFI enthaltenen Standard. FreeBSD hat auch dafür noch keine Unterstützung, das ist allerdings nicht weiter schlimm, die CPU hat sinnvolle Standardwerte gesetzt. Das ist sicher kein Entgegenkommen an FreeBSD, sondern eher Pragmatismus hinsichtlich Microsofts immer noch vorhandener Intel-Fokussierung.

Wie oben schon geschrieben, werden P-States unterstützt. FreeBSD sieht die gleichen Frequenzen wie Linux, beginnend bei 2000MHz und endend bei 3601MHz. Sie zu nutzen hat aber weder unter Linux, noch unter FreeBSD messbare Auswirkungen. powerd oder powerd++ mitlaufen zu lassen, hat keine Auswirkungen auf den Verbrauch an der Steckdose, auf die von sysutils/turbostat gemessenen Verbrauchswerte und auch nicht auf das reale Taktverhalten. Kurz gesagt, man kann es sich sparen.

Auch C-States werden unterstützt, allerdings werden sowohl unter Linux, als auch FreeBSD nur C1 und C2 kommuniziert. Auch turbostat und powertop (nur für Linux) sehen keine tieferen States. C2 zu erlauben, bringt sowohl unter Linux, als auch FreeBSD etwa 0,3W an der Steckdose. Weitere Auswirkungen hat es nicht.

Unter dem Strich komme ich auf ca. 44W an der Steckdose unter Linux und 48W an der Steckdose unter FreeBSD. Diese 4W Unterschied sind sehr gut, bei meinem Core i7-6700k bin ich (ohne die Patches für hwpstate-Support) nie unter 22W Unterschied gekommen. Vor allem aber bleibt es sowohl in Teillast, als auch unter Volllast bei ca. 4W. Während der Core i7-6700k vor allem im Teillastbetrieb unter FreeBSD auf bis zu 35W gegenüber Linux zurückfiel.

Ich kann es nicht wirklich beweisen, aber ich vermute, dass die CPU an sich unter Linux und FreeBSD sogar ähnlich viel oder wenig Energie benötigt. Der Unterschied scheint mir eher auf das Mainboard zurückzugehen, FreeBSD unterstützt anders als Linux auch kein HDA-Powersave für die Soundkarte und kein Powersave für die Realtek-NIC.

Interessant ist auch die Frequenzskalierung. Der Core i7-6700k kam ohne die Patches für hwpstate-Support nie über Basisfrequenz hinaus. Der Ryzen 3700X hingegen erreicht bei Last auf bis zu 2 Kernen sowohl unter Linux, als auch unter FreeBSD etwa 4320MHz dauerhaft. Die 4400MHz habe ich auf beiden Systemen nie gesehen, obwohl genügend Energie und Wärme-Budget vorhanden wäre. Das wird das AGESA 1.0.0.2 sein. Unter Volllast pendelt er sich unter beiden Systemen auf 3950MHz ein.


Leistung

Dann noch kurz, was das Blech auf die Straße bringt. Das sind keine sauber durchgeführten Messungen! Wie gesagt, es gibt genügend Reviews im Netz. make -j$(sysctl -n hw.ncpu) buildworld mit Sourcen und Objekten auf einem tmpfs. Sourcen waren 13-CURRENT von gestern.

Core i7-6700k: 57:25 Minuten
Ryzen 3700X: 24:53 Minuten

Also etwas mehr als doppelt so schnell.


0: https://www.amd.com/en/support/kb/faq/pa-100#faq-Short-Term-Processor-Loan-Boot-Kit
1: https://github.com/bwidawsk/freebsd/tree/hwp2
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
Themenstarter #2
Und noch eine dmesg:
Code:
---<<BOOT>>---
Copyright (c) 1992-2019 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 13.0-CURRENT #0 r349987+94bf99d2e67(svn_head)-dirty: Sun Jul 14 19:54:54 CEST 2019
    root@ryzen.home.yamagi.org:/usr/obj/usr/sources/13-CURRENT/amd64.amd64/sys/GENERIC-NODEBUG amd64
FreeBSD clang version 8.0.1 (branches/release_80 364487) (based on LLVM 8.0.1)
VT(efifb): resolution 1024x768
CPU: AMD Ryzen 7 3700X 8-Core Processor              (3593.33-MHz K8-class CPU)
  Origin="AuthenticAMD"  Id=0x870f10  Family=0x17  Model=0x71  Stepping=0
  Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x7ed8320b<SSE3,PCLMULQDQ,MON,SSSE3,FMA,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2e500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM>
  AMD Features2=0x75c237ff<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW,IBS,SKINIT,WDT,TCE,Topology,PCXC,PNXC,DBE,PL2I,MWAITX,<b30>>
  Structured Extended Features=0x219c91a9<FSGSBASE,BMI1,AVX2,SMEP,BMI2,PQM,PQE,RDSEED,ADX,SMAP,CLFLUSHOPT,CLWB,SHA>
  Structured Extended Features2=0x400004<UMIP,RDPID>
  XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
  AMD Extended Feature Extensions ID EBX=0x10ab757<CLZERO,IRPerf,XSaveErPtr,IBPB,STIBP,STIBP_ALWAYSON,SSBD>
  SVM: NP,NRIP,VClean,AFlush,DAssist,NAsids=32768
  TSC: P-state invariant, performance statistics
real memory  = 68719476736 (65536 MB)
avail memory = 66817978368 (63722 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I >
FreeBSD/SMP: Multiprocessor System Detected: 16 CPUs
FreeBSD/SMP: 1 package(s) x 2 cache groups x 4 core(s) x 2 hardware threads
random: unblocking device.
ioapic0: Changing APIC ID to 17
ioapic1: Changing APIC ID to 18
ioapic0 <Version 2.1> irqs 0-23 on motherboard
ioapic1 <Version 2.1> irqs 24-55 on motherboard
Launching APs: 10 11 12 9 15 1 2 5 7 4 6 3 13 8 14
Timecounter "TSC-low" frequency 1796663304 Hz quality 1000
random: entropy device external interface
[ath_hal] loaded
kbd1 at kbdmux0
module_register_init: MOD_LOAD (vesa, 0xffffffff81158270, 0) error 19
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
000.000065 [4254] netmap_init               netmap: loaded module
nexus0
efirtc0: <EFI Realtime Clock> on motherboard
efirtc0: registered as a time-of-day clock, resolution 1.000000s
cryptosoft0: <software crypto> on motherboard
acpi0: <ALASKA A M I > on motherboard
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> port 0x70-0x71 on acpi0
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff irq 0,8 on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 350
Event timer "HPET1" frequency 14318180 Hz quality 350
Event timer "HPET2" frequency 14318180 Hz quality 350
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <base peripheral, IOMMU> at device 0.2 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> at device 1.1 on pci0
pci1: <ACPI PCI bus> on pcib1
nvme0: <Generic NVMe Device> mem 0xfcf00000-0xfcf03fff irq 24 at device 0.0 on pci1
pcib2: <ACPI PCI-PCI bridge> at device 1.3 on pci0
pci2: <ACPI PCI bus> on pcib2
xhci0: <XHCI (generic) USB 3.0 controller> mem 0xfcba0000-0xfcba7fff irq 32 at device 0.0 on pci2
xhci0: 32 bytes context size, 64-bit DMA
usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
ahci0: <AHCI SATA controller> mem 0xfcb80000-0xfcb9ffff irq 33 at device 0.1 on pci2
ahci0: AHCI v1.31 with 8 6Gbps ports, Port Multiplier supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich4: <AHCI channel> at channel 4 on ahci0
ahcich5: <AHCI channel> at channel 5 on ahci0
pcib3: <ACPI PCI-PCI bridge> irq 34 at device 0.2 on pci2
pci3: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> irq 32 at device 0.0 on pci3
pci4: <ACPI PCI bus> on pcib4
pcib5: <ACPI PCI-PCI bridge> irq 33 at device 1.0 on pci3
pci5: <ACPI PCI bus> on pcib5
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0xf000-0xf0ff mem 0xfca04000-0xfca04fff,0xfca00000-0xfca03fff irq 33 at device 0.0 on pci5
re0: Using 1 MSI-X message
re0: Chip rev. 0x54000000
re0: MAC rev. 0x00100000
miibus0: <MII bus> on re0
rgephy0: <RTL8251/8153 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Using defaults for TSO: 65518/35/2048
re0: Ethernet address: 04:92:26:d4:62:69
re0: netmap queues/slots: TX 1/256, RX 1/256
pcib6: <ACPI PCI-PCI bridge> irq 32 at device 4.0 on pci3
pci6: <ACPI PCI bus> on pcib6
pcib7: <ACPI PCI-PCI bridge> at device 3.1 on pci0
pci7: <ACPI PCI bus> on pcib7
vgapci0: <VGA-compatible display> port 0xe000-0xe0ff mem 0xe0000000-0xefffffff,0xf0000000-0xf01fffff,0xfce00000-0xfce3ffff irq 54 at device 0.0 on pci7
vgapci0: Boot video device
hdac0: <ATI (0xaaf0) HDA Controller> mem 0xfce60000-0xfce63fff irq 55 at device 0.1 on pci7
pcib8: <ACPI PCI-PCI bridge> at device 7.1 on pci0
pci8: <ACPI PCI bus> on pcib8
pci8: <unknown> at device 0.0 (no driver attached)
pcib9: <ACPI PCI-PCI bridge> at device 8.1 on pci0
pci9: <ACPI PCI bus> on pcib9
pci9: <unknown> at device 0.0 (no driver attached)
xhci1: <XHCI (generic) USB 3.0 controller> mem 0xfc800000-0xfc8fffff at device 0.3 on pci9
xhci1: 64 bytes context size, 64-bit DMA
xhci1: Unable to map MSI-X table 
usbus1 on xhci1
usbus1: 5.0Gbps Super Speed USB v3.0
hdac1: <AMD (0x1487) HDA Controller> mem 0xfc900000-0xfc907fff at device 0.4 on pci9
pcib10: <ACPI PCI-PCI bridge> at device 8.2 on pci0
pci10: <ACPI PCI bus> on pcib10
ahci1: <AMD KERNCZ AHCI SATA controller> mem 0xfcd00000-0xfcd007ff irq 41 at device 0.0 on pci10
ahci1: AHCI v1.31 with 1 6Gbps ports, Port Multiplier supported with FBS
ahcich8: <AHCI channel> at channel 0 on ahci1
pcib11: <ACPI PCI-PCI bridge> at device 8.3 on pci0
pci11: <ACPI PCI bus> on pcib11
ahci2: <AMD KERNCZ AHCI SATA controller> mem 0xfcc00000-0xfcc007ff irq 45 at device 0.0 on pci11
ahci2: AHCI v1.31 with 1 6Gbps ports, Port Multiplier supported with FBS
ahcich9: <AHCI channel> at channel 0 on ahci2
isab0: <PCI-ISA bridge> at device 20.3 on pci0
isa0: <ISA bus> on isab0
acpi_button0: <Power Button> on acpi0
uart2: <16x50 with 256 byte FIFO> iomem 0xfedc9000-0xfedc9fff,0xfedc7000-0xfedc7fff irq 3 on acpi0
uart3: <16x50 with 256 byte FIFO> iomem 0xfedca000-0xfedcafff,0xfedc8000-0xfedc8fff irq 4 on acpi0
uart4: <16x50 with 256 byte FIFO> iomem 0xfedce000-0xfedcefff,0xfedcc000-0xfedccfff irq 3 on acpi0
uart5: <16x50 with 256 byte FIFO> iomem 0xfedcf000-0xfedcffff,0xfedcd000-0xfedcdfff irq 4 on acpi0
orm0: <ISA Option ROM> at iomem 0xc0000-0xce7ff pnpid ORM0000 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
hwpstate0: <Cool`n'Quiet 2.0> on cpu0
Timecounters tick every 1.000 msec
ugen0.1: <0x1022 XHCI root HUB> at usbus0
ugen1.1: <0x1022 XHCI root HUB> at usbus1
uhub0 on usbus0
uhub0: <0x1022 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
uhub1 on usbus1
uhub1: <0x1022 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus1
nvd0: <Samsung SSD 970 PRO 512GB> NVMe namespace
nvd0: 488386MB (1000215216 512 byte sectors)
hdacc0: <ATI R6xx HDA CODEC> at cad 0 on hdac0
hdaa0: <ATI R6xx Audio Function Group> at nid 1 on hdacc0
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <ATI R6xx (HDMI)> at nid 5 on hdaa0
pcm2: <ATI R6xx (HDMI)> at nid 7 on hdaa0
pcm3: <ATI R6xx (HDMI)> at nid 9 on hdaa0
pcm4: <ATI R6xx (HDMI)> at nid 11 on hdaa0
pcm5: <ATI R6xx (HDMI)> at nid 13 on hdaa0
hdacc1: <Realtek (0x0b00) HDA CODEC> at cad 0 on hdac1
hdaa1: <Realtek (0x0b00) Audio Function Group> at nid 1 on hdacc1
pcm6: <Realtek (0x0b00) (Rear Analog)> at nid 20 and 24,26 on hdaa1
pcm7: <Realtek (0x0b00) (Front Analog)> at nid 27 and 25 on hdaa1
pcm8: <Realtek (0x0b00) (Internal Digital)> at nid 17 on hdaa1
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <CT2000MX500SSD1 M3CR023> ACS-3 ATA SATA 3.x device
ada0: Serial Number 1918E2003F34
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes)
ada0: Command Queueing enabled
ada0: 1907729MB (3907029168 512 byte sectors)
Trying to mount root from ufs:/dev/gpt/root [rw]...
Root mount waiting for: usbus1 usbus0
uhub1: 8 ports with 8 removable, self powered
uhub0: 22 ports with 22 removable, self powered
Root mount waiting for: usbus1 usbus0
ugen0.2: <PixArt Microsoft USB Optical Mouse> at usbus0
Root mount waiting for: usbus1 usbus0
ugen1.2: <Sharkoon QS Portable USB3.0> at usbus1
umass0 on uhub1
umass0: <Sharkoon QS Portable USB3.0, class 0/0, rev 3.00/81.05, addr 1> on usbus1
umass0:  SCSI over Bulk-Only; quirks = 0x8100
umass0:6:0: Attached to scbus6
da0 at umass-sim0 bus 0 scbus6 target 0 lun 0
da0: <HGST HTE 541010A9E680 8105> Fixed Direct Access SPC-4 SCSI device
da0: Serial Number 111122223333
da0: 400.000MB/s transfers
da0: 953869MB (1953525168 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
ugen0.3: <Logitech USB Keyboard> at usbus0
ukbd0 on uhub0
ukbd0: <USB Keyboard> on usbus0
kbd2 at ukbd0
mountroot: waiting for device /dev/gpt/root...
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
Themenstarter #4
Ja, es kommt viel drauf an, was man macht und wie viele Mitigation man nutzen will oder muss. Ich mache auf dem Sandy Bridge viel mit virtuellen Maschinen und da hat man halt da die Wahl. Entweder offene Hose oder den vollen Satz Mitigations mit zusätzlich noch abgeschaltetem Hyperthreading... So rückblickend gesehen war der i7-2600k aber eine der besten CPUs, die ich jemals hatte. Ich würde sogar soweit gehen und sagen, dass Sandy Bridge vielleicht die beste bisher von Intel entwickelte Familie war. Für 2011 beeindruckend schnell und gleichzeitig stromsparend, durch den vergleichsweise kleinen Chip nicht allzu teuer, die damals neue Power Management Unit legte die Grundlage für eine ganze klasse leichterer Laptops, dazu erstmals halbwegs ernstzunehmende integrierte GPUs im Massenmarkt, etc. Und dank verlötetem Headspreader auch noch gut kühl- und wenn man drauf steht übertaktbar, danach begann Intel ja seine CPUs mit besserer Zahnpasta zusammenzukleben.

Irgendwie hat sich Intel danach auch völlig verrannt. mit Haswell und dann Skylake wurden die Schritte jedes Mal deutlich kleiner, danach kam dann gar nichts mehr. Man hat etliche Milliarden in fragwürdige Projekte (z.B. die Larabee-Nachfahren der Xeon Phi Familie oder das nun in der Versteigerung von Patenten endgültig endende Smartphone-Drama) und sinnlosen Übernahmen (von McAfee bis Altera) versenkt, gleichzeitig aber das Kerngeschäft um x86 vernachlässigt und ist ausgerechnet in der Fertigungstechnik, wo man Jahrzehnte mit Abstand führend war, auf den dritten Platz hinter TSMC und Samsung zurückgefallen.
Ich halt Robert Swan als neuen CEO zwar für ungeeignet, weil er in meinen Augen ein fantasieloser BWLer ist, aber zumindest scheint er als der glücklose Brian Krzanich aber einen nachvollziehbaren Plan zu haben und hat sich gute Leute für kritische Stellen geholt. Damit könnten sie schon zurück auf Kurs kommen.
 

lme

FreeBSD Committer
#5
Kannst du die Soundkarte und NIC im BIOS nicht deaktivieren? Dann hättest du bessere Vergleichswerte für den Stromverbrauch.
 

ralli

BSD Fanboy
#6
Jedenfalls kann ich gut nachvollziehen, warum Du AMD Ryzen den Vorzug gibst, weil die Intel Preise einfach im Verhältnis zur Leistung unverschämt sind, siehe hier:

Prozessor Rangliste

Wettbewerb belebt doch das Geschäft.:)
Allerdings hättest Du für ca 40 € mehr schon den AMD Ryzen 9 3900X bekommen können, falls die Preise in der Liste stimmen.

Auf jeden Fall werde ich bei einem Neukauf auch auf AMD setzen. Auf jeden Fall Glückwunsch, weil granatenschnell und zukunftssicher.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
Themenstarter #7
Kannst du die Soundkarte und NIC im BIOS nicht deaktivieren? Dann hättest du bessere Vergleichswerte für den Stromverbrauch.
Wieso bin ich selbst nicht darauf gekommen? Wenn ich Sound und NIC deaktiviere, sinkt der Stromverbrauch unter Linux um ca. 0,5W. Das ist aber auf billigen Energiemessgeräten schon hart an der Grenze des sicher messbaren. Unter FreeBSD bringt es etwa 3W. Damit verringert sich der Abstand auf etwa 1,5W zu Gunsten von Linux.
Mit powertop --auto-tune kann man unter Linux noch mal knappe 2 Watt mehr rauskitzeln. Aber das ist dann schon sehr aggressiv, bis hin zum automatischen Abschalten der Maus, wenn es ein paar Sekunden kein Input-Event gab. Das mag auf Laptops sinnvoll sein, aber auf einem Desktop geht es mir zu weit.

Allerdings hättest Du für ca 40 € mehr schon den AMD Ryzen 9 3900X bekommen können, falls die Preise in der Liste stimmen.
In der Realität sind es hier in Deutschland eher 80€. Aber hauptsächlich hab ich mich gegen den 3900X und den im September kommenden 3950X entschieden, da sie beide zwei TDP-Klassen höher liegen. 105W statt 65W dauerhafter Abwärme. Dazu wahrscheinlich ein deutlich höheres Power-Target von bestimmt irgendwo um und bei 140W. Das widerspricht einem auch unter CPU-Volllast halbwegs leisem System irgendwo und ist auch von der Heizleistung her nicht zu unterschätzen...

Dazu kam auch die äh größere Überlegung. Der 3900X ist für mein Board noch freigegeben, für den 3950X wird man eventuell ein Board mit größer dimensionierten Spannungswandlern brauchen. Das macht die Kiste insgesamt aber wieder teurer. Da es nun wieder Wettbewerb gibt, Intel versuchen wird AMD zu überholen und AMD sich wehren muss, könnte es schon 2 Jahren wieder interessant sein aufzurüsten und dann in es sinnlos heute zu viel Geld zu investieren.

Und man muss im Hinterkopf behalten, dass der Sockel AM4 auf nur 2 RAM-Kanäle begrenzt ist. Schon bei meinen nur 8 Kernen beträgt der Unterschied zwischen DDR4 2666MHz und 3200MHz knappe 12%. Ich könnte mir gut vorstellen, dass man bei noch mehr Kernen den Speicher auf hohe 3600MHz oder noch mehr übertakten muss, um nicht ins Bandbreitenlimit zu laufen.


Auf einer anderen Seite der Baustelle hatte ich gestern Abend das Problem, dass die Kiste an sich absolut stabil lief, aber mir make -j10 buildworld in einer qemu-VM (über libvirt gestartet, Linux 5.2.1 als Host-Kernel) mit Segfault von Clang abbrach. Reproduzierbar, aber an immer anderen Stellen mit leicht anderen Fehlermeldungen. Ein deutlicher Hinweis auf Probleme mit dem RAM, nur widersprüchlich zum stabil laufenden Host. Nach etwas quertesten und Debuggen kam ich zu dem Schluss, dass es qemu selbst oder dem KVM-Backend für AMD-V aka SVM liegen muss. Es kippten nicht einige Bits, stattdessen waren ganze Speicherbereiche der abgestürzten Clang-Prozesse kaputt. Nach etwas Recherche stieß ich auf diesen Thread bei den Kollegen von Proxmox: https://forum.proxmox.com/threads/g...ng-killed-undocumented-balloon-setting.31204/
Es ist exakt das gleiche Problem. libvirt startet qemu mit KSM eingeschaltet. Über KSM darf er Pages mit gleichem Inhalt zusammenfassen; statt den gleichen Inhalt mehrmals im RAM zu halten, wird er so nur einmal abgelegt. Was Speicher spart. Nur geht irgendwas dabei schief und gelangen Pages in Prozesse, wo sie nicht hingehören. Mit fatalen Folgen. Unter libvirt kann man KSM mit der <nosharedpages/>-Option abschalten. Die Doku dazu ist hier: https://libvirt.org/formatdomain.html#elementsMemoryBacking Damit lief die VM dann stabil.
Unter Bhyve trat das Problem nicht auf, aber es kann meines Wissens nach auch keine Pages zusammenfassen.
 

ralli

BSD Fanboy
#8
Danke @Yamagi für die Infos. Nächstes Jahr werde ich siebzig und da peile ich neue Hardware an, Dein neuer Rechner dient mir dann als Referenz.:) Ich hab nicht alles im Detail studiert, allerdings sind Deine Argumente stichhaltig.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
Themenstarter #10
Natürlich. Der Computer selbst:
  • Ryzen 3700x: 352€
  • Corsair CMK32GX4M2B3200C16: 148€ das 32GB Kit, also 296€
  • Asus TUF B450M-PRO GAMING: 100€
Zusammen also 748€. Auch die beiden Vorgänger (Core i7-2600k und Core i7-6700k) lagen in dem Rahmen. Von daher ist das schon okay. Wenn man nun sparen will, kann man auch nur ein RAM-Kit nehmen, 32GB reichen eigentlich auch aus. Und den kleineren Ryzen 3600X gibt es schon ab 250€.

Das Drumherum war dieses Mal sehr teuer, da ich alles neu gekauft und Noctua-Komponenten mit Platin aufgewogen werden. Aber der letzte, ursprünglich für meinen Phenom II 940 gekaufte Satz war jeden Cent wert, er hat 10 Jahre gehalten. Wenn diese Lüfter es wieder tun, bin ich mehr als zufrieden:
  • Fractal Design Define Mini C: 70€
  • Seasonic Focus Plus Platinum 550W: 95€
  • Noctua NH-U12S: 60€
  • Noctua NF-A14 ULN: 20€ pro Stück, also 40€
  • Noctua NF-S12A PWM: 20€
Zusammen also 285€, dazu noch etwas Kleinkram wie Noctua NA-SAV3 Entkoppler, Y-Kabel, Klettverschluss-Kabelbinder und so weiter. Auch da kann man natürlich sparen, günstigere Lüfter und ein einfacheres Netzteil tun es auch. Aber wenn schon, denn schon.

Dann noch die SSDs:
  • Samsung 970 Pro 512GB: 140€
  • Crucial MX500 2TB: 230€
Die Samsung 970 Pro ist sehr teuer, für den gleichen Preis bekommt man schon 1TB SSDs anderer Hersteller. Allerdings ist Samsungs Pro-Serie auch sehr zuverlässig, ich hatte bei meinen diversen SSD daraus (privat und in der Firma) über all die Jahre nie Ärger. Vor allem sprechen die Leistungsdaten einfach für sich, wo andere SSDs schon nach Sekunden teils massiv einbrechen, behalten die Pro ihre Leistung auch längere Zeit bei.

Die Crucial MX500 sind so ziemlich die günstigsten SSDs, die ich noch guten Gewissens empfehlen würde. Sie haben einen DRAM-Cache, einen Stützkondensator gegen Stromausfall und meiner Erfahrung nach zuverlässige Firmware. Die meisten billigeren Angeboten fehlt mindestens einer der Punkte und das will man dann eher nicht einsetzen. Zumindest nicht unter etwas anderem als Windows. Hier gäbe es für das gleiche Geld schon fast eine 10TB Platte, aber Festplatten sind einfach laut (muss kein Problem sein, aber mich nervt es ehrlich gesagt) und deutlich langsamer.
 

lme

FreeBSD Committer
#11
Danke, da hast du zwar viel Geld in die Hand genommen, aber wirst wahrscheinlich lange Freude an der Kiste haben. :)
 

mr44er

Well-Known Member
#12
Wie es die erhöhten RAMpreise angedroht haben kostet z.B. jetzt genau das 32er-Kit ~180€ :(

Wahrscheinlich hast du genau im sweet spot gekauft, wobei ich die Preise nicht verfolgt habe.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
Themenstarter #13
Ich war leider noch etwas drüber. Aber im Vergleich zu vor ca. 12 Monaten ist es immer noch harmlos, da hätte ein 32 Gigabyte Kit schon über 320€ gekostet... Und die 64 Gigabyte RAM haben sich schon gelohnt. Alleine dem Poudriere 56 Gigabyte geben zu können, ist viel Wert. Da kann man auch problemlos 16 Builder zu je 16 Threads auf tmpfs laufen lassen, ohne dass FreeBSD zu swappen beginnt.

Ansonsten... Es gab nun letzte Woche das erste große BIOS-Update, auf AGESA 1.0.0.3AB. Das ist nicht der rdrand-Fix, der hört in diesem schönen, konsistenten Schema auf 1.0.0.3ABB. Mit dem Update funktioniert Suspend nun unter Linux einwandfrei, FreeBSD wachte zumindest auf, aber ihm war sein Root-Dateisystem auf der USB-Platte verloren gegangen. Das hatte ich erwartet, FreeBSD kann leider kein Suspend auf USB-Root. Takt- und Temperaturverhalten sind anders, aber für mich nicht besser oder schlechter, ohne Monitoring hätte ich es gar nicht bemerkt. Und die Lüftersteuerung ist "ruhiger", sie dreht nicht mehr so nervös nach oben.
 

mr44er

Well-Known Member
#14
Aber im Vergleich zu vor ca. 12 Monaten ist es immer noch harmlos, da hätte ein 32 Gigabyte Kit schon über 320€ gekostet
Stimmt die Abart hatte ich gesehen, hakte das aber unter LuxusRAM für Hipster ab, weil ich nicht aktuell war. (bin ich jetzt beim RAM immer noch nicht, aber meine dass man das Setup von dir ohne großes Überlegen nachkaufen kann ) ;)

Und die 64 Gigabyte RAM haben sich schon gelohnt. Alleine dem Poudriere 56 Gigabyte geben zu können, ist viel Wert. Da kann man auch problemlos 16 Builder zu je 16 Threads auf tmpfs laufen lassen, ohne dass FreeBSD zu swappen beginnt.
Mach' mich halt feucht. :p

Ich hab' leistungstechnisch überhaupt keine Not mehr verspürt, seit ich 2013 an einen nagelneuen Fujitsu zu einem sehr guten Preis rankam. Dem hab ich seinerzeit aus Prinzip 4x8GB gegönnt, aber das wars auch schon. Ich hätte nie gedacht, dass der mir so lange ausreicht, weil man bis dato noch den Turnus von max. 2 Jahren intus hatte.
i3-3220 (ok erwischt, letzte Woche gratis gegen einen i5-2320 vom Schrott getauscht)
-hat den Vorteil, dass man die Kiste mal reinigt und neue Paste aufträgt. Nur wegen Nulltarif vs. Stromverbrauch hat sich der Tausch auf ne ältere Generation gelohnt, doppelter Cache und 4 echte Kerne merkt man dann aber doch. Und dieser i5 kam 2009 raus...immer wieder erstaunlich, wenn man an früher denkt.
Die RAMRiegel sind die G.Skill DIMM 8 GB DDR3-1333, genauer F3-10666CL9-8GBXL. Unfassbar, dass die jetzt immer noch soviel kosten wie ich 2013 dafür bezahlt hatte. :D

Anyway, ich habe nun eine neuwertige RX Vega 64 von PowerColor für unschlagbare 260€ (da konnte ich einfach nicht anders, obwohl überdimensioniert für mein Vorhaben) bekommen und war mir fast sicher, dass ich ein passendes Netzteil rumliegen hätte, leider Fehlanzeige. Also mal was gegönnt und ein BQ SP 11 650W für die Säuferkarte gekauft, angeblich kriegt man die mit undervolting gut gedengelt. Soll für GPU-passthrough Spielereien herhalten (auf nem anderen System), aber nun juckts irgendwie doch in den Fingern mit nem Ryzen und daher hab ich deinen Thread rausgekramt. Bei den RAMPreisen schüttelts mich dann aber und die Einsparung bei der Vega gleich wieder für RAM rauszuhauen behagt mir nicht. ;)

Mal zu den noctua-Lüftern: im Server im Nebenraum hatte ich letztes Jahr alle gegen noctuas getauscht, weil halt die Welt auf noctua schwört, ist somit mein erster Satz bewußt gekaufter Lüfter. Ein leiser und ausreichend gekühlter Server hat schon was für sich. Der Raum wird selten bis nie betreten und die Tür ist immer zu, mit dem Gedanken dass ich damit um einen gefilterten Schrank herumkomme. Wie waren deine Reinigungsabstände in den 10 Jahren so?
Es ist jetzt ziemlich genau ein Jahr her, dass ich die Abstürze in den Griff bekam und so lange laufen jetzt auch die noctuas durch. Nach 6 Monaten hatte ich dann mal die Staubmenge um die Lüfter geprüft und sie war schon sichtbar, aber nicht wirklich reinigungsbedürftig. Natürlich habe ich trotzdem mal den Staubsauger reingehalten...es sieht jetzt wieder so aus, aber es ist viel weniger als der PC im Wohnzimmer zum Vergleich. Da gibt es Zigarettenrauch, Staubflusen von der Kleidung etc.
Ich überlege jetzt, mal den Reinigungsintervall auf 18 Monate zu erhöhen, denn dann lohnt sich wirklich kein Schrank.
 
Zuletzt bearbeitet: