Kais Belgaied writes:
> I am wondering what has been the experience of folks on this alias with 
> the performance gain or penalty
> from the various choices above, or if they used different way for 
> efficiently and promptly reclaim.

I don't have the experience you're seeking, but a closely related
issue is pinning down creds with dblks that chill out in TX descriptor
blocks.  A problem we've had with Zones is that the stream head puts
on dblks with creds, those creds hold references to the zone_t, the
zone_t in turn holds a reference to the root vnode_t for the zone, and
thus you can't shut down or unmount a zone until the zone-related
mblks floating around in the system somehow get cleaned up.  If
they're rotting away on a rarely-used (or perhaps even zone-specific)
adapter, you may be in for a bad administrative hair day.

We need to have those creds scrubbed away as soon as possible, either
by semi-aggressively reclaiming TX resources or by having the creds
stripped _before_ being placed on the TX queue.  (Preferably by the
Nemo framework.)  However, one of the thorny problems I think this
raises is that, at least for TCP, the db_ref counter is often greater
than 1, so removing the credp may not be a kosher move.

No, I don't know what the right fix is here, but this looks like a
good place to throw the problem into the mix.  ;-}

For what it's worth, and at least a bit more related to the question
you're asking, I'm fairly opposed to "tunables" for these sorts of
fiddling internal design details.  If we can't manage to get it right
under all conditions, then we need to make it at least "self tuning"
so that users don't have to tweak voodoo variables.  No more "putq
versus putnext" ndd flags, or their moral equivalent, please.

-- 
James Carlson, Solaris Networking              <james.d.carlson at sun.com>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677

Reply via email to