Die aktuellen Prozessoren ab dem Intel Pentium unterstützen ein Features namens PSE, Page Size Extension. PSE erlaubt es einem Betriebssystem, Treiber oder Programm auf Pagegrößen im RAM zuzugreifen, die größer sind als die Standard-Page Größe, üblicherweise 4 KB. Der Athlon unterstützt wie alle x86-Prozessoren ab dem Pentium auch Page-Sizes von 4M Größe. Vorteil dieser Pageverwaltung ist ein niedrigerer Verwaltungsaufwand. Insbesondere Grafikkarten-Treiber, die auf große zusammenhängende Speicherbereiche zugreifen müssen, profitieren stark von PSE.
Nun ist jedoch die Verwendung von PSE auf Athlon- und Duron-Maschinen in der Vergangenheit heikel gewesen. Unter Windows 2000 konnte es etwa im Zusammenspiel mit nVidia-Treibern zu Freezes bei der Verwendung von Page Size Extension kommen, während WinXP damit problemlos zurecht kommt. Daher gibt es auch einen Patch für Windows 2000, der bei uns in den Files heruntergeladen werden kann. Auch die Unterstützung durch die Linux-Kernel kam dadurch zwischenzeitlich ins Stolpern (wir berichteten).
Nun jedoch gibt es frisch für den Kernel 2.4.19 einen Patch von Naohiko Shimizu, der die Verwendung von Extended Pages mit diesem Kernel auch auf Athlon-Prozessoren stabil ermöglicht. Hier die Fixliste der letzten Patch-Versionen:
0815: Workaround with Athlon problems.
0814: Correct TLB populate routine for i386. I forgot to pass mm struct, and it may prevent SMP to work.
0810: New patch(020810 version) seems to work on i386 too. Call for testers. The performance boost on IA32 needs very large working set compared to the Alpha or Sparc64 ports. You can see them with transw.c benchmark with vm_align turned on.
[..] Athlon 4MB TLB bug workaround added. If you set the cpu type as K7 in the configuration, and turn on the super page, you will see the workaround check box just below the super page. Turning on, the kernel will not use invlpg instruction that is reported buggy in some Athlon processors. And some Athlon processors does not have pse bit but only pse36 in the cpu feature. It makes Linux confusing and I correct it by checking both bits
Diesen Artikel bookmarken oder senden an ...