Re: DMA reordering possible ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



http://www.mjmwired.net/kernel/Documentation/DMA-mapping.txt

2010/1/29 yogeshwar sonawane <yogyas@xxxxxxxxx>:
> Hi all,
>
> Following questions can be of naïve nature. Kindly, help me to clarify
> the points.
> Thanks in Advance.
>
> 1) Consider a situation where a PCIe device has requested a DMA Write
> operation followed by an MSI based interrupt. Upon receiving the
> interrupt, the software will read/check the DMAed data. Now, even if
> the device is guaranteeing the ordering between the two (issuing one
> after the other), whether the I/O controller OR chipset can
> reorder/buffer them? This may result into getting interrupt before the
> data is DMAed resulting into software reading invalid data. Here data
> is residing into internal buffers of I/O controller and CPU is trying
> to read from memory. Whether such DMA reordering can happen/is allowed
> at all? Whether I/O controller can employ such intelligence(any kind
> of DMA reordering) for gaining some performance advantage? Mainly,
> focus is on high-end server class platforms having 8 or 16 cores with
> many peripherals.
>
> 2) If above situation is at all possible, then to avoid such situation
> is the responsibility of the device or the driver for that device?
> Mainly, both the components (device and driver) expected to be generic
> in nature (platform, I/O controller independent).
>
> 3) In continuation, if driver has to handle such situations, then how
> to handle such cases in Linux device driver? Any API is there for
> pending DMA flush/sync in I/O controller? I am aware of rmb(), wmb() &
> mb() which ensures ordering from CPU side i.e. slave read/writes.
> Anythings similar for DMA operations ?
>
> Kindly, update me if i am missing something.
>
> Any info,link or reference will be of great help.
>
> Thanks and Regards,
> Yogeshwar
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>



-- 
Best Regards
Lin

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux