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 0E847C7EE2A for ; Wed, 25 Jun 2025 15:22:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 71FF78D0008; Wed, 25 Jun 2025 11:22:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F7278D0001; Wed, 25 Jun 2025 11:22:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 60D038D0008; Wed, 25 Jun 2025 11:22:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4EAA38D0001 for ; Wed, 25 Jun 2025 11:22:08 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4263959B6E for ; Wed, 25 Jun 2025 15:22:07 +0000 (UTC) X-FDA: 83594288694.18.F3E0C02 Received: from mail-oo1-f45.google.com (mail-oo1-f45.google.com [209.85.161.45]) by imf06.hostedemail.com (Postfix) with ESMTP id 60EC518000D for ; Wed, 25 Jun 2025 15:22:05 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b="KMY2E/hs"; spf=pass (imf06.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.161.45 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750864925; 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: references:dkim-signature; bh=xBnbmvDXQQqOwmKFYmJ/fDQG01FChWx0N2UNNfV3wmg=; b=A+LTLkmdWi1WJkoFX+UEg+e4vZkjOoww/PE9zGBH0Qz2Vb/iQr3SEhFmyY/wZv/3O7wHP3 nbJyyb7pA/xi6CoHvlLlv+VzCwyWjDjebzq0t8Me3Vk14IvVc+m7zxi+EFfMs/i3CoRt6P CBhXgcRSMidqYvKtE3cAmpoMYRw2U60= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750864925; a=rsa-sha256; cv=none; b=0PI5bofW+3VMmRQ4g2QftChXSOs0NUAh8st2ZDasY7ILMXzu49HIXhtLiwEpW6iNIoA/V1 VHzh0/UT52YojzeBEGZbHRFNbj/UK602LSmKxrW6o3nEm9Qqkfv0n1e3gUZCuIIQOzgqyR Af7zAta4ZW5Kig0ht6iocb2W8byLfHA= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b="KMY2E/hs"; spf=pass (imf06.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.161.45 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org Received: by mail-oo1-f45.google.com with SMTP id 006d021491bc7-6113f0cafb2so5559eaf.1 for ; Wed, 25 Jun 2025 08:22:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750864924; x=1751469724; darn=kvack.org; h=content-disposition:mime-version:subject:cc:to:from:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=xBnbmvDXQQqOwmKFYmJ/fDQG01FChWx0N2UNNfV3wmg=; b=KMY2E/hsd34XfiaMYorb+6tHEQmIa4PUIAmuDWtVkeK/3prycDQBmh3nUtKHgnjpSA MQDyBY/3K9nqx4lzm4L+QRjsKZcFxScTHRdoHI8hgAEy86AVki/rcFDpXE5GjUGNKpDs YioVgNi9uBRiIpv0zSWg9hY3ANGGtdj6KyVGhqL8XdjCloMXOyf07Lu8ByNR0Kh+WwKp G2ARpOwCBKjHQ2Qo2FB4UgTAb/7h0i9pB999Ei9PFRnx69mMCsZm0Uw1zef8A6f+k6gJ 5i8vYYjZehNFMtfotGVbAJFviqxIJAS9qo6/9tmZv8O2Uz9u3gx6386ZCFC0PGgJlvH1 yGRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750864924; x=1751469724; h=content-disposition:mime-version:subject:cc:to:from:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xBnbmvDXQQqOwmKFYmJ/fDQG01FChWx0N2UNNfV3wmg=; b=azOl/2T8L2tdYYW+1VBGKptR2ckZSt6Y0c8/TimZit1kmc+ozZn7TJ8gdke+vhTuJA EoyTbcM1F2HtfQcJI49aAKceZMsqYB5kE0+/N0SK9lWOqlsBm6elYKtgXTJt6+tkicXq Zf8/u5HI4dvXgdi8jeQ8kyTDVJG4sylo9iaS5RgD+5sfwWIlYXdN+47tx/mkvf2JENnK uXiBfpmOUtwVMeGVQo3/+48NG7yufcZzOfnFwdo588b0g4kH4otXpfiE7oY2/5DteuZW NDRJcTT74HZyZWV9a4YkCVlh7nAPGTVLJbGC9Z58HsQAHDtxhVd8lHkBQq507unEgCz0 7iPg== X-Gm-Message-State: AOJu0YypBDu/SeNx3bQMqekO02Ubn8WrLkebybAvIgtyywtVzBgxn2V0 lyWBtVIyTTdXDa7oZh5Z9FLkH1KWJB7hyzP5aWs57e0riYVKn3APg7zhyRSW6//iJYA= X-Gm-Gg: ASbGncvcfdjVJkB1Xn2zdA1s9nLDAQQ7BLSHAoAptbbd5zvin4ogUbV8QxE46PZ0MiV /2bSEIzgY5CPRJxl1a5z5lKDpF4w06MmGCIG7H8TbRekRFwb7r8Nzvg2V1BM1653/Lj6+gY1i79 8/7kJoRweAH+PG0GIBMZa+CYVvvVsG+MiRev3JJZj5qPS14Z4b/Ws/5wMIh0hhlh7ltYCVJ+rfi 3JeiqTYyKhWcdaPZeDcUXZuXtGnHcTkk84LRKcvPMN2lGkvrrxWlH14wAK6+L8/oprneZdCjtzB rWJDQToBpkI9m8oYbF2czts0Kk4Xh9pZVdsQZyOjAzmk8yYKqokwITnoJ9Wl7REFHiJu/mHFous Bb6MZ X-Google-Smtp-Source: AGHT+IGLIGcFeEfhzywr1fHZLrnY945zHxs0WjAjCxuINidagJdX0YG/h0GiLO/8qEG2dqOJPOOzwg== X-Received: by 2002:a05:6808:201a:b0:3fa:3a0:137b with SMTP id 5614622812f47-40b057e6f2amr3056191b6e.29.1750864924392; Wed, 25 Jun 2025 08:22:04 -0700 (PDT) Received: from localhost ([2603:8080:b800:f700:1fca:a60b:12ab:43a3]) by smtp.gmail.com with UTF8SMTPSA id 5614622812f47-40ac6d11be3sm2251724b6e.37.2025.06.25.08.22.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 08:22:04 -0700 (PDT) Message-ID: <685c141c.050a0220.fc6e8.d33c@mx.google.com> X-Google-Original-Message-ID: <@sabinyo.mountain> Date: Wed, 25 Jun 2025 10:22:02 -0500 From: Dan Carpenter To: lorenzo.stoakes@oracle.com Cc: linux-mm@kvack.org Subject: [bug report] mm/mremap: add MREMAP[_MUST]_RELOCATE_ANON support for large folios MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: 60EC518000D X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: u4xif71s7z7u7yhxmhmi1m5zbfzoeg6r X-HE-Tag: 1750864925-659595 X-HE-Meta: U2FsdGVkX1+to8Ru8S/l7Cn6GGEidOoBEghO90QygKSY4XL+RMNgua+PFOFkGiBKI6gHjrVW12J6XMbKLdRztTnzvaYKOe7bF79+h8QdOvModegfR6MqrmFdMNv2vVWna9PwSvGG4NozgflcAEFl8VPhuN4FY8c36LW6HnyoDh5v8ObQXlPM9DbynoczC6M0yP+p3fxWrt+K6DTJ5+BSvWHmFsAtb0FKkFsy8/YoFrWkir4J2FWwcuk0dlVR9Hlua+TF12I/ra/79sroPqYkmDgfLuBWFpGNObieLu53orsD8soUPlQbNFb2dgq+ECAms7dHYMoLVTf+o63NJxDlDBjywc+2Ow9P2KoeCJPXMb3wRodR8uk4ZraXHJEK1FNw6WkzALIVdfrbFCegTKK087ERoH2lQgum/KWZ6rNVgwLkhUghY3UIT1yzzZsJSe1ey2ZxLTS39YIujnx+9YPRc4bjZRRMDt5HH34kEdTTJNBo8Glq/tuGH70LNFq62LpvepGEu3spXxzBDtNbyjyKJ3NeMn3ioH6xFy80Pp/splF87hN98JlKh+acvmxMOZwbbjtb6X4fQwl4vU9wp8KOAri5aW7OwTNXyKE9L5GdtpCJxIisBHgDaOP4h/An2fEytyAIKK4Rw5N2TEbgWARUwbptaQ+wccav6+D/G/wCA6eUTmtqrvQgTgQ4QaBBQUwdenzqOhkOeiP01BVCdP4If3Nfp7iaomWwblids60uBZuAdDGVg97fVNGUPk2SrldMuj2UrXKT04TxeZuuXHmmabIU51CCCitJwY8DPAB0d2gvZZXdUH8g7g/xGNAGDVrJRX4fdoHEIv3ibgZVXPb69QZ1Kl3dg4q6v22YSepg4CXntWioWDAdClnS0qZHRYNJu22AbRSt7v3aTT11B0ZuBARipCpYZqKgWQJ8k9u1DFihG+LqZYHjY1BQuT2+vGeOEijkTup/kfkfV/oQmVF doliqJRQ baBaXlpkBT5UDyP/h+sYNpizr/b47mKRqC4sHBa8HTuYX9DuH+rd7f/9OarOHoHjmaOU+A4fjDTHnkt+zfMyNgyQsaeoRy3oxWJCJ8c3isd/zHfR/dOtOdfAsSh/3PbUt7KxTqqI8Wl1wMg4Xym9XItxETnkshNFIqqhgUUuwn2HhumUgPO68p/bjhbhIh81bDT5V47YCaFOZStgz3ANWI8Ya5sVxlceE5wN2IFFqI630FvoptUz56rN0KLT7NXSzsRyT/7kBXFCmRnWK6U4egFWl1ksgi7r/f2IPhEbMa0OY/1u1hi5x7WAs0g== 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: List-Subscribe: List-Unsubscribe: Hello Lorenzo Stoakes, The patch a7fc0d8bd77d: "mm/mremap: add MREMAP[_MUST]_RELOCATE_ANON support for large folios" from Jun 9, 2025, leads to the following static checker warning: mm/mremap.c:945 relocate_anon_pud() warn: sleeping in atomic context mm/mremap.c:989 relocate_anon_pmd() warn: sleeping in atomic context mm/mremap.c 910 static bool relocate_anon_pud(struct pagetable_move_control *pmc, 911 pud_t *pudp, bool undo) 912 { 913 spinlock_t *ptl; 914 pud_t pud; 915 struct folio *folio; 916 struct page *page; 917 bool ret; 918 unsigned long old_addr = pmc->old_addr; 919 unsigned long new_addr = pmc->new_addr; 920 921 VM_WARN_ON(old_addr & ~HPAGE_PUD_MASK); 922 VM_WARN_ON(new_addr & ~HPAGE_PUD_MASK); 923 924 ptl = pud_trans_huge_lock(pudp, pmc->old); 925 if (!ptl) 926 return false; 927 928 pud = pudp_get(pudp); 929 if (!pud_present(pud)) { 930 ret = true; 931 goto out; 932 } 933 if (!pud_leaf(pud)) { 934 ret = false; 935 goto out; 936 } 937 938 page = pud_page(pud); 939 if (!page) { 940 ret = true; 941 goto out; 942 } 943 944 folio = page_folio(page); --> 945 ret = relocate_large_folio(pmc, old_addr, new_addr, folio, undo); ^^^^^^^^^^^^^^^^^^^^ This is a sleeping function because it takes the folio_lock(). 946 947 out: 948 spin_unlock(ptl); but we're holding a spinlock so we're not allowed to sleep. 949 return ret; 950 } regards, dan carpenter