Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Dec 2004 06:24:14 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern kern_subr.c
Message-ID:  <200412130624.iBD6OEL7015211@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
alc         2004-12-13 06:24:14 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_subr.c 
  Log:
  Correct the handling of two unusual cases by the zero-copy receive path,
  specifically, vm_pgmoveco():
  1. If vm_pgmoveco() sleeps on a busy page, it must redo the look up
  because the page may have been freed.
  2. If the receive buffer is copy-on-write due to, for example, a fork,
  then although the first vm object in the shadow chain may not contain
  a page there may still be one from a backing object that is mapped.
  Thus, a pmap_remove() is required for the new page rather than the
  backing object's page to been seen by the application.
  
  Also, add some comments to vm_pgmoveco() and update some assertions.
  
  Tested by: ken@
  
  Revision  Changes    Path
  1.95      +26 -16    src/sys/kern/kern_subr.c



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