Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp4008465imm; Mon, 30 Jul 2018 07:12:07 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcIOu4AhjpI1lwJi90BME2awNf14PqnPM8yID2gYuUs6HeNg+rbngO5d0rDqCfutknH6lRe X-Received: by 2002:a17:902:143:: with SMTP id 61-v6mr16403174plb.171.1532959927900; Mon, 30 Jul 2018 07:12:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532959927; cv=none; d=google.com; s=arc-20160816; b=a3/VOHGLSoJa4Nc8d1ZvaGF+CayXAxJT7AHGlY2nWJtE9zy9j89O+sQGRP1JQtOE8p pH41qjEj1k1RBewA1LsFgcoq2+C/6twPMfgQ9yAimRwk6Mf3YGXYDcR56ZbzN+x8OQWx xmEvqBKu79mtNkHQqOtOlplyqD7Ae9qsJkBjf0mpRtBI8+qbsKml+BGTPXLzgPoRdaNq eNg/ssdaypH9al1afB0wC8dYtajbDdS9bj6+UDgo6Rd7tdh1n4HSueB5nFdjFrmKfBN6 CYzCA6LM8+BnNQjYRIZTu4x0LxGvhJhhu1g43WaRZPHlcNGoVNfpE7KiezM2sHauit7b /4+Q== 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:arc-authentication-results; bh=zql5FgDCYxK0hon20RlH6khGHRJRQ2j0AFeyWqgutoc=; b=lfoY6faHgxDdennbcNasQP6Zj6McEyCE4R04FIFSlRMMF7E+eOO+2CLfuCXHXzGesJ SEB0H1Ps2dRaUBuqzLT07MtGwWGQtE/RLRIEt/sN+QD5cy2FXuN2RMyW7D0JIUb2ZQhT cOz5BnW+wU3bLKU66UQA5IXpuCnxCgssxntK4k22YGn42ymM55pDvDmTkOQxLHIcDVD5 5HYawhzSblLlUultcAV5UpFp1oX0z+u1wsLQWiTwz2dNq48HRpnyA6Gg4IH0N0W2WhNL /ubZMXShxXwx/MwqCvKNmpP3v8v53PelP3dPVs1AJl/gtEpblsZTQx5CzjhfNP+wgnL6 fZfA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p14-v6si11894620pfk.275.2018.07.30.07.11.53; Mon, 30 Jul 2018 07:12:07 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731549AbeG3PqN (ORCPT + 99 others); Mon, 30 Jul 2018 11:46:13 -0400 Received: from mx2.suse.de ([195.135.220.15]:34700 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726765AbeG3PqM (ORCPT ); Mon, 30 Jul 2018 11:46:12 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 66CB9AD35; Mon, 30 Jul 2018 14:10:59 +0000 (UTC) Date: Mon, 30 Jul 2018 16:10:58 +0200 From: Michal Hocko To: David Hildenbrand Cc: Pavel Tatashin , Linux Memory Management List , LKML , gregkh@linuxfoundation.org, mingo@kernel.org, Andrew Morton , dan.j.williams@intel.com, jack@suse.cz, mawilcox@microsoft.com, jglisse@redhat.com, Souptick Joarder , kirill.shutemov@linux.intel.com, Vlastimil Babka , osalvador@techadventures.net, yasu.isimatu@gmail.com, malat@debian.org, Mel Gorman , iamjoonsoo.kim@lge.com Subject: Re: [PATCH v1] mm: inititalize struct pages when adding a section Message-ID: <20180730141058.GV24267@dhcp22.suse.cz> References: <20180727165454.27292-1-david@redhat.com> <20180730113029.GM24267@dhcp22.suse.cz> <6cc416e7-522c-a67e-2706-f37aadff084f@redhat.com> <20180730120529.GN24267@dhcp22.suse.cz> <7b58af7b-5187-2c76-b458-b0f49875a1fc@redhat.com> <56e97799-fbe1-9546-46ab-a9b8ee8794e0@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56e97799-fbe1-9546-46ab-a9b8ee8794e0@redhat.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 Mon 30-07-18 15:51:45, David Hildenbrand wrote: > On 30.07.2018 15:30, Pavel Tatashin wrote: [...] > > Hi David, > > > > Have you figured out why we access struct pages during hot-unplug for > > offlined memory? Also, a panic trace would be useful in the patch. > > __remove_pages() needs a zone as of now (e.g. to recalculate if the zone > is contiguous). This zone is taken from the first page of memory to be > removed. If the struct pages are uninitialized that value is random and > we might even get an invalid zone. > > The zone is also used to locate pgdat. > > No stack trace available so far, I'm just reading the code and try to > understand how this whole memory hotplug/unplug machinery works. Yes this is a mess (evolution of the code called otherwise ;) [1]. Functionality has been just added on top of not very well thought through bases. This is a nice example of it. We are trying to get a zone to 1) special case zone_device 2) recalculate zone state. The first shouldn't be really needed because we should simply rely on altmap. Whether it is used for zone device or not. 2) shouldn't be really needed if the section is offline and we can check that trivially. [1] on the other hand I can see why people were reluctant to understand the mess and rather tweak their tiny thing on top... -- Michal Hocko SUSE Labs