Re: AllocateCommonBuffer slow on AMD Opteron



I may be barking up the wrong tree, but it could be that kernel-side
physical memory is too fragmented at the time you allocate the buffer.
I had a similar problem in my driver - I need huge dma areas for my 3D
volumes, but I don't use AllocateCommonBuffer - and sometimes things
would get pretty slow because the OS would take quite a while to
marshall the required contiguous memory.

What I do is, I allocate a large (tens of megabytes) slab of
contiguous physical memory at driver initialization time. I
suballocate my contiguous memory from that slab. The performance
problem is gone!

Alberto.



On Mar 13, 7:20 am, Olivier <o.anto...@xxxxxxxxxxxxxxxxxxxxxxxxx>
wrote:
Hello,

I am developing drivers for a PCI Express device and - for performances
reasons - I have to allocate quite huge (~8MB) DMA buffers. I know, this is
not the recommended method but in my case I do not have any other choice.

While everything goes very well on Intel processors, I encounter systematic
system freezes for 2-5 seconds during execution of AllocateCommonBuffer on
AMD Opteron machine.

Any idea why?

Thanks,

Olivier

.



Relevant Pages

  • Re: "delete" does not release memory to the system
    ... What does the camera driver do with the buffer? ... GlobalMemoryStatus to check and see that the available physical memory ... be released to the system, the next time I try to allocate it, there is ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Kernel: /dev/ram1 (rd.c) not releasing unused memory automatically any more?
    ... >> does not allocate physical memory at allocation time. ... disk never gets to see the writes to buffers that are aimed at the IDE ...
    (comp.os.linux.misc)
  • Re: variables in memory
    ... > If I declare a variable, will the system allocate physical memory for ... physical memory is only allocated the first time you access a variable. ...
    (comp.os.linux.development.apps)
  • RE: [Lhms-devel] RE: memory hotremove prototype, take 3
    ... >> address without needing to do anything more than allocate a page frame ... > assume physical memory address is not changed. ... I still think we could use the CPU's virtualization mechanism--of course, ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Oracle memory allocation on Linux 2.6
    ... With the latest Linux kernels, things have gotten hard to tune ... regarding the SGA/PGA we can allocate. ... SGA locking is not possible (or rather not advised by Oracle ... support) and it is really difficult to check how much physical memory ...
    (comp.databases.oracle.server)

Quantcast