Seems that I will break the quietness :) To my project, I will use a file as the swap area first. Since it's a file, I can use the facilities provided by the filesystem. On modifying the vm_store_anonymous_noswap, a member: struct vnode * vnode (represents the swap file) will be added to the anonymous_store stuct. And the store_anonymous operation functions will be very like those in vnode_store. Am I right? I am confused by the word "commit". Does it equal "use"? Could anyone explain those fields in the anonymous_store struct: bool can_overcommit; bool has_precommitted; uint8 precommitted_pages; int32 guarded_size; Thanks!