Source-Changes archive

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

Re: CVS commit: src/sys/dev/ieee1394



In article <20060501.223750.70214822.kiyohara%kk.iij4u.or.jp@localhost>
kiyohara%kk.iij4u.or.jp@localhost wrote:

> known me too.  i.e. fxp(4), tlp(4)...
> Neither fxp(4) nor tlp(4) seem to do sync to the DMA descriptor. 

At least tlp(4) calls POSTREAD and POSTWRITE sync before
checking descriptors in tlp_rxintr() and tlp_txintr()
with TULIP_CDRXSYNC() and TULIP_CDTXSYNC(), though
as you said no PREREAD/PREWRITE sync op after it.

In fxp(4) case, RX descriptors are allocated in mbufs
(i.e. non coherent memory) so fxp_rxintr() calls PREREAD
sync op explicitly after checking RX descriptors,
otherwise it doesn't work properly on architecture
which has no DMA bus-snoop like arm. POSTREAD/POSTWRITE
sync ops are called where appropriate, I think.
(though POST* ops are no-op on most architecbures)

> > i.e. is there any benefits by removing sync ops?
> 
> I am expecting that be able to work early by this change.

Do you have any benchmark of the change? I doubt it's worth
on modern CPUs. It's much better to fix tlp(4), fxp(4) and other
drivers rather than such ineffective (and incorrect/misleading)
hack, IMHO.
---
Izumi Tsutsui



Home | Main Index | Thread Index | Old Index