Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp3033623ybi; Tue, 2 Jul 2019 00:49:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqwmqASs6E8UTEf9YN8DnK7kP1rjAjAC8bdUAWH1m87t9kx7T/zAt8zN4Rsbhs+pJmmVJLgC X-Received: by 2002:a17:90a:9b88:: with SMTP id g8mr4077160pjp.100.1562053755305; Tue, 02 Jul 2019 00:49:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562053755; cv=none; d=google.com; s=arc-20160816; b=cvvHJWCuhv+F2Zt/2g7fP9T8vAi1kTQGqT4uTAKNqDHYuEZ+e3lTdZC2Ql+y5X7DYP 9TlP8WIbYp/3KhcXPgpLDqrBR9nLzjJUoPq77SBnwz3c2hxe5ZFjOwoW8lNaPklQ6cDP vy+Akb0PqrPEg+fzgh9ZXReT+bn4P8kLNNHlf0Z3VReH9E+sGOTDAWWSiDMbJ/qu1BzP /2ZqQJXDUwpGxPoAkQY9oL80hLHee8yz6wvKrEGYZ5Jv7imZcZ7gSPFs8MnnuSicHIky KKnpIRZPAo6PtXOQ0QuOx5BEJHjZI7S6E9G9+i2M4LcP9rdt3E9b/sl6L1GVVvgf4wR4 hTUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=s1JiDXz8o1SY8FFKorg3C3csWHGOy+fLRlQoZ5UZcgk=; b=iBBoL8EyRqDdijTKiTB6O25a8FHMQiklH1oyJAKR/3/lIi7xijUS0WqTYi4IT8c36n CPsMrYKgjicd92Azb8eW+ZjpctBIGBiAockb9bLHosmRyTKUiJQJ1BLws4+5CnsAPVCi Qeu0obyscxQQgVZhP5HqzdGexNQLJvSR3MivmHlDccv1zZAxYu7fUC0P+CF7BI7n0asa u8P1jkeFsw5i5XbhCgOuMZY1HdO1WpyR/4DTBvlrjPd7oIMWTFhHR/80uV4Koimr8sJ6 8LjFWzVLYbhKKJKcEUoghBQLtLErQVQsaUP8Kp/bYD+y4JgO6ex+KldQ200ZnxlQDTuf KDKg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e1si1636517pjr.28.2019.07.02.00.49.00; Tue, 02 Jul 2019 00:49:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726103AbfGBHsX (ORCPT + 99 others); Tue, 2 Jul 2019 03:48:23 -0400 Received: from mx2.suse.de ([195.135.220.15]:60946 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725851AbfGBHsX (ORCPT ); Tue, 2 Jul 2019 03:48:23 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 63296AFFB; Tue, 2 Jul 2019 07:48:21 +0000 (UTC) Date: Tue, 2 Jul 2019 09:48:18 +0200 From: Oscar Salvador To: Rashmica Gupta Cc: David Hildenbrand , akpm@linux-foundation.org, mhocko@suse.com, dan.j.williams@intel.com, pasha.tatashin@soleen.com, Jonathan.Cameron@huawei.com, anshuman.khandual@arm.com, vbabka@suse.cz, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 0/5] Allocate memmap from hotadded memory Message-ID: <20190702074806.GA26836@linux> References: <20190625075227.15193-1-osalvador@suse.de> <2ebfbd36-11bd-9576-e373-2964c458185b@redhat.com> <20190626080249.GA30863@linux> <2750c11a-524d-b248-060c-49e6b3eb8975@redhat.com> <20190626081516.GC30863@linux> <887b902e-063d-a857-d472-f6f69d954378@redhat.com> <9143f64391d11aa0f1988e78be9de7ff56e4b30b.camel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9143f64391d11aa0f1988e78be9de7ff56e4b30b.camel@gmail.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 02, 2019 at 04:42:34PM +1000, Rashmica Gupta wrote: > Hi David, > > Sorry for the late reply. > > On Wed, 2019-06-26 at 10:28 +0200, David Hildenbrand wrote: > > On 26.06.19 10:15, Oscar Salvador wrote: > > > On Wed, Jun 26, 2019 at 10:11:06AM +0200, David Hildenbrand wrote: > > > > Back then, I already mentioned that we might have some users that > > > > remove_memory() they never added in a granularity it wasn't > > > > added. My > > > > concerns back then were never fully sorted out. > > > > > > > > arch/powerpc/platforms/powernv/memtrace.c > > > > > > > > - Will remove memory in memory block size chunks it never added > > > > - What if that memory resides on a DIMM added via > > > > MHP_MEMMAP_DEVICE? > > > > > > > > Will it at least bail out? Or simply break? > > > > > > > > IOW: I am not yet 100% convinced that MHP_MEMMAP_DEVICE is save > > > > to be > > > > introduced. > > > > > > Uhm, I will take a closer look and see if I can clear your > > > concerns. > > > TBH, I did not try to use arch/powerpc/platforms/powernv/memtrace.c > > > yet. > > > > > > I will get back to you once I tried it out. > > > > > > > BTW, I consider the code in arch/powerpc/platforms/powernv/memtrace.c > > very ugly and dangerous. > > Yes it would be nice to clean this up. > > > We should never allow to manually > > offline/online pages / hack into memory block states. > > > > What I would want to see here is rather: > > > > 1. User space offlines the blocks to be used > > 2. memtrace installs a hotplug notifier and hinders the blocks it > > wants > > to use from getting onlined. > > 3. memory is not added/removed/onlined/offlined in memtrace code. > > > > I remember looking into doing it a similar way. I can't recall the > details but my issue was probably 'how does userspace indicate to > the kernel that this memory being offlined should be removed'? > > I don't know the mm code nor how the notifiers work very well so I > can't quite see how the above would work. I'm assuming memtrace would > register a hotplug notifier and when memory is offlined from userspace, > the callback func in memtrace would be called if the priority was high > enough? But how do we know that the memory being offlined is intended > for usto touch? Is there a way to offline memory from userspace not > using sysfs or have I missed something in the sysfs interface? > > On a second read, perhaps you are assuming that memtrace is used after > adding new memory at runtime? If so, that is not the case. If not, then > would you be able to clarify what I'm not seeing? Hi Rashmica, let us go the easy way here. Could you please explain: 1) How memtrace works 2) Why it was designed, what is the goal of the interface? 3) When it is supposed to be used? I have seen a couple of reports in the past from people running memtrace and failing to do so sometimes, and back then I could not grasp why people was using it, or under which circumstances was nice to have. So it would be nice to have a detailed explanation from the person who wrote it. Thanks -- Oscar Salvador SUSE L3