Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 85 reacties
Bron: Linux Today

Op de site van Linux Today wordt melding gemaakt van een grote Athlon bug. Deze net ontdekte bug bleek niets, zoals men in eerste instantie zou denken, met de Linux kernel te maken te hebben: het probleem zit in de processor zelf. Naast de Athlon zijn er ook Duron processoren met hetzelfde euvel. Deze bug bestaat met Linux kernel 2.4 en het gebruik van een AGP videokaart. Wie regelmatig last heeft van vastlopers bij het kijken naar filmbeelden in Linux heeft misschien last van dit probleem:

AMD Athlon 4 core (klein)Here are the details. As you may know, x86 systems have traditionally managed memory using 4K pages. However, with the introduction of the Pentium processor, Intel added a new feature called extended paging, which allows 4Mb pages to be used instead.

Here's the problem -- many Athlon and Duron CPUs experience memory corruption when extended paging is used in conjunction with AGP. And, this problem hits us because Linux 2.4 kernels compiled with a Pentium-Classic or higher Processor family kernel configuration setting will automatically take advantage of extended paging (for kernel hackers out there, this is the X86_FEATURE_PSE constant defined in include/asm-i386/cpufeature.h.)

Er is een eenvoudige oplossing voor dit probleem: zet de setting 'mem=nopentium' in de Linux bootloader. Kernel hacker Alan Cox probeert nu met een nieuw stukje code in de linux kernel de bug te detecteren. Als de processor de bug inderdaad blijkt te hebben, dan zal de kernel het beheer van het virtueel geheugen aanpassen.

Met dank aan Gezmo voor de suggestie.

Moderatie-faq Wijzig weergave

Reacties (85)

'mem=nopentium'
Volgens mij ligt het dus WEL aan de kernel, want als je dit bovenste erin zet gebeurd het niet. Op zich niet raar dat een AMD een beetje anders omgaat met zijn extended paging dan een INTEL (aangezien het geen INTEL is :P)

edit:
Deze bug bestaat met Linux kernel 2.4 en het gebruik van een AGP videokaart
De AMD ATHLON bug treed echter alleen op met kernel 2.4 maar het ligt niet aan de kernel :?
Nee, het ligt aan de processor.
De functie waar de fout inzit is echter zo 'nieuw' dat hij bij de oudere kernels nog niet werd gebruikt. (Laat staan in windows XX)
De oplossing is ook: gebruik de geavanceerde optie van de pentium niet. (mem=nopentium)
Nee, het ligt aan de processor.
De functie waar de fout inzit is echter zo 'nieuw' dat hij bij de oudere kernels nog niet werd gebruikt. (Laat staan in windows XX)
De oplossing is ook: gebruik de geavanceerde optie van de pentium niet. (mem=nopentium)
Het ligt niet echt aan geavanceerde of nieuwe kernel-opties hoor. Dit is al zolang als de 2.4.X kernel er is.

Als je de kernel optimaliseert voor alles boven een pentium-classic dan zal er door de kernel gebruik gemaakt worden van extended paging. Dat is nou net de bug in de processor.

Het vreemde aan dit artikel vind ik wel dat er gezegd wordt, dat er een nieuwe bug ontdekt is, terwijl deze bug al 2 jaar bekend is. Het is alleen pas nu aan het licht gekomen, dat deze bug ook Linux systemen treft.

[edit]
overbodig?? :D
Er worden hierboven gewoon dingen gezegd die niet waar zijn, die ik even verduidelijk en dat is overbodig?

Ik heb het nog niet eens gehad over de uitspraak dat WinXX hier niet door beinvloed wordt. :/

Verder maak ik een opmerking over het artikel, die ik nog nergens heb terug gelezen.
Zoals er al staat gebeurd het met 2.4 kernel en AGP kaarten, dat betekent dat je dus wel gebruik moet maken van je AGP kaart.
Er zijn nu nog maar relatief weinig mensen die fanatiek gebruik maken van Linux EN een 2.4 kernel gebruiken EN een ondersteunde AGP kaart hebben EN ook nog eens een Athlon met deze bug.
Oja, en ook nog eens de kernel zelf gecompiled hebben met optimalisaties.

