Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Oct 2013 14:03:40 -0700
From:      Navdeep Parhar <np@FreeBSD.org>
To:        Andre Oppermann <andre@freebsd.org>, Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        Randall Stewart <rrs@lakerest.net>, "freebsd-net@freebsd.org" <net@freebsd.org>
Subject:   Re: MQ Patch.
Message-ID:  <527022AC.4030502@FreeBSD.org>
In-Reply-To: <52701D8B.8050907@freebsd.org>
References:  <40948D79-E890-4360-A3F2-BEC34A389C7E@lakerest.net>	<526FFED9.1070704@freebsd.org> <CA%2BhQ2%2BgTc87M0f5pvFeW_GCZDogrLkT_1S2bKHngNcDEBUeZYQ@mail.gmail.com> <52701D8B.8050907@freebsd.org>

index | next in thread | previous in thread | raw e-mail

On 10/29/13 13:41, Andre Oppermann wrote:
> Let me jump in here and explain roughly the ideas/path I'm exploring
> in creating and eventually implementing a big picture for drivers,
> queues, queue management, various QoS and so on:
> 
> Situation: We're still mostly based on the old 4.4BSD IFQ model with
> a couple of work-arounds (sndring, drbr) and the bit-rotten ALTQ we
> have in tree aren't helpful at all.
> 
> Steps:
> 
> 1. take the soft-queuing method out of the ifnet layer and make it
>    a property of the driver, so that the upper stack (or actually
>    protocol L3/L2 mapping/encapsulation layer) calls (*if_transmit)
>    without any queuing at that point.  It then is up to the driver
>    to decide how it multiplexes multi-core access to its queue(s)
>    and how they are configured. 

It would work out much better if the kernel was aware of the number of
tx queues of a multiq driver and explicitly selected one in if_transmit.
 The driver has no information on the CPU affinity etc. of the
applications generating the traffic; the kernel does.  In general, the
kernel has a much better "global view" of the system and some of the
stuff currently in the drivers really should move up into the stack.

Regards,
Navdeep



home | help

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