Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp931083ybt; Wed, 24 Jun 2020 15:09:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwecFbwF2eLnVl/RjXztXzLDZuGXuw+an/hSHPG9CQ+bcinQ1q9Xu4ImLnXXnHeAm4P7xl4 X-Received: by 2002:aa7:da17:: with SMTP id r23mr29974233eds.261.1593036562803; Wed, 24 Jun 2020 15:09:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593036562; cv=none; d=google.com; s=arc-20160816; b=mq1TMw9u6lkdfUQ8FhXsdi8tK/u2Rd3vtIs9Bx24rXuPab5VSlCY+RTgXh45utqVWe +6ltlxmgDGJ62askWCipVGZ5QzsbGdL8adiOIqIUBOILKr1s89Jmtv62VKrJtJyYgJIE 0qyr9KzIYHWcFpwAA9F4GNfHtvKps4QxVT2XmcveqHRo4xuNVjpH5OppCW6NvDt1oGUq cdvFIITOFTmtzar90JehbAGz+jM+AxYt5gu4LVxnSBGItb/jRCzROHjimshiFcZNoyCB rNwhfVmtJN3kN6hf94VskF7rmzmEZCRWwbA5Mee7bgtm0qdwuoFuN9FNbsU/uINOhTO1 ybEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:reply-to:message-id:subject:cc:to:from:date; bh=pGxAieab1xARt0AZKQlwTeeTZ6B24AaLVNcHLomM2OY=; b=rlYoTMXmHwq+KN2RmHm4KOaDC+NStphFatIbnJNysk7lJxUJYklqW2j6T8HaTYGBWd 8VGhr5uJ/QUxaxjap/jGXh/K6cNQA+XHP4S0QbazinJzZ+6phkuTVzJZc/82j0BZEPav j8O4oBcxcgMRUzwUsQfY5DlwYzX4bEaO8/sud6WlsemK1xST6B0rXzVNXJ1XK/s7If2t Iuwjd5Em2uMzzy/mgpE1gj1jBtuN1HJhEQC1MLWLDMf/rf08BOq+r3OuWMcV4X+IIlG3 9g4K0ymhnVJq1E64bQzg6RUYJhHiUq3QXkIGH9Q4HoqlB0tto3MffJR0lruH5S8cNqRP 5xRg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i20si3885493edy.277.2020.06.24.15.08.59; Wed, 24 Jun 2020 15:09:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389274AbgFXWIx (ORCPT + 99 others); Wed, 24 Jun 2020 18:08:53 -0400 Received: from out30-132.freemail.mail.aliyun.com ([115.124.30.132]:35821 "EHLO out30-132.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387718AbgFXWIx (ORCPT ); Wed, 24 Jun 2020 18:08:53 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R131e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04407;MF=richard.weiyang@linux.alibaba.com;NM=1;PH=DS;RN=8;SR=0;TI=SMTPD_---0U0dBAHt_1593036529; Received: from localhost(mailfrom:richard.weiyang@linux.alibaba.com fp:SMTPD_---0U0dBAHt_1593036529) by smtp.aliyun-inc.com(127.0.0.1); Thu, 25 Jun 2020 06:08:49 +0800 Date: Thu, 25 Jun 2020 06:08:49 +0800 From: Wei Yang To: David Hildenbrand Cc: Wei Yang , Baoquan He , Dan Williams , Andrew Morton , Oscar Salvador , Linux MM , Linux Kernel Mailing List Subject: Re: [PATCH] mm/spase: never partially remove memmap for early section Message-ID: <20200624220849.GB15016@L-31X9LVDL-1304.local> Reply-To: Wei Yang References: <20200623094258.6705-1-richard.weiyang@linux.alibaba.com> <20200624014737.GG3346@MiWiFi-R3L-srv> <20200624034638.GA10687@L-31X9LVDL-1304.local> <20200624035236.GI3346@MiWiFi-R3L-srv> <20200624035622.GA10774@L-31X9LVDL-1304.local> <53f7f04e-9c77-a987-8206-bd572268522b@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53f7f04e-9c77-a987-8206-bd572268522b@redhat.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 24, 2020 at 10:51:08AM +0200, David Hildenbrand wrote: >On 24.06.20 05:56, Wei Yang wrote: >> On Wed, Jun 24, 2020 at 11:52:36AM +0800, Baoquan He wrote: >>> On 06/24/20 at 11:46am, Wei Yang wrote: >>>> On Wed, Jun 24, 2020 at 09:47:37AM +0800, Baoquan He wrote: >>>>> On 06/23/20 at 05:21pm, Dan Williams wrote: >>>>>> On Tue, Jun 23, 2020 at 2:43 AM Wei Yang >>>>>> wrote: >>>>>>> >>>>>>> For early sections, we assumes its memmap will never be partially >>>>>>> removed. But current behavior breaks this. >>>>>> >>>>>> Where do we assume that? >>>>>> >>>>>> The primary use case for this was mapping pmem that collides with >>>>>> System-RAM in the same 128MB section. That collision will certainly be >>>>>> depopulated on-demand depending on the state of the pmem device. So, >>>>>> I'm not understanding the problem or the benefit of this change. >>>>> >>>>> I was also confused when review this patch, the patch log is a little >>>>> short and simple. From the current code, with SPARSE_VMEMMAP enabled, we >>>>> do build memmap for the whole memory section during boot, even though >>>>> some of them may be partially populated. We just mark the subsection map >>>>> for present pages. >>>>> >>>>> Later, if pmem device is mapped into the partially boot memory section, >>>>> we just fill the relevant subsection map, do return directly, w/o building >>>>> the memmap for it, in section_activate(). Because the memmap for the >>>>> unpresent RAM part have been there. I guess this is what Wei is trying to >>>>> do to keep the behaviour be consistent for pmem device adding, or >>>>> pmem device removing and later adding again. >>>>> >>>>> Please correct me if I am wrong. >>>> >>>> You are right here. >>>> >>>>> >>>>> To me, fixing it looks good. But a clear doc or code comment is >>>>> necessary so that people can understand the code with less time. >>>>> Leaving it as is doesn't cause harm. I personally tend to choose >>>>> the former. >>>>> >>>> >>>> The former is to add a clear doc? >>> >>> Sorry for the confusion. The former means the fix in your patch. Maybe a >>> improved log and some code comment adding can make it more perfect. >>> >> >> Sure, I would try to add more log and comments, in case you have some good >> suggestion, just let me know :) >> > >We have documented this is section_activate() and pfn_valid() >sufficiently. Maybe add a pointer like > >/* > * The memmap of early sections is always fully populated. See > * section_activate() and pfn_valid() . > */ Thanks, I have added this above the "if" check. > >-- >Thanks, > >David / dhildenb -- Wei Yang Help you, Help me