Hello,
We have the following question regarding the (re-)allocation of dma-able memory for a PCIe device. We want to know on which CPU / Memory controller the dma-able memory will be allocated. In addition we would like to know how we can control this allocation process, or how to reroute it to another CPU / Memory controller.
The system we use contains two Nehalem processors connected via intel QPI bus. Both processors have 3GB of DDR3 RAM in their memory banks. The PCIe bus is controlled by a tylersburg io hub which is also connected to the intel QPI bus
The system runs a 64bit linux kernel. Furthermore a PCIe device which can only use 32 bit addressing is connected to the PCIe bus. We want to allocate dma-able memory for this device using a driver. For maximal performance we would like to control the allocation of dma-able memory, in particular the allocation to a certain CPU / memory controller.
So our questions are:
-1- How can we know were our dma-able memory is allocated in physical memory?
-2- How can we control / redirect this allocation to a certain memory controller / CPU?
In this context CPU is the physical CPU not a logical one.
Best regards,
robvoo