Aangezien AGP support nog erg primitief is zullen veel mensen de crashes niet gelinked hebben aan de processor, maar gewoon aan de kernel.

Blijkbaar is er nu iemand geweest die het als nieuws door de queue van een nieuwssite heeft gekregen.
Zoals er al staat gebeurd het met 2.4 kernel en AGP kaarten, dat betekent dat je dus wel gebruik moet maken van je AGP kaart.
Er zijn nu nog maar relatief weinig mensen die fanatiek gebruik maken van Linux EN een 2.4 kernel gebruiken EN een ondersteunde AGP kaart hebben EN ook nog eens een Athlon met deze bug.
Oja, en ook nog eens de kernel zelf gecompiled hebben met optimalisaties.
Alleen dat laatste is een vallide argument, omdat een kernel standaard met agpgart support wordt gecompileerd. Dit moet je specifiek uitzetten! Het betekent dat allen distro's die ik ken (zijn er toch aardig wat), daar gewoon mee gecompileerd worden.

Daarnaast zal juist de gamer onder Linux iemand zijn die zijn kernel zal optimaliseren. Dan heb ik het nog niet eens over een distro gehad die al bijvoorbeeld standaard geoptimaliseerd geleverd wordt voor een bepaalde cpu. Er zijn sowieso heel wat mensen (gamer of non-gamer) die hun kernel optimaliseren en dan kan je dus tegen bovengenoemde problemen aanlopen.
Aangezien AGP support nog erg primitief is zullen veel mensen de crashes niet gelinked hebben aan de processor, maar gewoon aan de kernel.
:? Hoe kom je erbij dat AGP-support primitief is? Het is er al zolang als AGP er is in Linux. Het is er in de vorm van de kernels agpgart of in de vorm van een vendor's eigen agp-driver.
Dus fanatieke Linux gamers !
Waarvan er ook best wel wat zijn ....
of tweakers die ook Linux draaien
Het ligt volgens mij niet aan de kernel, de regel die jij hier quote, zegt alleen maar dat de CPU geen Pentuim class CPU is, dus dat hij geen Pentium compatible core gebruikt.

Alleen gebruikt de Athlon dat dus wel, aangezien de CPU volledig x86 compatible is.

Veel bedrijven gebruiken de naam Pentium nou eenmaal in hun programma's en om aan te geven welke CPU er minimaal vereist is of welke CPU er gebruikt wordt.. Bij de systeemeisen zie je toch ook vaak "Pentium compatible CPU" staan.
De AMD ATHLON bug treed echter alleen op met kernel 2.4 maar het ligt niet aan de kernel
Het kan best zo zijn dat de 2.4 kernel de eerste kernel is die de Athlon op een bepaalde manier benaderd en wel zo dat voor het eerst deze "bug" naar voren komt.

edit:

Verder is deze bug niet echt problematisch, er bestaat dus al een workaround. Verder kan het natuurlijk niet anders dan dat de CPU's bepaalde bugs of rare feature's hebben, het is en blijft voorlopig nog wel mensenwerk en waar gewerkt wordt, worden fouten gemaakt. De CPU is nou eenmaal een ingewikeld stukje zand.
Dit ligt dus niet aan de kernel zelf, want:
Here's the problem -- many Athlon and Duron CPUs experience memory corruption when extended paging is used in conjunction with AGP.
De Athlon en Duron ondersteunen dus wel extended paging. Echter, door een bug in de processors krijg je memory corruption door het gebruik van extended paging en AGP. Aangezien de kernel dus (terecht) probeert gebruik te maken van extended paging, krijg je door die bug in de processor vastlopers.

Dat je de bug niet ervaart door de optie "mem=nopentium" te gebruiken, wil niet zeggen dat de kernel de oorzaak is, maar dat je zo de bug in de processor vermijdt.

En dat AMD anders omgaat met extended paging dan Intel is hier niet het geval, het is blijkbaar gewoon een bug in de extended paging.
De AMD ATHLON bug treed echter alleen op met kernel 2.4 maar het ligt niet aan de kernel
Het kan toch ook zijn dat de kernel code gewoon klopt. Alleen dat die code in sommige situaties gewoon op die bug stuit. Dan ligt het dus niet aan de kernel en toch aan de proc.
Mem=nopentium is een workaround.

