Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Aug 2006 08:41:00 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        arch@FreeBSD.org, net@FreeBSD.org
Subject:   Re: Changes in the network interface queueing handoff model
Message-ID:  <17615.19420.172545.986872@grasshopper.cs.duke.edu>
In-Reply-To: <20060730141642.D16341@fledge.watson.org>
References:  <20060730141642.D16341@fledge.watson.org>

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

Robert Watson writes:

 >   The immediate practical benefit is 
 > clear: if the queueing at the ifnet layer is unnecessary, it is entirely 
 > avoided, skipping enqueue, dequeue, and four mutex operations.  

This is indeed nice, but for TCP I think the benefit would be far
greater if somebody would PLEASE, PLEASE, PLEASE implement TSO (aka
LSO).

Consider a 1460 byte mss and 64KB of data that is ready to be sent.
With the current model, that is 45 separate calls to if_output(),
and 45*4 (queuing) + 45 (tx routine) == 225 mutex operations.

Using your model, we're down to 45 mutex operations.

Using TSO, we have 4 + 1 == 5 mutex operations with the old
model, and 1 with the your model.

This is not even considering all the other overhead involved
in 45 transmits vs TSO...

Just something to think about..

Drew



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