Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp892455imm; Fri, 27 Jul 2018 07:55:13 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfLuYnjEZcvUtUl3tHDon9ag4IfI7rDVTO2qfmup1Zoi+m6nNIoU/+FRJdza/Kx3XDCkXam X-Received: by 2002:a63:3046:: with SMTP id w67-v6mr6310991pgw.176.1532703313863; Fri, 27 Jul 2018 07:55:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532703313; cv=none; d=google.com; s=arc-20160816; b=NJU8ua72CDpKuE0wjm+u7GbBWqIDo4ezo38DcMY81Aj/WDSOUZBymfJY1c8FD2itZL g0sDpkRAraZgjXRCCc+60w4ZzhejQt1FhJ+hJYV0+aQf0KObX4Ut0Zw0Ybs+f6mjzJa8 gSnEd4suG5s+rwNk4inOd7cDSnAwOsdT09TljMwJyjbKEUdnTytTonhVxAKerjWR0pXH xv2D/DDYlAwo0WFuYTS1Zz9Yw1V3hF4gxVZmnhky5+OGVY3oyG8U9MpvIxltjd2KKxlH Juegi8j5AHMAT8MiXshzXeT9EVfedCzM7bS1wY+llUGMNUoLIex0OBuS0uZCfVgf7PK+ nIdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature :arc-authentication-results; bh=ccFNO2RC5TnSnUSGrld7JQAt/erF48OCW+LVyrfhryU=; b=WeP6W+WVh3DhvWskobfWWwL3rche9QITWmGaiJJspAv9Lq0dS4tYYRstUveflaC6VX 5lDowyflMT1I/lozvz4PTLm8awRZFEx+ph63GhoJJL7Bppn7OTfVUPogTw2zkFL+AOfF AJcfekj2BASVC22rhpKEaYiFPZUMtu2gOfHTF5Vcm4MkXjKhXZrnsP2Guy8U8pwr1Vy4 nVbzcBxZ7AKtk0QZ+tt9vnID1ZYzHOC86sxZ8BLpen5mVZ4VFdoaNREmWG2I8RwDROKn Ep9t+zjrruuT/BRr67reyah9S7UKdx6oyz1uy6PVdTNlJb+09Pi0lI//+xJyoXoLHQOb I+aw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2018-07-02 header.b=GxSYFsSD; 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=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d11-v6si3932075pla.442.2018.07.27.07.54.59; Fri, 27 Jul 2018 07:55:13 -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; dkim=pass header.i=@oracle.com header.s=corp-2018-07-02 header.b=GxSYFsSD; 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=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388309AbeG0QQV (ORCPT + 99 others); Fri, 27 Jul 2018 12:16:21 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:38788 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730714AbeG0QQU (ORCPT ); Fri, 27 Jul 2018 12:16:20 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w6REhxlT134277 for ; Fri, 27 Jul 2018 14:54:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : references : in-reply-to : from : date : message-id : subject : to : cc : content-type; s=corp-2018-07-02; bh=ccFNO2RC5TnSnUSGrld7JQAt/erF48OCW+LVyrfhryU=; b=GxSYFsSDHI5gIkoxeQvDLpTbGVGIr1pHPyoH/86cT9FKF+n/sBAZRXdwobmhjCrmRNb7 ZbFKhnYnsIaKWXyIAO3MjG5yTrrldx6WBOM0lKUoccRRShYUUgWB1GeQnwyihXHfyprR kAA0Tcgmd5srWoOhn5234XlgEk7EiGeMt6Wv4meUxI0wcaxIpjCrxJjBAK/wm2JnOPFX I3o5F1st9MEUa1ZJEZ+U41PMq+UX/JAnWc/dYgq+UM14k509APbHpONInRn+QRBIHqH0 DMksfl+rePTLwHoU1oKbxyQe3jY4/5W/5BR8X+fm5o4JstD5wahSwR5zQmHWYB81EVyH Zw== Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2130.oracle.com with ESMTP id 2kbv8tfm1k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jul 2018 14:54:03 +0000 Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w6REs1b1025369 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jul 2018 14:54:01 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w6REs14b015483 for ; Fri, 27 Jul 2018 14:54:01 GMT Received: from mail-oi0-f47.google.com (/209.85.218.47) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 27 Jul 2018 07:54:00 -0700 Received: by mail-oi0-f47.google.com with SMTP id k12-v6so9513672oiw.8 for ; Fri, 27 Jul 2018 07:54:00 -0700 (PDT) X-Gm-Message-State: AOUpUlFuzJxqIXqwe5r2h6c7SP9AUVaEziMfRylx9oUOdMig1gXN/v3Y X2A16A+hIkiuz1c5BUtEf1wy6XLgrE4DQsEMrrY= X-Received: by 2002:a54:4f88:: with SMTP id g8-v6mr7226312oiy.191.1532703240360; Fri, 27 Jul 2018 07:54:00 -0700 (PDT) MIME-Version: 1.0 References: <20180726193509.3326-1-pasha.tatashin@oracle.com> <20180726193509.3326-3-pasha.tatashin@oracle.com> <20180727115645.GA13637@techadventures.net> In-Reply-To: <20180727115645.GA13637@techadventures.net> From: Pavel Tatashin Date: Fri, 27 Jul 2018 10:53:24 -0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 2/3] mm: calculate deferred pages after skipping mirrored memory To: osalvador@techadventures.net Cc: Steven Sistare , Daniel Jordan , LKML , Andrew Morton , kirill.shutemov@linux.intel.com, Michal Hocko , Linux Memory Management List , dan.j.williams@intel.com, jack@suse.cz, jglisse@redhat.com, Souptick Joarder , bhe@redhat.com, gregkh@linuxfoundation.org, Vlastimil Babka , Wei Yang , dave.hansen@intel.com, rientjes@google.com, mingo@kernel.org, abdhalee@linux.vnet.ibm.com, mpe@ellerman.id.au Content-Type: text/plain; charset="UTF-8" X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8966 signatures=668706 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=3 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=793 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1807270152 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org unsigned long *nr_initialised) > > +static bool __meminit > > +defer_init(int nid, unsigned long pfn, unsigned long end_pfn) > > Hi Pavel, > > maybe I do not understand properly the __init/__meminit macros, but should not > "defer_init" be __init instead of __meminit? > I think that functions marked as __meminit are not freed up, right? Not exactly. As I understand: __meminit is the same as __init when CONFIG_MEMORY_HOTPLUG=n. But, when memory hotplug is configured, __meminit is not freed, because code that adds memory is shared between boot and hotplug. In this case defer_init() is called only during boot, and could be __init, but it is called from memmap_init_zone() which is __meminit and thus section mismatch would happen. We could split memmap_init_zone() into two functions: boot and hotplug variants, or we could use __ref, but I do not think any of that is really needed. Keeping defer_init() in __meminit is OK, it does not take that much memory. > > Reviewed-by: Oscar Salvador Thank you, Pavel