edit /beaves was eerder, mijn verhaal kan weg.
Fortunately, there is a quick and easy fix for this problem. If you have been experiencing lockups on your Athlon, Duron or Athlon MP system when using AGP video, try passing the mem=nopentium option to your kernel (using GRUB or LILO) at boot-time. This tells Linux to go back to using 4K pages, avoiding this CPU bug. In addition, it should also be possible to avoid this problem by not using AGP on affected systems.

Dus het ligt aan de manier van paging.....

edit: wow wat zijn jullie snel hierboven :)
Hmm, ik kom niet op www.gentoo.org/ waar de het hele verhaal op zou moeten staan :?
Werkt hier ook niet helaas, daarom dus niet meer details in deze nieuwsposting.....
Ik denk niet dat AMD jou een nieuwe proc gaat geven. Er wordt blijkbaar al een patch voor linux geschreven en misschien ook voor windows (als deze er last van heeft?) ?
Er wordt blijkbaar al een patch voor linux geschreven en misschien ook voor windows (als deze er last van heeft?) ?


Windows 2000 heeft er ook last van, maar daar is de bug al veel eerder ontdekt (september 2000) en AMD had al meteen voor windows 2000 een patch geschreven. Pas nu werd duidelijk dat het probleem zich ook voordoet onder linux.
even de meest voor de hand liggende route op AMD site volgen (Suppert -> Utilities drivers patches updates -> CPU's) doet wonderen.

http://www.amd.com/us-en/assets/content_type/utilities/largePageMinimu m.reg
Waar staat die patch? Dit verklaart die irri vastlopers onder OpenGL applicaties (halflife, URT).
Hier het relevante stukje van de mailinglist, gentoo.org is inderdaad vaak down / onbereikbaar.

daniel Robbins
When testing this kernel, I experienced a problem with my hardware-accelerated NVIDIA drivers where my system would lock up whenever I started a multithreaded* OpenGL application. I was able to work around this problem by typing 'export _GL_SINGLE_THREADED="yes"' before starting the program from the shell. However, I of course wanted
to be able to use NVIDIA's OpenGL implementation in all its multithreaded glory. Fortunately, I was able to reach Terrence Ripperda from the NVIDIA Linux driver team. He didn't have a solution but did mention that there quite a few Athlon CPUs have a particular bug where the Athlon will corrupt memory if it is using 4Mb page tables with AGP. He said that you could tell the kernel to *not* use 4Mb page tables by
passing the 'mem=nopentium' option to the kernel at boot-time, ie via GRUB. I tried this and my problems completely disappeared. I immediately contacted some kernel developers, and now Alan Cox and Terrence are going to try to track down this particular bug and add support for autodetecting it to the Linux kernel.

Microsoft seems to have discovered this bug, too. See: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q270715 Their fix involves changing the default page table size (preventing a big page table) by tweaking the registry.
Die site is 'slashdotted' zoals dat wordt genoemd.

Dat betekent zoveel als dat wanneer een site op slashdot.org wordt genoemd, er zoveel verkeer naar zo'n site wordt gegenereerd dat die vastloopt...
Wat overigens een hele eer is, tweakers.net is het weleens overkomen toen ze de primeur om de intel Itanium te mogen testen hadden :)
And, this problem hits us because Linux 2.4 kernels compiled with a Pentium-Classic or higher Processor family kernel configuration setting will automatically take advantage of extended paging
Of te wel een bug in de kernel omdat men er vanuit gaat dat AMD Athlon/Duron dezelfde implementatie heeft van deze instructie als de Pentium chip. Het zou goed kunnen dat men bij het ontwerp van de "extended paging" in de athlon/duron niet helemaal strak heeft gehouden aan de norm, maar misschien ligt het ook gewoon aan de kernel.

Zelfde idee als zeg maar heel simpel, zijn je kleren te klein of ben jij te groot, waar leg je de schuld. Hier doet men dat bij de cpu maar kan net zo goed aan de aanroep van deze functie liggen.
AMD geeft aan dat de Athlon een Pentium (II) compatible chip is qua interface (en dan praten we over de instructieset), maar voldoet daar door die bug dus niet volledig aan. Dan moet je maar niet aangeven dat je Pentium (II) compatible bent. Dit is hoe je het went of keert gewoon simpelweg een fout van AMD en niet van de programmeurs van de kernel.
Even over dat voorbeeld van die kleren, het is zelfs nog leuker.

