MichaÅ Nazarewicz wrote: > Do you want to remap user space mappings when page is moved during > defragmentation? Or would user need to unmap the region? Ie. would > mmap()ed buffer be pinned? Remap, i.e. not pinned. That means that the mapper needs to be informed before and after a buffer is moved. Maybe add a function to CMA where you can register a callback function that is called before and after a buffer is moved? The callback function's parameters would be buffer, new position and whether it will be moved or has been moved. CMA would also need this type of information to be able to evict temporary data from the destination. I'm a little bit worried that this approach put constraints on the defragmentation algorithm but I can't think of any scenario where we would run into problems. If a defragmentation algorithm does temporary moves, and knows it at the time of the move, we would have to add a flag to the callback that indicates that the move is temporary so that it is not unnecessarily mapped, but that can be done when/if the problem occurs. Temporarily moving a buffer to scattered memory is not supported either but I suppose that can be solved by adding a flag that indicates that the new position is scattered, also something that can be done when needed. /Johan Mossberg ÿô.nÇ·ÿ±ég¬±¨Âaþé»®&Þ)î¦þ)íèh¨è&£ù¢¸ÿæ¢ú»þÇþm§ÿÿÃÿ)î¦þàbnö¥yʦbs(§ ©Ú¯ìáÿÿ÷%½ëÊs÷'þ×j)ÿým£ÿÝ{ÿö+ÿÞ¨¥þKÚOèÿ