Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Nov 2006 18:11:00 -0500
From:      "Devon H. O'Dell" <devon.odell@gmail.com>
To:        hackers@freebsd.org
Subject:   vr(4) performance
Message-ID:  <9ab217670611021511l3120d58bhd0b61bf44f8ecc87@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hey all,

So, vr(4) kind of sucks, and it seems like this is mostly due to the
fact that we call m_defrag() on every mbuf that we send through it.
This seems to really screw performance on outgoing packets (something
like 33% the output efficiency of fxp(4), if I'm understanding this
all correctly).

I'm sort of wondering if anybody has attempted to address this before
and if there's a way to possibly mitigate this behavior. I know Bill
Paul's comments say ``Unfortunately, FreeBSD FreeBSD doesn't guarantee
that mbufs will be filled in starting at longword boundaries, so we
have to do a buffer copy before transmission.'' -- since it's been a
long day, and I'm about to go home to grab a pizza and stop thinking
about code, would anybody mind offering suggestions as to either:

a) Pros and cons of guaranteeing that they're filled in aligned (and
possibly hints on doing it), or
b) Possible workarounds / hacks to do this faster for vr(4)

Any input is appreciated! (Except ``vr(4) is lol'')

Kind regards,

Devon H. O'Dell



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9ab217670611021511l3120d58bhd0b61bf44f8ecc87>