Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp1759874rwd; Thu, 15 Jun 2023 15:32:03 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7I0ou7YKXQmIaGkPY1YednJoRSO4qUcn49X9RQcTMkJ0zY/V4P/5ZJoAdIpnXlfAOklELl X-Received: by 2002:aa7:d64a:0:b0:50b:c456:a72a with SMTP id v10-20020aa7d64a000000b0050bc456a72amr109906edr.19.1686868323103; Thu, 15 Jun 2023 15:32:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686868323; cv=none; d=google.com; s=arc-20160816; b=0oQhttAZqMmDTmrFjxXle6Nu6J3GxFphGky8g+NHuGbnSyVskdI0D9EwM4FPrUIA5s PW8lCT0reqwLkhvu9T/ENX4qO3tlABn53P1uvWWduT4o81APcFIW78bYbmCys3i3beV/ LFVysEuhXZyPHHkMcz+H6n1vG7rPPCFkECmEYGT/ouHuVxWWDHJHwetPirlSecK7oSIP +uu1c3dfVp3cZr4xRYihYN3jWNFlSHCGH8Hif7HdaJugzeXcjypP2w1llUaI6LcCDRrf Gzzd8ZFfaEKIzkd82ejvP2erPDKLtwf9cj++rumNTyeRBEkV5f/ZjPl0aqVS4+suc422 yaWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:content-transfer-encoding:mime-version :message-id:date:subject:from:dkim-signature; bh=fvMLBjjnJfSDUagMZ1N7VhzCM8vCzL/1uB8EI2MIL8s=; b=XVqH4UJgf2Rq556IH9/+JAFf4jssGuOtgc6sAMPzs02mOs04Jgv1WAkPMK1PvfmJdm aow57rxLJWeaWo439KfWBDOExirzJsSXCvpARVEAxiVOx7pNDKjSvvnDVWhXUzQGfKBF L8oFqbM8RK3C0LWYergM0hra7kEr05b6NbIARy4dNtcU5Fnu003xdKIVmxlPHUFF9Lql 5bfrXLjmfi3b/w/x/A/acSaqA9Fu9OwmRnxuZ0uzwldkUC90pf2govnO5C5NlWsCJcty cIg27vyW5ENhWlDpNwyXiOFkO6xD23LPc0VdiqestuOrgSMUThG+ynLq2e7Pmvmb6rnX e5Lw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=N9VtrrL0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v16-20020a056402185000b0050bd6441678si6785905edy.476.2023.06.15.15.31.38; Thu, 15 Jun 2023 15:32:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=N9VtrrL0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230009AbjFOWBK (ORCPT + 99 others); Thu, 15 Jun 2023 18:01:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45388 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231479AbjFOWBG (ORCPT ); Thu, 15 Jun 2023 18:01:06 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BE362967; Thu, 15 Jun 2023 15:01:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686866464; x=1718402464; h=from:subject:date:message-id:mime-version: content-transfer-encoding:to:cc; bh=lZ52Uyzr79J6u7Q25jSEHwxvL9rBOICrMhEJ+YQMfOE=; b=N9VtrrL0zRoOUeDRhRE1UREOet2gs/QbM8zuszkIMQGsTx8idUjkQBJO 2TSxTauzVBbtgRXIoWdQTKmG5zyjcNRqxDWnd0WAlXnizp7Y+y5RlH2ph kO7IjJMnhgEmbYkm17TC85OINmvX0ApH4fVadBqW5V5fhllPDRkNNWMqH +bXquAzSilYGDVp34P7eI67d37EYLl0jx0x5r05tfNmOdaZeLUZsTMBEN EJOrVcm6KJ6BJaMWDU5kQ8ZiHNqedLpm80xss5CDGrDsBczE1VGFMjfS2 goiJeRAuwJqvPspNUPaJudRTYTen0UpV7bPawUkCY8kiNaw600FX+ksfL g==; X-IronPort-AV: E=McAfee;i="6600,9927,10742"; a="343791121" X-IronPort-AV: E=Sophos;i="6.00,245,1681196400"; d="scan'208";a="343791121" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2023 15:01:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10742"; a="715770085" X-IronPort-AV: E=Sophos;i="6.00,245,1681196400"; d="scan'208";a="715770085" Received: from smaurice-mobl.amr.corp.intel.com (HELO [192.168.1.200]) ([10.212.120.175]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2023 15:01:00 -0700 From: Vishal Verma Subject: [PATCH 0/3] mm: use memmap_on_memory semantics for dax/kmem Date: Thu, 15 Jun 2023 16:00:22 -0600 Message-Id: <20230613-vv-kmem_memmap-v1-0-f6de9c6af2c6@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAPaJi2QC/x2NQQqDMBBFryKzdiAmVq1XKaXEOOpQEyWhQRDv7 tDFX7wPj3dCosiUoC9OiJQ58RYEqrIAt9gwE/IoDFppo5rKYM749eQ/Mm93fNSdcd2oat0+QaT BJsIh2uAW0cJvXeXcI018/Cuv93XdGOiP7nUAAAA= To: "Rafael J. Wysocki" , Len Brown , Andrew Morton , David Hildenbrand , Oscar Salvador , Dan Williams , Dave Jiang Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org, Huang Ying , Dave Hansen , Vishal Verma X-Mailer: b4 0.13-dev-02a79 X-Developer-Signature: v=1; a=openpgp-sha256; l=1518; i=vishal.l.verma@intel.com; h=from:subject:message-id; bh=lZ52Uyzr79J6u7Q25jSEHwxvL9rBOICrMhEJ+YQMfOE=; b=owGbwMvMwCXGf25diOft7jLG02pJDCndXXwTsly/77OW2O/flsjQd6vDyiTYSTTdw7JrgQJnk u7tqAkdpSwMYlwMsmKKLH/3fGQ8Jrc9nycwwRFmDisTyBAGLk4BmMiirYwM94uWCrD/T7tUVyQu /Z/rbMmOF5+f8nw51Lr5VmvUz2c2lQz/DI1u2T1KWqE1rY7z7stD/zPc3oVZTq58l/v2SgTHrpN JfAA= X-Developer-Key: i=vishal.l.verma@intel.com; a=openpgp; fpr=F8682BE134C67A12332A2ED07AFA61BEA3B84DFF X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The dax/kmem driver can potentially hot-add large amounts of memory originating from CXL memory expanders, or NVDIMMs, or other 'device memories'. There is a chance there isn't enough regular system memory available to fit ythe memmap for this new memory. It's therefore desirable, if all other conditions are met, for the kmem managed memory to place its memmap on the newly added memory itself. Arrange for this by first allowing for a module parameter override for the mhp_supports_memmap_on_memory() test using a flag, adjusting the only other caller of this interface in dirvers/acpi/acpi_memoryhotplug.c, exporting the symbol so it can be called by kmem.c, and finally changing the kmem driver to add_memory() in chunks of memory_block_size_bytes(). Signed-off-by: Vishal Verma --- Vishal Verma (3): mm/memory_hotplug: Allow an override for the memmap_on_memory param mm/memory_hotplug: Export symbol mhp_supports_memmap_on_memory() dax/kmem: Always enroll hotplugged memory for memmap_on_memory include/linux/memory_hotplug.h | 2 +- drivers/acpi/acpi_memhotplug.c | 2 +- drivers/dax/kmem.c | 49 +++++++++++++++++++++++++++++++----------- mm/memory_hotplug.c | 25 ++++++++++++++------- 4 files changed, 55 insertions(+), 23 deletions(-) --- base-commit: f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6 change-id: 20230613-vv-kmem_memmap-5483c8d04279 Best regards, -- Vishal Verma