Re: [RFC v2 1/2] PCI-Express Non-Transparent Bridge Support

From: Jianbin Kang
Date: Mon Jul 30 2012 - 23:35:28 EST


> I've tried to make it all generic enough that non-Intel NTBs should plug in with
> minimal changes to ntb_hw.c. If their design is too divergent, then a slight
> redesign of ntb_hw.c might be necessary. But from what I've seen of other
> designs on the internet, they appear to be extremely similar. The transport and
> client drivers were written with the hardware abstracted away as much as
> possible to prevent the need to modify it for different hardware. If there is
> anything which is Intel hardware specific, I'd be happy to change it to make it
> more generic.
In ntb_process_tx(), ntb uses hard-coding 'memcpy_toio' to copy data
to remote.
Is it better to provide a function pointer like 'tx()' and call qp->tx().
memcpy_toio is a slow operation. Some hardware can setup a dma
transfer and wait.

IMHO, the best way is to handle tx in async mode. But it requires
lots of modification.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/