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 86895C7619A for ; Sat, 8 Apr 2023 10:19:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A04CF6B0072; Sat, 8 Apr 2023 06:19:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9B2096B0074; Sat, 8 Apr 2023 06:19:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8797D6B0075; Sat, 8 Apr 2023 06:19:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 784AE6B0072 for ; Sat, 8 Apr 2023 06:19:47 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 423E4808D9 for ; Sat, 8 Apr 2023 10:19:47 +0000 (UTC) X-FDA: 80657827614.03.154E61B Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf12.hostedemail.com (Postfix) with ESMTP id A4EFB40010 for ; Sat, 8 Apr 2023 10:19:44 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=N8gHSPLN; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf12.hostedemail.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680949185; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UWuwZsgaMtJFG2bEbxM5edI/4hRPbw/72NYfBaSaiUU=; b=T4W6WqRfQrhDi+l/6GNM2LG8ceHLDHCoXLi2dpS95Q8p3gcnIpBCHpvQDeWmuMqdZg481N Wm9XEDUGkF0JuEis9ufh6rYF630KY4hyVeEcAaM+bkXtvG9wMcFEC3xGdl468tgeySV5LW aKnh2Uf/HbISdg5MeYGo1ooVw5UL9DE= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=N8gHSPLN; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf12.hostedemail.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680949185; a=rsa-sha256; cv=none; b=6sgK7jP3ojCEnKjX7wdNQFQhvTkwaqmeU93AaaXEtqqtZ+0W0jxF2yOKXdbpbj8U84Dd9i cEXRQvD4FdvDlIxsgQehaDx8mvj3YXaSC/WTuEbVwl2uziFNw/3ohrZN8Vsd29Bz3JMAm6 SfEpp4ejmKMgNNPmIY4403ADLLtxyNQ= Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3383emW7003906; Sat, 8 Apr 2023 10:19:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : in-reply-to : references : date : message-id : mime-version : content-type; s=pp1; bh=UWuwZsgaMtJFG2bEbxM5edI/4hRPbw/72NYfBaSaiUU=; b=N8gHSPLNEYgWWNqdc6sicg+dQXmeF7p/9IC8/qAPgqi3dgr1mz1GvyNiWGthSkhpcuVO 1jJkaB+lMzJ5AnL3+BhipMXfEuc6eYBFokfcYxLRs3gl4lJeIOiVM8A4qDTdU7rPztMR 9YqZwYzQrcMzcNNHQ8UJ4r4Uj5m7aeRV6zFxseSg48epHLqFmKaieFDOQQfzJ0OTN0TG ky7kHZaMtlI6GCriJsX5R4koILRCL9YrsGeb2C1xxLqCAmhBG7BvYjPhf3+3xnHpoYY2 ygCxzHoMC80pJXcD3q+vMeuifkTQ/COZVyfuJAXBL1Jmp+ij9BSse7l9OuHzkRYeLJXL jg== Received: from ppma04dal.us.ibm.com (7a.29.35a9.ip4.static.sl-reverse.com [169.53.41.122]) by mx0b-001b2d01.pphosted.com (PPS) with ESMTPS id 3pu0jxcka8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 08 Apr 2023 10:19:28 +0000 Received: from pps.filterd (ppma04dal.us.ibm.com [127.0.0.1]) by ppma04dal.us.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 33872jW4016832; Sat, 8 Apr 2023 10:19:27 GMT Received: from smtprelay03.wdc07v.mail.ibm.com ([9.208.129.113]) by ppma04dal.us.ibm.com (PPS) with ESMTPS id 3pu0gy1k4w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 08 Apr 2023 10:19:27 +0000 Received: from smtpav03.dal12v.mail.ibm.com (smtpav03.dal12v.mail.ibm.com [10.241.53.102]) by smtprelay03.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 338AJPVa13435578 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 8 Apr 2023 10:19:26 GMT Received: from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DB4C058061; Sat, 8 Apr 2023 10:19:25 +0000 (GMT) Received: from smtpav03.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 18BE458060; Sat, 8 Apr 2023 10:19:23 +0000 (GMT) Received: from skywalker.linux.ibm.com (unknown [9.43.66.45]) by smtpav03.dal12v.mail.ibm.com (Postfix) with ESMTP; Sat, 8 Apr 2023 10:19:22 +0000 (GMT) X-Mailer: emacs 29.0.60 (via feedmail 11-beta-1 I) From: "Aneesh Kumar K.V" To: Jane Chu , linux-mm@kvack.org, akpm@linux-foundation.org Cc: Joao Martins , Muchun Song , Dan Williams , Tarun Sahu Subject: Re: [PATCH] mm/vmemmap/devdax: Fix kernel crash when probing devdax devices In-Reply-To: References: <20230407122353.12018-1-aneesh.kumar@linux.ibm.com> Date: Sat, 08 Apr 2023 15:49:15 +0530 Message-ID: <87h6tqk76k.fsf@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: KH8M1AVsK6C82HjyKHT_fgQtn0ECMi8K X-Proofpoint-GUID: KH8M1AVsK6C82HjyKHT_fgQtn0ECMi8K X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-08_04,2023-04-06_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1011 lowpriorityscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 priorityscore=1501 adultscore=0 impostorscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304080090 X-Rspamd-Queue-Id: A4EFB40010 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: txyufj4etgi5htbh6wonr1usb7z67geh X-HE-Tag: 1680949184-805190 X-HE-Meta: U2FsdGVkX19Y9PszdE2Xe8k3OuWl5or65c5MMx5HZpK+1HI7DWm1a0V4FlQrixYpQjFmbOoNfOz1QvwDnjE4+b21jZCAj6VGvqpQfdBg/X0mRHqQs0RgBAYZnxV79GjsAlnW/wzhBjGvpPs9HJfzy/ksho9OGWO6BQQJMl5iwqc9CROd6ThPhwztunmTW6tMxmU+1SKaG8DBA37hFFRwkCm0YAJEqZaTs/1D3TdY6I3BQIZz6MataJvvGgmqahgHfCly5ruRnGjbjuQ2OGwq78+Y4oW/pnyAIgR8Gh++98SE46sRVPiZTEZ0RKugP34JAawrufzV1am8mLrfWXCNo1FYjkMaSuKufHr48JjYF/7bSRr6vYqIMbt/HvDfrOh9Y5FPxP3Kpq0WT/KIJz/0T+v41Wjhy4F+Ld0QZ9/OJbDUIJUyUQSmzjzWsFHUmlP8+2yH0UO9cqXer+LySBActcYyqHuEGVrtVLfa8oOHKpkzag4f89YFwQ+NvaEjENcXpam4VOAb88yLG6Z4PCeM2xw+jvyN2ptSidNu2st5z3EFbzHe/XwhxXwSk2PVQSVIQ8/mQ55kqo8D1FkSB39JHS8FeBMbcBa5SxgUx3uvCB3akw35281vJ+VyGKif63AlZc/EMqosR0JSHn/erKd9nzXnWXBne8BrH4trmKH9WE7NENo9MgOkveLgn3S+RCWtu2o8CgkQayaLKyU07bO+N0mrpKYJXdMEB7wEh6ccMqL0OMMwUi18jLx9Uz+pRGfkAIXZteh5wq2YwbPToUKIYgkQG13ck+MAnFDRa3bqNle7yy1X2In3+CyJ46gJK4yKTgANZSFV3BvPKxl0IZ15HZ4VtAExSB4xXn5hchJFaMyOEeXKGOscLqb8udnCol6Wynbfp9wU9qyU0vvr7AIudryfA7Vn5Qp4PDDzO69o7r6u234O3C1t19pe0yqZK9AAG+7+5nokBjAtDmQngCm 2YdjZiEq Axokif828FXcqF2CXOwks4s9nRNjk0RO6tnqQQYq3gRMD3jCbFbt9bLweRiPX6RHSKxVMlBMmALqY3Csa7a0sJWgKV58QG7zZUK408A9VJCFDQsMG0BKX4srYthQFHFkVxfh7XS8rgQGfQlBqBduBYvpdoMzH2NCDw+RinSYyGQY3U6M= 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: Jane Chu writes: > On 4/7/2023 5:23 AM, Aneesh Kumar K.V wrote: >> diff --git a/mm/Kconfig b/mm/Kconfig >> index ff7b209dec05..99f87c1be1e8 100644 >> --- a/mm/Kconfig >> +++ b/mm/Kconfig >> @@ -461,6 +461,9 @@ config SPARSEMEM_VMEMMAP >> pfn_to_page and page_to_pfn operations. This is the most >> efficient option when sufficient kernel resources are available. >> >> +config ARCH_WANT_OPTIMIZE_VMEMMAP >> + bool >> + > > Could this devdax specific config switch be added to drivers/dax/Kconfig > ? also, how about adding 'DAX' to the config switch name? I would say we want to make it more generic. ie, both hugetlb and devdax can now derive the feature support via ARCH_WANT_OPTIMIZE_VMEMAP commit aafb4790ea0250c8d2450e9d23a4be80c663d2ec Author: Aneesh Kumar K.V Date: Sat Apr 8 15:41:48 2023 +0530 mm/hugetlb: Remove ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP We can depend on the more generic ARCH_WACH_OPTIMIZE_VMEMAP which is now used to enable both hugetlb and devddax vmemmap optimization. Signed-off-by: Aneesh Kumar K.V diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index d3f5945f0aff..77d9713dcd9c 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -100,7 +100,6 @@ config ARM64 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT select ARCH_WANT_FRAME_POINTERS select ARCH_WANT_HUGE_PMD_SHARE if ARM64_4K_PAGES || (ARM64_16K_PAGES && !ARM64_VA_BITS_36) - select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP select ARCH_WANT_LD_ORPHAN_WARN select ARCH_WANTS_NO_INSTR select ARCH_WANT_OPTIMIZE_VMEMMAP diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig index ce5802066d0e..9cb00f962de1 100644 --- a/arch/loongarch/Kconfig +++ b/arch/loongarch/Kconfig @@ -53,7 +53,6 @@ config LOONGARCH select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_SPINLOCKS select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT - select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP select ARCH_WANT_LD_ORPHAN_WARN select ARCH_WANTS_NO_INSTR select ARCH_WANT_OPTIMIZE_VMEMMAP diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index abffccd937b2..df2cd510480a 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -126,7 +126,6 @@ config S390 select ARCH_WANTS_NO_INSTR select ARCH_WANT_DEFAULT_BPF_JIT select ARCH_WANT_IPC_PARSE_VERSION - select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP select ARCH_WANT_OPTIMIZE_VMEMMAP select BUILDTIME_TABLE_SORT select CLONE_BACKWARDS2 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index e8d66d834b4f..5269131cc248 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -125,7 +125,6 @@ config X86 select ARCH_WANTS_NO_INSTR select ARCH_WANT_GENERAL_HUGETLB select ARCH_WANT_HUGE_PMD_SHARE - select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP if X86_64 select ARCH_WANT_LD_ORPHAN_WARN select ARCH_WANT_OPTIMIZE_VMEMMAP if X86_64 select ARCH_WANTS_THP_SWAP if X86_64 diff --git a/fs/Kconfig b/fs/Kconfig index e99830c65033..cc07a0cd3172 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -250,16 +250,9 @@ config HUGETLBFS config HUGETLB_PAGE def_bool HUGETLBFS -# -# Select this config option from the architecture Kconfig, if it is preferred -# to enable the feature of HugeTLB Vmemmap Optimization (HVO). -# -config ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP - bool - config HUGETLB_PAGE_OPTIMIZE_VMEMMAP def_bool HUGETLB_PAGE - depends on ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP + depends on ARCH_WANT_OPTIMIZE_VMEMMAP depends on SPARSEMEM_VMEMMAP config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON diff --git a/mm/Kconfig b/mm/Kconfig index 99f87c1be1e8..09ac60894763 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -460,7 +460,10 @@ config SPARSEMEM_VMEMMAP SPARSEMEM_VMEMMAP uses a virtually mapped memmap to optimise pfn_to_page and page_to_pfn operations. This is the most efficient option when sufficient kernel resources are available. - +# +# Select this config option from the architecture Kconfig, if it is preferred +# to enable the feature of HugeTLB/dev_dax vmemmap optimization. +# config ARCH_WANT_OPTIMIZE_VMEMMAP bool