I have access to a bus analzyer now, and am starting to look at the pxi-6281 analog output dma performance problem. What I see is, with my driver under linux, the pxi-6281 is transferring the analog output data with pci "memory read multiple" commands and not doing any bursts. In contrast, with the same board under windows with the NI driver, it does "memory read" commands with typically 8 cycle bursts.
Also, when I look at a pxi-6713 in the same crate as the pxi-6281 (and also using my linux driver) it does "memory read" commands with 8 cycle bursts. So what is different about the m-series board which would make them do "memory read multiple" and no bursts, instead of "memory read" with bursts? My driver does set the burst enable bit in the mite's channel control register (as evidenced by the 6713 successfully bursting).
Incidentally, when doing analog input the pxi-6281 with my linux driver, it also does not burst. This is less of a problem, since it still has a decent transfer rate in this direction even without burst transfers, since it doesn't get all the pci retries like it does when doing analog output.