Als die kleren te klein zijn gaat je moeder nog eens zeuren dat toen je broertje ze pastte in de winkel ze wel goed zaten en dat ze nu te klein zijn omdat jij ze niet past.

Het probleem is dat de Pentium en de Athlon families over de jaren uiteen zijn gegroeid. Het manifesteert zich hier doordat een optimalisatie voor de ene proc gezien wordt als een bug voor de andere.

Om op de kleren terug te komen. De kleren zijn niet te klein, jij bent niet te groot, maar jij bent gewoon niet je broertje.
Quote van Linux Kernel mailinglist:
"David S. Miller" wrote:

> The funny part is, if this published errata is the problem, it cannot
> be a problem under Linux since we never invalidate 4MB pages. We
> create them at boot time and they never change after that.

Well we don't know what nvidia's kernel module is doing.....
Dan zou het probleem dus zitten in de combinatie Athlon/Nvidia linux module?
Dat kan inderdaad goed kloppen... zelf heb ik ook linux geinstalleerd en ik ben behoorlijk wat patches verder sinds m'n installatie.. gewoon voor m'n GF2 MX mooi aan het lopen te krijgen...

Heb er wel nog nooit een hanger mee gehad.. maar daarom heb ik ook geen athlon
"Heb er wel nog nooit een hanger mee gehad.. maar daarom heb ik ook geen athlon"

Na ja, waar slaat dat nou op. Ik draai al heel lang 2.4 op m'n TB1200.
Ik kijk veel films (gna gna :P) maar mijn machine hangt echt nooit !.
wilde aangeven dat ik dat specifieke probleem nog niet gehad heb.. omdat ik zelf ook linux gebruik en een gf32 mx kaart heb. Maar ik heb wel andere problemen gehad..

Heb je het artikl eigenlijk wel gelezen??? ze vragen zich af of het door de athlon komt of iets anders.. En volgens mij is het niet de combo linux - nvidia..
Yep, hep ik gelezen. Ik reageerde omdat je bericht overkomt alsof je geen AMD hebt (wel een Intel) vanwege "hang" problemen met sommige AMD's.

En je begon zelf over je Nvidia chip-based kaart ;)
Ik vraag me eigenlijk af, of je wel van 'n bug kunt spreken. Om ome Bill maar ff te quoten; "this is not a bug, but a feature" :) Het lijkt me iig dat die 4K pages toch al heel lang bekend moeten zijn bij div. programmeurs.
Wat ik me ook afvraag, of je door deze workaround 'mem=nopentium' niet meerdere dingen in je CPU uitschakeld.
Memory corruption bij het gebruiken van paging geen bug? Hoe wil je het wel noemen dan? Als de K7 het nou gewoon niet ondersteunde ofzo.. Bij progammeurs was ie dus kennelijk nog niet zo heel bekent (bij de developers van de linux kernel in ieder geval niet kennlijk). Dat komt ook omdat je als gewone progammeur er vrij weinig mee te maken hebt. Je alloceert geheugen via de kernel en kennelijk in sommige situaties gebruikt de 2.4 kernel page sizes van 4MB ipv 4K en dan gaat het in sommige situaties fout.. geen kleine bug hoor.

Ben nou beniewd wat de performance hit is van het uitzetten van deze feature (zowel specifiek alleen deze feature als de workaround die nu gebruikt wordt)..
Het scheelt behoorlijk in snelheid ja, dan kan je net zo goed op een 486 draaien.
Ik denk dat deze bug niet zo'n groot probleem is. Hij komt namelijk maar in een paar enkele gevallen voor. En de mensen die er last van hebben kunnen hem zo omzeilen.

Ik vraag me alleen af of deze bug ook tevoorschijn kan komen bij andere operating systems.
De patch voor Windows (2000) is al sinds september 2000 uit.
Ja dus :9
ik snap nu de titel niet meer.. brengt bug in AMD aan het licht.. in sept 2K was de patch voor windoos al uit? dan heeft windoos hem toch aan het licht gebracht?
Jawel, maar toen hebben ze het naar buiten gebracht als fout in Windows 2000 icm de CPU.
Nu blijkt het dus om een hardware fout te gaan.
Ja en dan weet je niet waarom ie vast loopt nee das lekker :*)

