RFC: FreeBSD I/OAT driver

Jack Vogel jfvogel at gmail.com
Wed Aug 30 18:18:46 UTC 2006


On 8/30/06, Andrew Gallatin <gallatin at cs.duke.edu> wrote:

>
> 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.

Prafulla had the results <nudges Prafulla>

> 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.

I have no commitment to specifics in the namespace, so it can be
changed to suit tastes.

> 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).

Same as above, minor things we can fix...

> 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)?

Again, this is Prafulla's code, he should respond.

> 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..

This sounds like a good idea. We only provided the stack client, because
of interest by a specific customer, but there is potential for this engine to
be used in a variety of places, for instance in VM.

For more diverse usages the registration/client code would need to be
enhanced, something like what Linux has now. That is doable later
down the path...

> Thanks for the great work!
>
> Drew

Thanks for looking it over :)

Jack


More information about the freebsd-net mailing list