ixgbe DMA question
Robert Watson
rwatson at FreeBSD.org
Sat Feb 12 07:56:51 UTC 2011
On Fri, 11 Feb 2011, Santosh Rao Gururajan wrote:
> I have a host machine with 2 ixgbe NICs. I am trying to pass the frames from
> one NIC to the other with the lowest possible overhead to the host (high
> speed bridge). I am wondering if I can do a rx-ring to tx-ring DMA copy
> without creating a mbuf on the host. Is that possible? What are the risks?
The only real risk is the simple matter of programming, I think. There's no
reason not to it except that it involves modifying device drivers, memory
models, etc. If you do what you describe, and you decide you do want to pass
some frames up the stack, you can always hook up mbufs and use the external
storage free routine to return the memory to the ring. Jeff Roberson has been
circulating some patches that eliminate the mbuf<->cluster relationship in its
current form, instead preferring variable size mbufs, and I can't help but
wonder if with such a patch, that wouldn't be simpler than what you propose,
offering many of the same performance benefits while making the device driver
changes smaller and still allowing you to direct some packets up the stack if
desired.
Robert
More information about the freebsd-hackers
mailing list