Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Mar 2003 22:58:18 -0800 (PST)
From:      "Kenneth D. Merry" <ken@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern kern_subr.c src/sys/vm vm_fault.c
Message-ID:  <200303080658.h286wIPa036496@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
ken         2003/03/07 22:58:18 PST

  FreeBSD src repository

  Modified files:
    sys/kern             kern_subr.c 
    sys/vm               vm_fault.c 
  Log:
  Zero copy send and receive fixes:
  
  - On receive, vm_map_lookup() needs to trigger the creation of a shadow
    object.  To make that happen, call vm_map_lookup() with PROT_WRITE
    instead of PROT_READ in vm_pgmoveco().
  
  - On send, a shadow object will be created by the vm_map_lookup() in
    vm_fault(), but vm_page_cowfault() will delete the original page from
    the backing object rather than simply letting the legacy COW mechanism
    take over.  In other words, the new page should be added to the shadow
    object rather than replacing the old page in the backing object.  (i.e.
    vm_page_cowfault() should not be called in this case.)  We accomplish
    this by making sure fs.object == fs.first_object before calling
    vm_page_cowfault() in vm_fault().
  
  Submitted by:   gallatin, alc
  Tested by:      ken
  
  Revision  Changes    Path
  1.72      +1 -1      src/sys/kern/kern_subr.c
  1.163     +9 -2      src/sys/vm/vm_fault.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?200303080658.h286wIPa036496>