Welche CPUs unterstützen 1 GB Seiten?

19

Einige Intel-CPUs unterstützen 1-GB-Seiten. Dies wird durch Betrachten von CPUID 0x80000001, EDX-Bit 26 identifiziert . Der Linux-Kernel macht dieses Via /proc/cpuinfoals pdpe1gbFlag verfügbar .

Wo finden wir heraus, welche CPUs dies unterstützen und welche nicht? Oder welche Produktlinie unterstützt diese Funktion? Auf diesen Intel ARK-Seiten gibt es keine Hinweise auf die Unterstützung dieser Funktion.

CPUs, die 1 GB Seiten unterstützen:

Andere CPUs, die keine 1-GB-Seiten unterstützen:

Jonathon Reinhart
quelle
1
Verwandte Themen
Jonathon Reinhart

Antworten:

4

Nach dieser Seite :

Zusätzlich zu den 4-KB-Standardseiten können neuere x86-64-Prozessoren, wie AMDs neuere AMD64-Prozessoren und Westmere- Prozessoren und neuere Prozessoren von Intel, im Langzeitmodus 1-GB-Seiten verwenden

Scheint wahr zu sein, da es ein neues Feature von Westmere- CPUs war.

Viacheslav Rodionov
quelle
5
Ja, ich habe mir definitiv alle diese Wikipedia-Seiten angesehen! Diese Antwort ist jedoch nicht korrekt. Sandy Bridge ist neuer als Westmere, und ich habe jetzt zwei Sandy Bridge-CPUs, die dies nicht unterstützen.
Jonathon Reinhart
2
@ JonathonReinhart: der große Nachteil von Hugepages für den allgemeinen Gebrauch, insb. 1G-Seiten bedeutet, dass die gesamte riesige Seite so viel physischen Arbeitsspeicher belegt. Wenn ein Prozess normalerweise 1 GB zuweist, belegen nur die Teile, die er jemals berührt hat, tatsächlich virtuellen Speicher. (Overcommit ermöglicht sogar Zuweisungen, für die der Kernel nicht genügend Swap-Speicherplatz zur Verfügung hat). Linux kann riesige Seiten nicht auf die Festplatte übertragen, auch wenn ein Prozess gestoppt ist. Eine große Seitenzuweisung blockiert / sperrt also effektiv so viel physischen Speicher.
Peter Cordes
1
2M hugepages machen Sinn , wenn sie nicht halb leer gelassen werden (zB wenn Sie sicher wissen , dass Sie werden alle 4k der 2M sowieso schreiben zu gehen), aber es fehlt der Paging eine große Sache ist. Es ist keine gute Idee, Allzweck-Software so zu entwickeln, dass sie auf speicherbeschränkten Desktops schlecht funktioniert. Ich glaube nicht, dass Sie eine Datei auf einer Festplatte mit 2M riesigen Seiten mmappen können, aber es wäre eine schlechte Idee für ausführbare Dateien, da in einem 2M-Block einige 4k-Seiten vorhanden sind, die nicht berührt werden. Diese können aus dem Pagecache entfernt werden (vorausgesetzt, sie wurden vorab abgerufen), wodurch RAM freigegeben wird.
Peter Cordes
1
Bei aktuellen CPUs mit mehrstufigen TLBs ist die Gesamtzeit, die für TLB-Ausfälle aufgewendet wird, wahrscheinlich nicht allzu schlecht, oder? Ich habe keine großen Sachen wie Firefox profiliert. Es würde mich interessieren, eine lesbare Zusammenfassung darüber zu sehen, wie viel Zeit TLB-Ausfälle (insbesondere Seitenwechsel) und solche Dinge wie L1-I-Cache-Ausfälle kosten. Ich weiß, ich könnte nur darauf zeigen perf... Selbst wenn Sie 2 Millionen riesige Seiten für Firefox verwenden wollten, würde ich vermuten, dass viele interne Daten in kleineren Blöcken als diesen zugeordnet sind. Die Minimierung der externen Fragmentierung von Zuweisungen in einem riesigen Seitenpuffer wäre mit einem Mehraufwand verbunden.
Peter Cordes
1
TLB-Fehler sind bei Operationen mit hohem Arbeitsspeicher und wahlfreiem Zugriff, wie z. B. vielen Datenbankanwendungen, teuer. Riesige Seiten machen einen signifikanten Unterschied - aber selbst dort geht es um 2 MB Seiten, nicht um 1 GB. Das Betriebssystem ist der wahrscheinlichste Benutzer von 1-GB-Seiten durch direkte Zuordnung des gesamten physischen Adressraums.
GreenReaper