5.26 DEVTMAX (Maximum number of device threads)
5.26.1 Function
DEVTMAX specifies the maximum number of device threads allowed.
5.26.2 Syntax
Descriptive  
-1 -n
Diagram  
¬¬¬¬§¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ÊÍ
-1  ¬¬¬¬«  
-  n  
5.26.3 Parameter
0
Specify  0  to  create  an  unlimited  number  of  ‘semi-permanent’  threads  on  an  ‘as-  
needed’  basis.  This  is  the  default.  With  this  option,  a  thread  is  created  to  service  an  
I/O  request  for  a  device  if  one  does  not  already  exist.  When  the  I/O  is  complete  the  
thread  enters  an  idle  state  waiting  for  new  work.  If  a  new  I/O  request  for  the  device  
arrives  before  the  timeout  period  expires  the  existing  thread  will  be  reused.  The  
timeout  value  is  currently  hard  coded  at  5  minutes.  
Note  that  this  option  can  cause  one  thread  (or  possibly  more)  to  be  created  for  
each  de  vice  in  your  configuration.  Specifying  0  means  there  is  no  limit  to  the  num-  
ber  of  threads  that  can  be  created.  
-1
Specify  -1  to  cause  ‘one  time  only’  temporary  threads  to  be  created  to  service  each  
I/O  request  to  a  device.  Once  the  I/O  request  is  complete,  the  thread  exits.  Subse-  
quent  I/Os  to  the  same  device  will  cause  another  worker  thread  to  be  created  
again.  
1-n
Specify  a  value  from  1  to  n  to  set  an  upper  limit  to  the  number  of  threads  that  can  
be  created  to  service  any  I/O  request  to  any  device.  Like  the  “0”  option,  each  thread  
once  finished  servicing  an  I/O  request  enters  an  idle  state.  If  a  new  request  arrives  
before  the  timeout  period  expires,  the  thread  is  reused.  
If  all  threads  are  busy  when  a  new  I/O  request  arrives  a  new  thread  is  created  only  
if  the  specified  maximum  number  of  threads  have  not  yet  been  reached.  If  the  spe-  
cified  maximum  number  of  threads  already  has  been  reached  then  the  I/O  request  
is  placed  in  a  queue  and  will  be  serviced  by  the  first  available  thread  (eg.  by  which-  
ever  thread  becomes  idle  first).  
This option was created to address a threading issue, possibly related to the Cyg-
            
            



















































































































































































































































































































































































































































































































































































































































































