This MADV_REMOVE works with a mapping which is - created with shmat() and - not sharing memobj with other mappings.
Introduction of VR_WRITE_COMBINED, PTATTR_WRITE_COMBINED and modification to the memobj's get_page() interface so that Linux communicates back mapping flags (such as write-combined).