From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8EE20EB64D9 for ; Thu, 6 Jul 2023 11:20:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 155498D0002; Thu, 6 Jul 2023 07:20:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 105928D0001; Thu, 6 Jul 2023 07:20:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EE98C8D0002; Thu, 6 Jul 2023 07:20:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E21708D0001 for ; Thu, 6 Jul 2023 07:20:09 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 8CFF81C8384 for ; Thu, 6 Jul 2023 11:20:09 +0000 (UTC) X-FDA: 80980942938.22.3815B55 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf16.hostedemail.com (Postfix) with ESMTP id 54810180019 for ; Thu, 6 Jul 2023 11:20:07 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Dp4AyQgy; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf16.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688642407; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=L3OZfpCf3nYVTSLsybs1N/nmixfoOU0Sp6CWVcqL0LM=; b=nN/Z6enHG7Z3GEfG73lhvj1QCpxinTPRPikDii8GIMWdDvpnzpQjwnZsXp1luR2p8EUM+T DaiaRu+PQND0mPagZ9NvCMuS2Pg/0kiXudEbJMIjVKlvOvPN1TNRoJjn9x2VPaKRVPVN4z Tue/LBZ643t57/0A9JzHwWA/qfpMTk0= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Dp4AyQgy; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf16.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688642407; a=rsa-sha256; cv=none; b=4Iv/3GGdfwJj1w4w380E5k+dl1jL5OdhaR7fE6/NoINomUmcO7AK/OKc5AXF88QwpsavQA lx6PgevaI+LPXfxFOZ2keCle2I/JzfFFw/lL6P7YWqxBwH6AdVuuIc97RtQNZXe6g6N16i nbfLbThPyZmF4NX3+oJo6xUdvbZxI3g= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688642406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=L3OZfpCf3nYVTSLsybs1N/nmixfoOU0Sp6CWVcqL0LM=; b=Dp4AyQgyio79ScZxUGnmIWhfGofcr5usFJ69aBJLrK6x+iYf+54oleWvz1fJnZ9HwKMO0t mEf0izRqWYAWbsH64ID/ZOPjLVylk15oX00gZNqZ3t9E7IMM1KoyymUUxvdLU9rPe33sMr WmpQGOuXv7zSEMYCE4w8NwRMEKY9wZo= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-379-8Xo_wNpoPieUX5Ui_b2QBg-1; Thu, 06 Jul 2023 07:20:03 -0400 X-MC-Unique: 8Xo_wNpoPieUX5Ui_b2QBg-1 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3144bf68a03so289239f8f.2 for ; Thu, 06 Jul 2023 04:20:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688642402; x=1691234402; h=content-transfer-encoding:in-reply-to:subject:organization:from :references:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=L3OZfpCf3nYVTSLsybs1N/nmixfoOU0Sp6CWVcqL0LM=; b=BXySQFTZ38OwAFF/aEPuDb1NzETR4Yh3ueNjTVFHyuY2t8PJowBUnfjSnGapIRqF8r U6mOg9qackVwwmcKEs7YL94r2yJNW5F5kjUYozzcHWsKsHCPaEsOzZhyVY5r5QZFr0O5 LEOSIpjGDdRwyxv5akOcpZckTspx30gjffOem+zQe3m+xLZfhZTqRGDDQvrJN+oQ9S/R HXK5X3+KYBuxMSMsnVFcx9r1GznVWFc1YwAAXLeT0C7XCWDaYDQ0bXMCKsMQdyoh73In X1u99NklkVRmmowVps0Sfw5UPcSdx+FjQCZiVe3nnysFkOVWKAugp9NimZZK+Wg0LBnR wcxA== X-Gm-Message-State: ABy/qLb/rPX8PegEc7VeLSsRXTrfdG/nk8D9SXYiUnpTeUVMjK/Zzypw isGsuh7i0z1bxyD6SgQavIzoyxRVXCdGmELK7j6sOIhE+5E84grMmz4NcPOKYNA1rIYJGgZKyCV H2VkpgZ7Dmxk= X-Received: by 2002:a05:6000:4c5:b0:314:1d7f:a69 with SMTP id h5-20020a05600004c500b003141d7f0a69mr1268489wri.67.1688642402171; Thu, 06 Jul 2023 04:20:02 -0700 (PDT) X-Google-Smtp-Source: APBJJlHZAwbHEr1vsEZtNgwKbCBgf4iFcTem81yQIzqgFRnJGnBeWSOU03YEUyZxhmM7G4P1M6qckg== X-Received: by 2002:a05:6000:4c5:b0:314:1d7f:a69 with SMTP id h5-20020a05600004c500b003141d7f0a69mr1268467wri.67.1688642401752; Thu, 06 Jul 2023 04:20:01 -0700 (PDT) Received: from ?IPV6:2a09:80c0:192:0:5dac:bf3d:c41:c3e7? ([2a09:80c0:192:0:5dac:bf3d:c41:c3e7]) by smtp.gmail.com with ESMTPSA id x18-20020a5d60d2000000b0031435731dfasm1622848wrt.35.2023.07.06.04.20.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 06 Jul 2023 04:20:01 -0700 (PDT) Message-ID: Date: Thu, 6 Jul 2023 13:20:00 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 To: Aneesh Kumar K V , linux-mm@kvack.org, akpm@linux-foundation.org, mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org, npiggin@gmail.com, christophe.leroy@csgroup.eu Cc: Oscar Salvador , Michal Hocko , Vishal Verma References: <20230706085041.826340-1-aneesh.kumar@linux.ibm.com> <20230706085041.826340-4-aneesh.kumar@linux.ibm.com> <0efcd10b-dff8-d011-e192-5feaedc2ee2d@redhat.com> <8763c269-90da-4754-85a2-ef32d2540362@linux.ibm.com> From: David Hildenbrand Organization: Red Hat Subject: Re: [PATCH v2 3/5] mm/hotplug: Simplify the handling of MHP_MEMMAP_ON_MEMORY flag In-Reply-To: <8763c269-90da-4754-85a2-ef32d2540362@linux.ibm.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: qczconehw1knojmqrsycqs3umpnmbneq X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 54810180019 X-HE-Tag: 1688642407-789430 X-HE-Meta: U2FsdGVkX1+NrSBZ46hlzasjPr+aL8jXGnQb1HZh2a1bAkU91+I0SIFaZ9DO6B6uRs15dXti7hCE5fdYktgLwJtnoPvrauaGP+S+N00Tx1j7WiB6C/QIAbY3z9H3TdGtLlV1L/n6awGNdaIYdFf+L/abSUT0+VnFwcX/mxEsjUd+nYRXSASF+gvz2xHqZQnZsriIU8hYbeoahgGVzsCDww4Hfm8cZj02r1JND8C5rz2GP8fTi0DfR/mAejEVZ32s/trE66cpEVkaAzLRimpClL6i9cDM5bO4+CuJXngQyrwqBzh1EF3jVRrYSfv90L241t7kmVd2wilE+oMGY3+uHWygGwi+QAvbQb9vvidBHYlGFxGy/ssEwyh5uv2ZO+WZ6VCAMBp5Pxo3OW/CNmZ7ce3IoaC2iVtGw0kcNHgvDaH4KIF3Tq9qYzTr7zuToSoc3/Ym3lwV4C6zycyLRKbquixzMmdhxmVNlXDrrs2bUPj3nufLnyG3vJAK6YZTgoadASnlwARffmnuPKktPHiOQuT01JOD0ohIRQVzflocus92vUraMxUbR6GFryuJ5K2oaCUa0PwN8SnGEKEfiUQZTE/9iECZtQfHV50nMZkRYV4WIBtXhgc7Fcoj9RGHYmYxPX5dE4s+hHT6YJQGicGXa8U6R+ShvT+YUaFj1+zCkw6MroY80Px4IFO5E6+389JVupqHmdJAN5SoIGOY0RC/H6S9MIiukrQSi3ltQxpW7+iLpbgheKfFA+POiAPNjGD3VSDYvWMecmiVcqIUssrPtWNSgWHAzWF4U/IMtIHUhfNoZm9byMiP0odUMf1+dEb1JZU6ZmYE+uCAOuB5LKo5Fo+DYIiPBCkrXGw8n0IiqnuwXNRKYlPxZW2pmQvw7aAdAwnVusul3R1myEToh1Pv/RSOBzHNQSmYSJvAUYtQQO3uIXLtDN0l+AGQxNoWaXotRiTnJsn3USR3RdFP1uX 4zrTGVua x1GAviL6euLtm1V5fV1SSBzXbVkF89PrsCzqKcvp1fw/3xL8XWEvJMT7Ez7GuTK5fUffzHBduDkSDpZlnPZEeikEvVryuTh7u6YfonpZyHwhIUJ8sBfMdZUaXtcj2hv+s/VYCMCz7fHZ8dzkx3HgJqH8z4zf9eI0N6OLqs5D6CxEl0Q4nkxXPdBH5ip95nIqDsjjTpKbMlX3aHv5/V87QjWroUn5Y/UftkJ+neObJOEVCsWORBt1IZf8MhA7EzvPRupbPwo+wkjupfkRDHbrDhuHzQvYAxtIgXu8FHpQA2O5OPacb4Uy1nZ+Q21eJKfjQBQOPvpByydTiVtmlx/xBTvWyIAWBN7bHbFZl0/ZJ9R76dXQ8ZlN9p0jOmZdKSNQgKdvjJ9zpcn8iAJp35EOc8dx0OFxn6xcE1x2pCWn/U39bH7eSCFKQNqKiUu7cqMeTSMov2yTSK1Iyhw13eQH9wxdB3JFtwDqv34QH X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 06.07.23 12:04, Aneesh Kumar K V wrote: > On 7/6/23 2:54 PM, David Hildenbrand wrote: >> On 06.07.23 10:50, Aneesh Kumar K.V wrote: >>> Instead of checking for memmap on memory feature enablement within the >>> functions checking for alignment, use the kernel parameter to control the >>> memory hotplug flags. The generic kernel now enables memmap on memory >>> feature if the hotplug flag request for the same. >>> >>> The ACPI code now can pass the flag unconditionally because the kernel will >>> fallback to not using the feature if the alignment rules are not met. >>> >>> Signed-off-by: Aneesh Kumar K.V >>> --- >>>   drivers/acpi/acpi_memhotplug.c |  3 +-- >>>   include/linux/memory_hotplug.h | 14 ++++++++++++++ >>>   mm/memory_hotplug.c            | 35 +++++++++++----------------------- >>>   3 files changed, 26 insertions(+), 26 deletions(-) >>> >>> diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c >>> index 24f662d8bd39..4d0096fc4cc2 100644 >>> --- a/drivers/acpi/acpi_memhotplug.c >>> +++ b/drivers/acpi/acpi_memhotplug.c >>> @@ -211,8 +211,7 @@ static int acpi_memory_enable_device(struct acpi_memory_device *mem_device) >>>           if (!info->length) >>>               continue; >>>   -        if (mhp_supports_memmap_on_memory(info->length)) >>> -            mhp_flags |= MHP_MEMMAP_ON_MEMORY; >>> +        mhp_flags |= get_memmap_on_memory_flags(); >>>           result = __add_memory(mgid, info->start_addr, info->length, >>>                         mhp_flags); >>>   diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h >>> index a769f44b8368..af7017122506 100644 >>> --- a/include/linux/memory_hotplug.h >>> +++ b/include/linux/memory_hotplug.h >>> @@ -358,4 +358,18 @@ bool mhp_supports_memmap_on_memory(unsigned long size); >>>   bool __mhp_supports_memmap_on_memory(unsigned long size); >>>   #endif /* CONFIG_MEMORY_HOTPLUG */ >>>   +#ifdef CONFIG_MHP_MEMMAP_ON_MEMORY >>> +extern bool memmap_on_memory; >>> +static inline unsigned long get_memmap_on_memory_flags(void) >>> +{ >>> +    if (memmap_on_memory) >>> +        return MHP_MEMMAP_ON_MEMORY; >>> +    return 0; >>> +} >>> +#else >>> +static inline unsigned long get_memmap_on_memory_flags(void) >>> +{ >>> +    return 0; >>> +} >>> +#endif >> >> That's kind-of ugly TBH. >> >> >> Why do we need this change? >> > > I was trying to avoid rest of the kernel doing > > if (mhp_supports_memmap_on_memory(info->length)) > mhp_flags |= MHP_MEMMAP_ON_MEMORY; It would look much cleaner if you would simply have: mhp_flags |= MHP_MEMMAP_ON_MEMORY; result = __add_memory(mgid, info->start_addr, info->length, mhp_flags); And modify the semantics of MHP_MEMMAP_ON_MEMORY to mean "allocate the memmap from hotplugged memory if supported and enabled globally". Then, we can simply ignore the flag in __add_memory() if either the global toggle is off or if it's not supported for the range / by the arch. Maybe, in the future we want more fine-grained control (as asked by dax/kmem) and maybe not have the global toggle. But for now, that should be good enough I guess. -- Cheers, David / dhildenb