Re: Direct card to card transfer

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

 



On Mon, Nov 29, 2010 at 04:48:50PM -0500, Nikolaus Rath wrote:
> > You'll have to go to kernel space, but yes, it's possible.  Not all
> > chipsets support this functionality (peer to peer transfers) efficiently,
> > and it may be more efficient for you to write to host memory and then
> > read from host memory.
> 
> My main concern is latency. Input + processing (by the GPU) + output of
> a data set should take in the order of 20 us, so my feeling is that I
> should rather avoid the host memory.
> 
> Can you tell me how to find out if a given chipset has the required
> functionality? Is there a technical term for that I could look for in
> the specs, or is it reported somewhere in /sys or /proc when I have
> installed the card?

Most chipsets don't talk about peer-to-peer transfers.  It's something
you'll have to try and see.

> >> I already found out that I can connect the PXI bus to either the PCI or
> >> PCI Express bus of the host computer using a bus extender. Is there a
> >> difference between these two variants as far as communicating with other
> >> PCIe cards is concerned?
> >
> > It depends very much on the chipset involved.  It probably doesn't
> > make a big difference since you'll be going through a PCI<->PCIe bridge
> > either way.
> 
> Ah, so if the chipsets of the two cards support device to device
> transfers, then it will be possible no matter how I join the buses?

It's up to the chipset on the motherboard ... there's not usually an
issue with the individual cards involved.

> Wouldn't the pxi -> bus extender -> pci -> bridge -> PCIe path involve
> more latency than the pxi -> bus extender -> PCIe path?

Ah, I didn't realise what a PXI card was ... here's how I understand
the two options you have:

root complex --> PCIe extender --> PXI card
root complex --> PCIe-PCI bridge --> PCI extender --> PXI card

There's a PCIe-PCI bridge involved in both cases, but there's one fewer
bus segment involved if you're using the PCIe extender card.

> > The latency will all be in the setup.  You only want to transfer 180
> > bytes, and even the 33MHz, 32bit PCI bus can transfer that much data
> > in under two microseconds.
> 
> Yes, that's what I expected. But what is a reasonable time for the
> setup? 

Hard to say; you need to figure out how the capture card is going to
notify the processing card that there's new data to be processed.

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux