From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-f42.google.com (mail-oi0-f42.google.com [209.85.218.42]) by kanga.kvack.org (Postfix) with ESMTP id 3D1796B0254 for ; Thu, 10 Mar 2016 20:52:28 -0500 (EST) Received: by mail-oi0-f42.google.com with SMTP id d205so75589502oia.0 for ; Thu, 10 Mar 2016 17:52:28 -0800 (PST) Received: from mail-oi0-x231.google.com (mail-oi0-x231.google.com. [2607:f8b0:4003:c06::231]) by mx.google.com with ESMTPS id v3si4604170oie.34.2016.03.10.17.52.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Mar 2016 17:52:27 -0800 (PST) Received: by mail-oi0-x231.google.com with SMTP id m82so75542075oif.1 for ; Thu, 10 Mar 2016 17:52:27 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20160310095601.GA9677@gmail.com> References: <1442903021-3893-1-git-send-email-mingo@kernel.org> <1442903021-3893-4-git-send-email-mingo@kernel.org> <20160310095601.GA9677@gmail.com> From: Andy Lutomirski Date: Thu, 10 Mar 2016 17:52:07 -0800 Message-ID: Subject: Re: [PATCH 03/11] x86/mm/hotplug: Don't remove PGD entries in remove_pagetable() Content-Type: text/plain; charset=UTF-8 Sender: owner-linux-mm@kvack.org List-ID: To: Ingo Molnar Cc: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , Andrew Morton , Denys Vlasenko , Brian Gerst , Peter Zijlstra , Borislav Petkov , "H. Peter Anvin" , Linus Torvalds , Oleg Nesterov , Waiman Long , Thomas Gleixner On Thu, Mar 10, 2016 at 1:56 AM, Ingo Molnar wrote: > > * Andy Lutomirski wrote: > >> On Fri, Feb 12, 2016 at 11:04 AM, Andy Lutomirski wrote: >> > On Mon, Sep 21, 2015 at 11:23 PM, Ingo Molnar wrote: >> >> So when memory hotplug removes a piece of physical memory from pagetable >> >> mappings, it also frees the underlying PGD entry. >> >> >> >> This complicates PGD management, so don't do this. We can keep the >> >> PGD mapped and the PUD table all clear - it's only a single 4K page >> >> per 512 GB of memory hotplugged. >> > >> > Ressurecting an ancient thread: I want this particular change to make >> > it (much) easier to make vmapped stacks work correctly. Could it be >> > applied by itself? >> > >> >> It's incomplete. pageattr.c has another instance of the same thing. >> I'll see if I can make it work, but I may end up doing something a >> little different. > > If so then mind picking up (and fixing ;-) tip:WIP.x86/mm in its entirety? It's > well tested so shouldn't have too many easy to hit bugs. Feel free to rebase and > restructure it, it's a WIP tree. I'll chew on this one patch a bit and see where the whole things go. If I can rebase the rest on top, I'll use them. BTW, how are current kernels possibly correct when this code runs? We zap a pgd from the init pgd. I can't find any code that would try to propagate that zapped pgd to other pgds. Then, if we hotplug in some more memory or claim the slot for vmap, we'll install a new pgd entry, and we might access *that* through a different pgd. There vmalloc fault fixup won't help because the MMU will chase a stale pointer in the old pgd. So we might actually need this patch sooner rather than later. > > I keep getting distracted with other things but I'd hate if this got dropped on > the floor. > > Thanks, > > Ingo -- Andy Lutomirski AMA Capital Management, LLC -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org