Als er een Bug zit in een AMD dan maakt het dus niet uit of je linux of windows draait...... |:(

Alleen in linux verander je dus je kernel gewoon.
En bij windows zal je moeten wachten op een patch van onze vriend billy 8-)
Wie weet heb je er in Win95/85/ME ook last van, maar door de bomen zie je daar het bos niet,..?
}>
Niet mee eens.
Ik draai op Win2000 Prof en krijg ook veel vastlopers bij het afdraaien van films. Heeft naar mijn mening te maken met DivX3 samen met DivX4.
Vindt het zelf ook vreemd, maar toch hangt het bij mij regelmatig.
Ofwel dit doet zich alleen voor bij kernels die geoptimaliseerd zijn voor een Pentium2 of hoger. Voor zover ik weet geldt dit voor geen enkele standaard kernel in welke distributie dan ook. Dus zoveel effect zla het niet hebben, tenzij je dus zelf een geoptimaliseerde kernel hebt gebakken.
Er staat toch duidelijk in het stukje 'Pentium classic or higher' ? Waarom kom je dan met een Pentium II aanzetten ?
Gentoo is een zelfcompileer distributie dus is het voor gentoo wel relevant. Het is meer voor de hobyist bedoeld, die dus ook meer geneigd is om de nvidia drivers te installeren (veel sneller)
Ik heb XP professional draaien en wanneer ik films (DVD) met hardware accelleratie kijk (heb een asus 7100) of als ik een spel speel met hardware accelleratie dan krijg ik na een tijdje een blauw scherm er reboot XP.

Ik weet het niet maar dit lijkt heel erg op het zelfde probleem.

PS ik heb athlon thunderbird
Ik denk dat je jouw probleem moet zoeken in de drivers voor je Asus 7100 kaart. Deze fout is namelijk al opgelost in Windows 2000 dus het lijkt me sterk dat die er in Windows XP weer in zou zitten
Inmiddels gebruik ik de standaard drivers die in XP zitten, maar ik heb zowel nvidia als Asus drivers geprobeerd, echt bijna allemaal (sommige beta drivers niet). En ze werken in ieder geval niet beter dan de standaard drivers en geven hetzelfde probleem.
kom ik aan met mijn thunderbirdje 800 gf2 mx op 811 3dmarks in 3dmark 2001 met de standaard drivers. ga ik toch niet mee akkoord. de nvidia drivers presteren beter. rond de 2100 3dmarks.
Wat loopt toch iedereen hier moeilijk te doen.
AMD heeft gewoon niet doorgegeven dat ze niet helemaal hetzelfde qua paging werken als de Pentiums en dat wisten ze al heeeeeel erg lang. (eind 2000?) En met foute specs kun je onmogelijk een kernel bouwen die goed werkt.

Stoute AMD!

Of men heeft gewoon niet goed gekeken wat AMD heeft gepubliceerd. Dan ligt de zwarte piet toch echt bij die personen.

En net zo als met buggy bios versies, gewoon patchen en klaar is Kees (of Klaartje).

Wat ik wel hoop is dat de XP's het niet hebben want me dunkt dat ze tijd lang genoeg hebben gehad om de mensen te laten weten dat het niet goed werkt of dat ze de hardware moesten aanpassen zodat het allemaal goed moet gaan.

* 786562 wouter
Wat loopt toch iedereen hier moeilijk te doen.
AMD heeft gewoon niet doorgegeven dat ze niet helemaal hetzelfde qua paging werken als de Pentiums en dat wisten ze al heeeeeel erg lang. (eind 2000?) En met foute specs kun je onmogelijk een kernel bouwen die goed werkt.
Dat is niet waar. De Athlon is volgens AMD Pentium Pro compatible qua instructieset, maar dankzij deze bug dus niet. Als jij het ziet als dat AMD dat niet heeft doorgegeven dat ze iets anders werken, dan moeten ze hun chip maar niet verkopen als Pentium Pro compatible.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True