Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753878AbaJWKT7 (ORCPT ); Thu, 23 Oct 2014 06:19:59 -0400 Received: from e06smtp12.uk.ibm.com ([195.75.94.108]:58090 "EHLO e06smtp12.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751552AbaJWKT5 (ORCPT ); Thu, 23 Oct 2014 06:19:57 -0400 Date: Thu, 23 Oct 2014 12:19:48 +0200 From: Martin Schwidefsky To: Dominik Dingel Cc: Andrew Morton , linux-mm@kvack.org, Mel Gorman , Michal Hocko , Paolo Bonzini , Dave Hansen , Rik van Riel , Andrea Arcangeli , Andy Lutomirski , "Aneesh Kumar K.V" , Bob Liu , Christian Borntraeger , Cornelia Huck , Gleb Natapov , Heiko Carstens , "H. Peter Anvin" , Hugh Dickins , Ingo Molnar , Jianyu Zhan , Johannes Weiner , "Kirill A. Shutemov" , kvm@vger.kernel.org, linux390@de.ibm.com, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, Peter Zijlstra , Sasha Levin Subject: Re: [PATCH v3 0/4] mm: new function to forbid zeropage mappings for a process Message-ID: <20141023121948.51e4a6cb@mschwide> In-Reply-To: <1413976170-42501-1-git-send-email-dingel@linux.vnet.ibm.com> References: <1413976170-42501-1-git-send-email-dingel@linux.vnet.ibm.com> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.23; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14102310-0009-0000-0000-000001A8968C Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 22 Oct 2014 13:09:26 +0200 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) > > v1 -> v2: > - Following Dave and Paolo suggestion removing the vma flag > > Dominik Dingel (4): > s390/mm: recfactor global pgste updates > mm: introduce mm_forbids_zeropage function > s390/mm: prevent and break zero page mappings in case of storage keys > s390/mm: disable KSM for storage key enabled pages > > arch/s390/include/asm/pgalloc.h | 2 - > arch/s390/include/asm/pgtable.h | 8 +- > arch/s390/kvm/kvm-s390.c | 2 +- > arch/s390/kvm/priv.c | 17 ++-- > arch/s390/mm/pgtable.c | 180 ++++++++++++++++++---------------------- > include/linux/mm.h | 4 + > mm/huge_memory.c | 2 +- > mm/memory.c | 2 +- > 8 files changed, 106 insertions(+), 111 deletions(-) Patches look good to me and as nobody seems to disagree with the proposed solution I will add the code to the features branch of the s390 tree. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/