RFC: FreeBSD I/OAT driver
Andrew Gallatin
gallatin at cs.duke.edu
Wed Aug 30 17:23:39 UTC 2006
Jack Vogel writes:
> We are making our development driver for the I/OAT engine available for
> download, experimentation, and comment available at:
>
> http://sourceforge.net/project/showfiles.php?group_id=42302&package_id=202220
>
> This includes a core driver for the dma hardware and a set of stack changes
> to allow use of the engine on the receive side of the stack.
>
> There are certainly rough edges and limitations in this code, but we have run
> it internally and seen some great results.
>
> I would like to see this get into CURRENT, so anything Prafulla and I can do
> to help or answer questions, send us email.
Excellent! Can you share some of these results? I would love to try
it, but I don't have FreeBSD on any machine with I/OAT hardware.
I've taken a very quick look at it. Maybe I'm just being dense,
but I don't like the name "dma_" being in the global namespace.
Maybe things (like dma_*_list should be called at least
dmaengine_*_list, etc.
There are some style(9) defects which I'm sure others who are more
proficient at style(9) than I am will point out (// comments, function
names not starting in column 0, etc).
How deep would you expect so->dma_wait_queue to get? Would it make
sense to keep a pointer to the last item so that insertion is O(1),
rather than O(N)?
Would it be possible to have a sysctl tunable threshold, below which
the system does a normal uiomove? A normal copyout() will certainly
be faster at some point..
Thanks for the great work!
Drew
More information about the freebsd-net
mailing list