Home
last modified time | relevance | path

Searched hist:"9 b80d344ec97f7609f3ad08cd5283eab1ec13be9" (Results 1 – 1 of 1) sorted by relevance

/freebsd/sys/vm/
H A Dvm_fault.cdiff 9b80d344ec97f7609f3ad08cd5283eab1ec13be9 Sat Mar 08 07:58:18 CET 2003 Kenneth D. Merry <ken@FreeBSD.org> 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
diff 9b80d344ec97f7609f3ad08cd5283eab1ec13be9 Sat Mar 08 07:58:18 CET 2003 Kenneth D. Merry <ken@FreeBSD.org> 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