Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 09 Nov 2000 11:08:03 -0700
From:      "Justin T. Gibbs" <gibbs@scsiguy.com>
To:        Kenjiro Cho <kjc@csl.sony.co.jp>
Cc:        jasone@freebsd.org, cp@freebsd.org, dg@freebsd.org, jlemon@flugsvamp.com, smp@freebsd.org
Subject:   Re: SMP safe interface queues 
Message-ID:  <200011091808.eA9I83a89553@aslan.scsiguy.com>
In-Reply-To: Your message of "Fri, 10 Nov 2000 02:32:23 %2B0900." <20001110023223E.kjc@csl.sony.co.jp> 

next in thread | previous in thread | raw e-mail | index | archive | help
>
>Jonathan Lemon wrote:
>> I understand that this is a problem for ALTQ.  However, for my 
>> purposes, making the interface queues SMP safe, it is not a problem.
>> The queueing discipline remains FIFO at this time, and each driver
>> instance has its own ifq.  So the driver can safely peek at the 
>> front of the queue, and place packets back using PREPEND() without
>> a problem.  (assuming, of course, that the rx or tx routine of the
>> driver is single-threaded).
>> 
>> I agree that moving forward it probably will be beneficial to hide
>> the internal queueing details, but it is not needed initially.
>
>How about calling IF_DRAIN() or IF_PREPEND() outside of the interrupt
>context?
>Although it might be unlikely in practice, the point is that a locking
>system needs the design of a self-contained operation model.
>(defined operations should work when the lock is properly held.)
>I doubt that it can be done without modifying the existing drivers.

There was some discussion about this very issue at USENIX.  I
believe the outcome was that all mutex operations should be
made explicit in each driver.  Chuck, David, and Jason were
more involved in this discussion than I was, so perhaps they
can chime in here.

--
Justin


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




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