Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Mar 2003 01:20:20 -0800 (PST)
From:      Poul-Henning Kamp <phk@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern subr_devstat.c
Message-ID:  <200303180920.h2I9KKwb080467@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
phk         2003/03/18 01:20:20 PST

  FreeBSD src repository

  Modified files:
    sys/kern             subr_devstat.c 
  Log:
  Make devstat fully Giant agnostic:
  
  Add a mutex and protect the allocation and traversal of the list with it.
  
  When we allocate a page for devstat use we drop the mutex and use
  M_WAITOK this is not nice, but under the given circumstances the
  best we can do.
  
  In the sysctl handler for returning the devstat entries we do not want to
  hold the mutex across copyout(9) calls, so we keep a very careful eye on
  the devstat_generation count, and abandon with EBUSY if it changes under
  our feet.
  
  Specifically test for BIO_WRITE, rather than default non-read,non-deletes
  as write.  Make the default be DEVSTAT_NO_DATA.
  
  Add atomic increments of the sequence[01] fields so applications using the
  mmap'ed view stand a chance of detecting updates in progress.
  
  Reviewed by:    ken
  
  Revision  Changes    Path
  1.40      +135 -42   src/sys/kern/subr_devstat.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-src" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200303180920.h2I9KKwb080467>