Hallo,
Ik heb een vraagje betreffende het alloceren van dma-geheugen voor een PCIe device in linux 64bit. Ik zou graag willen weten op welke CPU / Memorycontroller het dma-geheugen gealloceert wordt in een multiprocessor systeem. Daarnaast zou ik graag willen weten of ik de allocatie van dit geheugen kan beinvloeden en of het mogelijk is om de lokatie van dit geheugen in fysiek geheugen bij een andere CPU neer te leggen.
Het systeem wat ik gebruik heeft twee Intel Nehalem processoren aan boord die via de intel quick path interconnect [QPI] bus verbonden zijn. Beide processoren hebben 3GB DD3 RAM geheugen in hun memorybank. Verder hangt er aan de QPI bus nog een tylersburg IO hub die de PCIe addressering regelt.
Op dit systeem draai ik een 64 bit linux kernel op dit moment 2.6.26, het PCIe device wat ik aan wil spreken kent alleen 32 bit adressering. Voor maximale performance wil ik weten waar en hoe ik het dma-geheugen bij een bepaalde processor neer leg.
Samenvattend:
-1- Hoe kan ik weten waar dma-geheugen gealloceerd wordt in het fysieke geheugen
-2- Hoe en is het mogelijk om de allocatie te beinvloeden en zodoende te kunnen bepalen bij welke CPU dit geheugen gealloceerd wordt.
Ik hoop dat ik de vraag op de goede plek stel, zo niet weet iemand waar ik deze vraag wel kan/mag stellen.
Alvast bedankt,
Ik heb een vraagje betreffende het alloceren van dma-geheugen voor een PCIe device in linux 64bit. Ik zou graag willen weten op welke CPU / Memorycontroller het dma-geheugen gealloceert wordt in een multiprocessor systeem. Daarnaast zou ik graag willen weten of ik de allocatie van dit geheugen kan beinvloeden en of het mogelijk is om de lokatie van dit geheugen in fysiek geheugen bij een andere CPU neer te leggen.
Het systeem wat ik gebruik heeft twee Intel Nehalem processoren aan boord die via de intel quick path interconnect [QPI] bus verbonden zijn. Beide processoren hebben 3GB DD3 RAM geheugen in hun memorybank. Verder hangt er aan de QPI bus nog een tylersburg IO hub die de PCIe addressering regelt.
Op dit systeem draai ik een 64 bit linux kernel op dit moment 2.6.26, het PCIe device wat ik aan wil spreken kent alleen 32 bit adressering. Voor maximale performance wil ik weten waar en hoe ik het dma-geheugen bij een bepaalde processor neer leg.
Samenvattend:
-1- Hoe kan ik weten waar dma-geheugen gealloceerd wordt in het fysieke geheugen
-2- Hoe en is het mogelijk om de allocatie te beinvloeden en zodoende te kunnen bepalen bij welke CPU dit geheugen gealloceerd wordt.
Ik hoop dat ik de vraag op de goede plek stel, zo niet weet iemand waar ik deze vraag wel kan/mag stellen.
Alvast bedankt,