James Carlson wrote:
> Sowmini.Varadhan at Sun.COM writes:
>   
>> One of the features that makes ndd very popular is that it allows
>> the setting of these debug/workaround knobs "on the fly", i.e., no reboot
>> required (as in /etc/system), and the driver can actually re-adjust
>> its state based on the setting requested (mdb cannot trigger state
>> re-adjustment in the driver by itself).
>>     
>
> Yep; understood.
>
>   
>> Providing a way to do this on-the-fly debug/workaround setting was
>> one of the motivations for private properties. I agree that there is a
>> danger of abuse here, and maybe we can think of ways to control
>> the danger (by controlling documentation, perhaps?), but I see a benefit
>> in having private props for the short term, at least.
>>     
>
> It's exactly that abuse that I'm worried about.  One of the reasons
> for doing Brussels is that driver parameters have historically been
> the Old West for configuration.  How do we make sure that Brussels
> itself doesn't become just a new dumping ground?
>
>   
>> Actually, I myself felt that bcopy/dma threshold, as well as
>> some of the ipg properties that have been suggested as public property
>> candidates, also fell in the "Advanced Usage" bucket..
>>     
>
> Ick.  I'd put it in the class of things that, if we were producing
> solid designs, would just never need to be touched at all.  There's a
> line here between allowing configuration for special purposes
> (disabling autonegotiation, perhaps) and asking our customers to do
> our design work for us (by figuring out the "optimal" way to move
> data).  This is one that I think walks over the line.
>
> We need a better answer.
>
>   
>>> Would it be good for us to retain them somehow in early phase of Brussel, 
>>> like by ways of keep it as "private" properties? For backward compatibility 
>>> reason, some customers might rely on those private properties in their 
>>> production env. Before we provide enough tuning in framework, they will 
>>> lose nothing.
>>>       
>> I like Raymond's proposal..
>>     
>
> I'd rather see those things left behind whereever they are -- ndd,
> driver.conf -- and left out of Brussels user interfaces, with bugs
> filed to have them removed completely over time.
>   

One quick note on this theory.  I do not want to leave them "where they 
are" (if that is in ndd), if that means that old device drivers have to 
retain all the crufty ndd logic _in addition_ to implementing the new 
Brussels API.

HOWEVER, I like the idea that some of  these "legacy" parameters that we 
don't particularly want to encourage might not be available/advertised 
via the new dladm API.  Maybe what Brussels needs is a way to say 
"expose this property via NDD only".  (In fact, I think I suggested just 
such a thing in my detailed design suggestion, that I think nobody else 
read. :-)

Eventually, hopefully we'll be able to remove this legacy cruft and 
replace them with a better framework.  But, at the moment, for some of 
these (like the bcopy/dma/buffer management issues), this requires 
substantial new effort that management has yet to express a real 
interest in.  (Yes, I've been campaigning for this project ... to the 
point that I want to do it myself under the guise of a Nemo II or 
somesuch.  Folks with managerial influence are encouraged to voice their 
opinions in this regard. :-)

    -- Garrett

Reply via email to