em(4) + ALTQ broken

Jack Vogel jfvogel at gmail.com
Tue Feb 2 21:41:04 UTC 2010


LOL, and I can answer my own question, I just looked and the ONLY
1Gig drivers using multiqueue are mine, so I guess not eh? :)

J.

On Tue, Feb 2, 2010 at 1:39 PM, Jack Vogel <jfvogel at gmail.com> wrote:

> Thanks Max, yes, i've done some digging myself and now see how things
> work, the rubber meets the road in the defines in if_var.h.
>
> And what it does is effectively short circuit Kip Macy's multiqueue code
> in favor of the old method.
>
> Right now I can see two possibilities, either the defines are not set in
> the build, OR there is something wrong in the logic of the short circuit
> approach in Kip's code.
>
> A question might be if ANY driver that is usinig TX Multiqueue has been
> successfully used with ALTQ?
>
> Jack
>
>
>
> On Tue, Feb 2, 2010 at 12:37 PM, Max Laier <max at love2party.net> wrote:
>
>> On Tuesday 02 February 2010 18:48:02 Jack Vogel wrote:
>> > So apparently this thing needs no special knowledge in the driver, yet
>> > something in
>> > the new code breaks it, can someone explain tersely how the altq app
>> > actually
>> > "pokes" or "hooks up" to the driver? I am not clear about that and I
>> >  suspect if I was
>> > this would all be clearer.
>>
>> The whole story is in
>>
>>  man 9 altq
>>
>> long story short, as long as you consistently use the IFQ_* macros to
>> manage
>> the interface queue, things should just work.  if_var.h used to
>> conditionally
>> define these macros to avoid ALTQ overhead when the kernel is built
>> without
>> ALTQ.  This has changed a long time ago and should not make any difference
>> anymore.
>>
>> I can't figure out who the OP is, but could you make sure that the
>> includes
>> that are used to built the kernel are up to date?  You are building with
>> the
>> buildkernel target and not "the old way", right?  Also, if you build just
>> the
>> module, the build might pick up the includes from /usr/include instead of
>> src/sys ...
>>
>> > Jack
>> >
>> > On Tue, Feb 2, 2010 at 9:37 AM, Pyun YongHyeon <pyunyh at gmail.com>
>> wrote:
>> > > On Tue, Feb 02, 2010 at 09:30:52AM -0800, Nick Rogers wrote:
>> > > > > I guess the problem comes from multi-queue support. The drbr
>> > > > > interface is implemented with inline function so em(4)/igb(4) may
>> > > > > have to define ALTQ to the header. I have not tested the patch(no
>> > > > > time at this moment) but would you give it try?
>> > > > >
>> > > > > I tried the patch and it did not work.
>> > >
>> > > You rebuilt kernel, right? Rebuilding kernel module has no effect.
>> >
>> > _______________________________________________
>> > freebsd-stable at freebsd.org mailing list
>> > http://lists.freebsd.org/mailman/listinfo/freebsd-stable
>> > To unsubscribe, send any mail to "
>> freebsd-stable-unsubscribe at freebsd.org"
>> >
>> >
>> > !DSPAM:4b686584144321871135632!
>> >
>>
>
>


More information about the freebsd-stable mailing list