Proposed patch, convert IFQ_MAXLEN to kernel tunable...
gnn at FreeBSD.org
gnn at FreeBSD.org
Wed Sep 24 19:45:57 UTC 2008
At Wed, 24 Sep 2008 15:50:32 +0100,
Bruce M. Simpson wrote:
>
> Hi,
>
> I agree with the intent of the change that IPv4 and IPv6 input queues
> should have a tunable queue length. However, the change provided is
> going to make the definition of IFQ_MAXLEN global and dependent upon a
> variable.
>
> gnn at freebsd.org wrote:
> > Hi,
> >
> > It turns out that the last time anyone looked at this constant was
> > before 1994 and it's very likely time to turn it into a kernel
> > tunable. On hosts that have a high rate of packet transmission
> > packets can be dropped at the interface queue because this value is
> > too small. Rather than make a sweeping code change I propose the
> > following change to the macro and updating a couple of places in the
> > IP and IPv6 stacks that were using this macro to set their own global
> > variables.
> >
>
> This isn't appropriate for many uses of ifq's which might be internal to
> a given driver or subsystem, and which may use IFQ_MAXLEN for
> convenience, as Ruslan has pointed out. I have code elsewhere which does
> this.
>
> Can you please do this on a per-protocol stack basis? i.e. give IPv4 and
> IPv6 their own TUNABLE queue length.
>
Actually what we'd need is N of these, since my target is actually the
send queue, not the input queue. Let me look at this some more.
Best,
George
More information about the freebsd-net
mailing list