mm: ipipe: disable ondemand memory
Co-kernels cannot bear with the extra latency caused by memory access faults involved in COW or overcommit. __ipipe_disable_ondemand_mappings() force commits all common memory mappings with physical RAM. In addition, the architecture code is given a chance to pre-load page table entries for ioremap and vmalloc memory, for preventing further minor faults accessing such memory due to PTE misses (if that ever makes sense for them). Revisit: Further COW breaking in copy_user_page() and copy_pte_range() may be useless once __ipipe_disable_ondemand_mappings() has run for a co-kernel task, since all of its mappings have been populated, and unCOWed if applicable.
Showing with 140 additions and 7 deletions