Mobile and Desktop Processors
Intel® Core™ processors, Intel Atom® processors, tools, and utilities

RAM to RAM DMA

JJohn51
초보자
6,106 조회수

Does any Intel Gladden Ivy Bridge supports RAM to RAM DMA?

How I can determine support of that technology by my CPU from Linux OS?

9 응답
ЕИльч
초급자
3,511 조회수

I have the exact the same question. This is a very poorly covered in available documentation.

0 포인트
CCris2
새로운 기여자 II
3,511 조회수

Hi,

I think found something that can help you determine if it does or not support : http://stackoverflow.com/questions/37766230/how-to-transfer-data-via-dma-from-ram-to-ram linux - How to transfer data via DMA from RAM to RAM? - Stack Overflow

From what I know all Intel CPUs should support it as is a very common operation.

0 포인트
idata
직원
3,511 조회수

Hello, All:

Ronin thank you for your input.

Ficus, could you please provide me with your processor model?

Regards,

Amy.

0 포인트
idata
직원
3,511 조회수

Hello, /thread/105465 Ficus:

I just wanted to check on your thread; did the previous input solve your inquiry? If you still require assistance please let me know.

Regards,

Amy.

0 포인트
JJohn51
초보자
3,511 조회수

Hello,

No problem didn't solved. It's CPUINFO output

processor : 0vendor_id : GenuineIntelcpu family : 6model : 86model name : Intel(R) Xeon(R) CPU D-1527 @ 2.20GHzstepping : 3microcode : 0x700000ccpu MHz : 2194.870cache size : 6144 KBphysical id : 0siblings : 8core id : 0cpu cores : 4apicid : 0

initial apicid : 0

fpu : yes

fpu_exception : yes

cpuid level : 20wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdt scp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc ap erfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb xsaveopt pln pts d therm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 sm ep bmi2 erms invpcid rtm rdseed adx smapbogomips : 4389.74clflush size: 64

cache_alignment : 64

address sizes : 46 bits physical, 48 bits virtual

power management:

processor : 1vendor_id : GenuineIntelcpu family : 6model : 86model name : Intel(R) Xeon(R) CPU D-1527 @ 2.20GHzstepping : 3microcode : 0x700000ccpu MHz : 2194.870cache size : 6144 KBphysical id : 0siblings : 8core id : 1cpu cores : 4apicid : 2

initial apicid : 2

fpu : yes

fpu_exception : yes

cpuid level : 20wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdt scp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc ap erfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb xsaveopt pln pts d therm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 sm ep bmi2 erms invpcid rtm rdseed adx smapbogomips : 4389.74clflush size: 64

cache_alignment : 64

address sizes : 46 bits physical, 48 bits virtual

power management:

processor : 2vendor_id : GenuineIntelcpu family : 6model : 86model name : Intel(R) Xeon(R) CPU D-1527 @ 2.20GHzstepping : 3microcode : 0x700000ccpu MHz : 2194.870cache size : 6144 KBphysical id : 0siblings : 8core id : 2cpu cores : 4apicid : 4

initial apicid : 4

fpu : yes

fpu_exception : yes

cpuid level : 20wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdt scp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc ap erfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb xsaveopt pln pts d therm tpr_shadow vnmi flexpriority ept ...
0 포인트
CCris2
새로운 기여자 II
3,511 조회수
0 포인트
JJohn51
초보자
3,511 조회수

Ronin,

That test didn't work, because there aren't any visible DMA channels (folder /sys/class/dma/ is empty). I don't know how to determine, it's hardware doesn't support that DMA type or driver doesn't work properly (ioatdma driver was insmoded)

0 포인트
CCris2
새로운 기여자 II
3,511 조회수

Ok, I checked why is not working and I think that they changed the kernel and each device has it's own dma channel, assigned dynamically. I think only if you have an old device that uses old dma style will show a dma channel in that directory.

They changed the way memory is assigned, because before, each device driver was build with some default memory allocations (assigned by the driver developer), and because of that 2 devices could end up using the same memory space and BSOD . Now the kernel takes care of that.

There are some benchmarks that show you the transfer speed memory to memory, and the speed is the same as you were copying something from memory or on the memory and I think that operation is done internally, using only the memory controller.

0 포인트
idata
직원
3,511 조회수

Ronin again thank you for your input, and let's hope this can help /thread/105465 Ficus.

 

Regards,

Amy.

0 포인트
응답