copy-on-write anonymous memory?
    Teemu Rinta-aho 
    teemu at rinta-aho.org
       
    Thu May 15 10:20:36 UTC 2008
    
    
  
Hi all,
is it possible to create a memory object that represents
anonymous memory pages *and* is copy-on-write?
I have this code in a kernel module:
    object = vm_object_allocate(OBJT_DEFAULT, 1);
    result = vm_map_find(vmmap_proc,
                         object,
                         0,
                         &addr,
                         len,
                         TRUE,
                         VM_PROT_ALL,
                         VM_PROT_ALL,
                         MAP_COPY_ON_WRITE);
Then I pass the addr to the user space, but when
I write to the addr, I see no shadow objects created,
i.e. the changes are written to the original memory
pages no matter if I have the map entry set as
copy-on-write or not... I am assuming a write fault would
create a new page and hang it to a shadow object thus
leaving the original memory untouched.
I'd appreciate any kind of help here.
Best regards,
Teemu Rinta-aho
    
    
More information about the freebsd-hackers
mailing list