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>