cvs commit: src/sys/kern subr_param.c sys_pipe.c src/sys/sys pipe.h

Mike Silbersack silby at FreeBSD.org
Mon Jul 7 21:02:38 PDT 2003


silby       2003/07/07 21:02:31 PDT

  FreeBSD src repository

  Modified files:
    sys/kern             subr_param.c sys_pipe.c 
    sys/sys              pipe.h 
  Log:
  Put some concrete limits on pipe memory consumption:
  
  - Limit the total number of pipes so that we do not
    exhaust all vm objects in the kernel map.  When
    this limit is reached, a ratelimited message will
    be printed to the console.
  
  - Put a soft limit on the amount of memory consumable
    by pipes.  Once the limit has been reached, all new
    pipes will be limited to 4K in size, rather than the
    default of 16K.
  
  - Put a limit on the number of pages that may be used
    for high speed page flipping in order to reduce the
    amount of wired memory.  Pipe writes that occur
    while this limit is exceeded will fall back to
    non-page flipping mode.
  
  The above values are auto-tuned in subr_param.c and
  are scaled to take into account both the size of
  physical memory and the size of the kernel map.
  
  These limits help to reduce the "kernel resources exhausted"
  panics that could be caused by opening a large
  number of pipes.  (Pipes alone are no longer able
  to exhaust all resources, but other kernel memory hogs
  in league with pipes may still be able to do so.)
  
  PR:                     53627
  Ideas / comments from:  hsu, tjr, dillon at apollo.backplane.com
  MFC after:              1 week
  
  Revision  Changes    Path
  1.57      +29 -0     src/sys/kern/subr_param.c
  1.138     +68 -17    src/sys/kern/sys_pipe.c
  1.21      +11 -0     src/sys/sys/pipe.h


More information about the cvs-src mailing list