Re: New NETISR implementation, but same defaults

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Mon, 1 Jun 2009 19:41:46 +0100 (BST)
On Mon, 1 Jun 2009, Hans Petter Selasky wrote:

> On Monday 01 June 2009, Robert Watson wrote:
>> As a HEADS up to 8-CURRENT followers: I've replaced the NETISR 
>> implementation there as part of on-going work to improve network stack 
>> parallelism, details below.  In practice, most behavior remains identical 
>> in the default configuration (direct dispatch, single netisr thread that's 
>> not bound to a CPU, etc), but people will want to watch out for problems. 
>> Some default queue limits have been raised.
>>
>> More functional changes to take advantage of these features, such as 
>> deferred ethernet dispatch and software flow ID generation, will follow as 
>> patches, but probably not ship in 8.0 out of the box.
>
> Having WITNESS and INVARIANTS in the kernel config I get a panic about a 
> NULL mutex when running "dhclient wlan0". Prior to running dhclient wlan0 
> has been properly setup. CPU: 2-HTT

This should be fixed in r193243.  I made a change shortly before merging that 
locks the current CPU's workstream before billing packets to it when direct 
dispatching, and this turns out to be incorrect, as on systems with fewer 
workers than CPUs, then we lock an uninitialized mutex.  Let me know if the 
above change doesn't fix it.

Robert N M Watson
Computer Laboratory
University of Cambridge

>
> Workaround:
>
> net.isr.direct=0
> net.isr.direct_force=0
>
> --HPS
>
Received on Mon Jun 01 2009 - 16:41:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:49 UTC