cvs commit: src/sys/vm vm_page.c

Alan Cox alc at FreeBSD.org
Tue Jul 10 18:41:36 UTC 2007


alc         2007-07-10 18:41:34 UTC

  FreeBSD src repository

  Modified files:
    sys/vm               vm_page.c 
  Log:
  Correct a problem in the ZERO_COPY_SOCKETS option, specifically, in
  vm_page_cowfault().  Initially, if vm_page_cowfault() sleeps, the given
  page is wired, preventing it from being recycled.  However, when
  transmission of the page completes, the page is unwired and returned to
  the page queues.  At that point, the page is not in any special state
  that prevents it from being recycled.  Consequently, vm_page_cowfault()
  should verify that the page is still held by the same vm object before
  retrying the replacement of the page.  Note: The containing object is,
  however, safe from being recycled by virtue of having a non-zero
  paging-in-progress count.
  
  While I'm here, add some assertions and comments.
  
  Approved by: re (rwatson)
  MFC After: 3 weeks
  
  Revision  Changes    Path
  1.351     +22 -2     src/sys/vm/vm_page.c


More information about the cvs-src mailing list