Because of the design of streams, it is sometimes the case that one
would like to increase the stream head queue size. Streams modules
can do this, but there is no way to do it outside the stream, except
by increasing the default value.

The defaults are controlled by a struct called "strm_info". If I print
this out I get:

 > strm_info::print
{
     mi_idnum = 0
     mi_idname = 0x18640f0 "strrhead"
     mi_minpsz = 0
     mi_maxpsz = 0xffffffffffffffff
     mi_hiwat = 0x1400
     mi_lowat = 0x400
}
 >

The time honored incantation that services uses to set this for
customers is:

echo strm_info+0x2c/W 3e030 | /usr/bin/mdb -kw  /dev/ksyms

This bothers me for several reasons. First, the use of the constant
offset 0x2c. Second, that the location specified by strm_info+0x2c
is the lower half of the mi_lowat member, which I think will be
a problem on x86.

However, I can't seem to find a way to specify symbolically the
mi_lowat location for writing. It didn't work to specify
strm_info.mi_lowat as the address. Is there something I'm missing?


-- 
blu

"Remember 'A Thousand Points of Light'? With a network, we now have
a thousand points of failure."
----------------------------------------------------------------------
Brian Utterback - Solaris RPE, Sun Microsystems, Inc.
Ph:877-259-7345, Em:brian.utterback-at-ess-you-enn-dot-kom

Reply via email to