Re: RFC: FreeBSD I/OAT driver

[ Available lists | Index of freebsd-current | Month of Aug 2006 | Week of 30 Aug 2006 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Andrew Gallatin <gallatin@cs.duke.edu>
Date
30 Aug 2006 17:23:39
Subject
Re: RFC: FreeBSD I/OAT driver
Message-ID
17653.51598.910897.127606@grasshopper.cs.duke.edu


[ Hide this part ]
 
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







Elapsed time: 0.128 seconds