On 10/22/2014 01:09 PM, Dominik Dingel wrote: > s390 has the special notion of storage keys which are some sort of page flags > associated with physical pages and live outside of direct addressable memory. > These storage keys can be queried and changed with a special set of instructions. > The mentioned instructions behave quite nicely under virtualization, if there is: > - an invalid pte, then the instructions will work on memory in the host page table > - a valid pte, then the instructions will work with the real storage key > > Thanks to Martin with his software reference and dirty bit tracking, > the kernel does not issue any storage key instructions as now a > software based approach will be taken, on the other hand distributions > in the wild are currently using them. > > However, for virtualized guests we still have a problem with guest pages > mapped to zero pages and the kernel same page merging. > With each one multiple guest pages will point to the same physical page > and share the same storage key. > > Let's fix this by introducing a new function which s390 will define to > forbid new zero page mappings. If the guest issues a storage key related > instruction we flag the mm_struct, drop existing zero page mappings > and unmerge the guest memory. > > v2 -> v3: > - Clearing up patch description Patch 3/4 > - removing unnecessary flag in mmu_context (Paolo) ... and zero the mm_use_skey flag correctly, too. :) > v1 -> v2: > - Following Dave and Paolo suggestion removing the vma flag Thanks, the patches look good. I expect that they will either go in through the s390 tree, or come in via Christian. If the latter, Martin, please reply with your Acked-by. Paolo -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>