HowTo: ASPM aktivieren?

Hi,

ich möchte unter Freebsd (>= 14) einen ernergiesparenden Server konfigurieren. Hier notthebee / AutoASPM habe ich ein Script gefunden, mit dem man unter Linux ASPM für alle Devices aktivieren können soll. Eine Google-Suche hat mich zu pciconf und lspci sowie iovctl und iovctl.conf geführt.

Ein Beispiel, pciconf einer Ethernetkarte:

# pciconf -lcv re0
re0@pci0:2:0:0: class=0x020000 rev=0x15 hdr=0x00 [...]
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller
[...]
cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
cap 05[50] = MSI supports 1 message, 64 bit
cap 10[70] = PCI-Express 2 endpoint MSI 1 max data 128(128) RO
max read 4096
link x1(x1) speed 2.5(2.5) ASPM disabled(L0s/L1) ClockPM disabled
[...]

Gibts unter Freebsd eine Möglichkeit, zb per iovctl.conf, zu konfigurieren, dass die pci-Devices ASPM aktivieren und wie erfahre ich, was die verschiedenen Level (L0s/L1) bedeuten?

Danke fürs lesen (und die Hilfe)

PS1: Was bedeutet diese Angabe: "powerspec 3 supports D0 D1 D2 D3 current D0"
PS2: Laut den Specs, die ich beim Kauf gesehen habe, schaffen meine Ethernetanschlüsse 1 Gigabit, nun findet sich aber hier: "link x1(x1) speed 2.5(2.5)"?
 
Gibts unter Freebsd eine Möglichkeit
ASPM stellst du vorrangig im BIOS ein, default sollte das auf 'auto' stehen. Wenn die Firmware der jeweiligen Karte/des jeweiligen Gerätes und die Hardware dafür konzipiert wurde, sollte das klappen. Das gilt fürs Mainboard ebenfalls, aber da muss man im schlechten Fall schon das letzte Kackboard verwenden oder einfach Pech haben.

was die verschiedenen Level (L0s/L1) bedeuten?
höheres Level = tieferer Schlafmodus = höhere Latenz fürs Aufwecken/Verlassen des jeweiligen Modus

PS1: Was bedeutet diese Angabe: "powerspec 3 supports D0 D1 D2 D3 current D0"
Das hat mit ASPM nichts zu tun, für Serverbetrieb auch nicht relevant, da man da eh keinen Standby des Rechners hat/will. Auch wenn das als supported da steht, gehe zunächst davon aus, dass das Gerät lügt über das was es angeblich unterstützen soll (ebenso bei ASPM) oder es dann am Ende wegen eines anderen Geräts nicht klappen würde.
Wenn irgendein Gerät entweder beim Einschlafen oder Aufwachen sich ins Nirwana weghängt und das ganze System blockt, macht die Fehlersuche keinen Spaß. Die Hersteller testen das mit Consumer-Hardware oft nur unter Windows (wenn überhaupt!) mit Wintreibern, im enterprise-igen Segment ist Standby irrelevant, weil Server nie schlafen und möglichst gar keine Latenz haben sollen.

nun findet sich aber hier: "link x1(x1) speed 2.5(2.5)"?
Das bezieht sich nicht auf den RJ45, sondern auf die PCIe-Lanes, also Richtung Mainboard hin.

ich möchte unter Freebsd (>= 14) einen ernergiesparenden Server konfigurieren.
Wenn es aufs letzte Watt ankommt, fährst du mit Linux besser. ASPM ist kein Heilsbringer, eine schlafende Festplatte spart mehr ein als z.B. 3 Karten mit funktionierendem ASPM.
Onboard-Komponenten funktionieren meist, weil das aufeinander abgestimmte Komponenten sind und Hersteller nicht auf ihren Boards sitzenbleiben wollen. Steckst du aber eine Karte dazu, die ASPM gar nicht hat/will/kann (alte 10G NICs sind ein Paradebeispiel), ist es nicht nur so, dass nur die Karte dann ~2W mehr braucht, sondern sie verhindert sogar das ASPM von allen anderen Dingen, sprich das System könnte einfach so deswegen ~20W mehr nuckeln.
Da hilft es auch nichts, wenn du im BIOS forciert auf L0 oder L1 schaltest.
 
Zurück
Oben