From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE3322C21CF for ; Mon, 15 Dec 2025 18:17:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765822645; cv=none; b=aHaFymn2eslI/SoYIN/YM2jpByDwpr0PdG31Iaw4KKYyKK+s+V1oJOLYPiF1mUQNxxCKGUFCdXaGn+ogIRi2vUy/kIAJ3B5VnskfkdBeJpoIKnsLB83/Awh48Iu2AMSV87K9El4J++6CBhh4ZiXAWW8LuM2N/wMXmdeTG/nnBkU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765822645; c=relaxed/simple; bh=1kq4tXmJGV8Gt/6eSYt2dcpGGEU2lXmaAjt1ZTnpNJQ=; h=From:Date:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=pxGITkKP18NVgfbSiz2RVlT9XC0aIQJlx8J6S/7MgtGBc9c2u18bApmE9ihwaHPbLQoFFInHu/MWxM8lIzCZN0ir0HgsoSBkUPUGubSFWf+YTqZ3VCQbvtJGKApZWSNiH90IT+GF0jAa0kWb0/0vL9jM5s9fdeWYnvHlF0GmIEA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=G5gJHFbO; arc=none smtp.client-ip=209.85.208.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="G5gJHFbO" Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-37a5bc6b491so29401401fa.0 for ; Mon, 15 Dec 2025 10:17:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765822640; x=1766427440; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=8SDuYcgYt8Iaz1SlD83l9AQG5ZEqQi3Tk0awwVnuArg=; b=G5gJHFbOgnaNE+E7WKfHI9HI6+wqb+kvhneZyxm3AFtAq36jn0BLweZnLIPFw7FL9u rH5bN/WMxCjG99y3SzmH5CB68JfIkSG1PyBZ87GWw2QSpcm5r57qQGVJD+Nif4itca++ uSatMtMEq80B4uqiwgKa++JIsZhoMT8pTyEZyBQXKbLoyK5qh6vKa2Ur7yWhQeNVzyap kON2dzS0PQK3nZgrMa8jt/NkSc5uvKNTyXeFNEO5QLcziXGD1ACCtcqZ1QznQnRdxNFt II2/9YA1vgrH6tkQiXqPgtj1xKO8TIvjqIjIZ6uEEpUn9NSAh8LM81iMs2N3p9YyfQze jVfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765822640; x=1766427440; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8SDuYcgYt8Iaz1SlD83l9AQG5ZEqQi3Tk0awwVnuArg=; b=ZGwgsNjGqVCEFvoS/2UqwOiUWz+YqQ47hl/ujSgVpF9GOCwyIWdTEgtwBmCd9Byu8d sY7u8xMgls/Zc3eV60k1e4X1cEsSJTK7No8KadLT+KpJSGPxQ0YB/EDK+ULtPK4Pi1Df kKegxAzI4IqxQj5AewfkG+YbGAixaZeDrQwoMiw0eNFXXre59kFdBGOsTD3CN0f1cbLq 5NtMsjqfdtqzItYDBttvUt7NdhT4AZHk8FDjQv2AIQoNQcFs5Mx7uDpIC7l4p2wnjIS8 J0xkHyb6jkkJDXbq6/aqjcdujxDApZ++VhGONLLZbKImt8qz4pbDH8aCc429wlKHSSuD sD7w== X-Forwarded-Encrypted: i=1; AJvYcCXgmDrgd4jaya5StlRx1kXDck6POyJuyV//xkdYKCoMEJRnLMOFQaOZZOuDWLcIuFUQRKshATYsFQALCFA=@vger.kernel.org X-Gm-Message-State: AOJu0Yyybfm1fKvz1WOfj1U4KxNWcxsHFCM14mOLk60e/e5CTKOYA2h2 JAihuH34VjhxymaY6HlI+SniCa3UFPW3g9Yxrv6eljz+YP/5FHINauyPHNReO3RojI0= X-Gm-Gg: AY/fxX44E3Ri3pvhowe+xttkXRhW8weFS6Ol/Wv5+rZWYb567dvfzIkbD07lkfGyM3V 8d6A6Q/0CUyzdfYIfp4S2EtK5DvYOHwULANNcgZL5xn1WiorcUq0zg8G3/xHKzBlHsKSfHFv+rQ yN6XnGBrqTksXGPW2OuUJWNzHm8r5oJsIL/pKs0BjLQn6eykgDKNkiIbHWBqmtUNzo83hiXTjJw ndkOPfouotCFOBzwu2j17cO1Jv5SneC7XLCXjG9Kns5o7Qxr/eaLI1PsVHat5NwY8LuoiEYO2ut cDWwEbD/wQaLcAVQZC/KOwXdxc+OuzQ2UmC2e05fZZd/rBEwNFzOirrE2ipw86+iCXWSqCqHNjk vYeqKQdEqVzUj7PaNb41v4I/qjiI0e4mTOlItrPoDQ0THwcZuixlr X-Google-Smtp-Source: AGHT+IHIpWAWwFf19dyptIqYZHoE61ofRWWM/liv2W0ayoYF4HcpI+iP57FxDb1keetfu/UwgCkMcw== X-Received: by 2002:a2e:bc81:0:b0:37f:8332:6ae0 with SMTP id 38308e7fff4ca-37fd08a23aemr43667381fa.33.1765822639677; Mon, 15 Dec 2025 10:17:19 -0800 (PST) Received: from milan ([2001:9b1:d5a0:a500::24b]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-37fded7629esm28801271fa.24.2025.12.15.10.17.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Dec 2025 10:17:19 -0800 (PST) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Mon, 15 Dec 2025 19:17:17 +0100 To: Brendan Jackman Cc: Andrew Morton , Uladzislau Rezki , Anshuman Khandual , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] mm/vmalloc: clarify why vmap_range_noflush() might sleep Message-ID: References: <20251215-b4-vmalloc-might_alloc-v3-1-92dd8e406868@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20251215-b4-vmalloc-might_alloc-v3-1-92dd8e406868@google.com> On Mon, Dec 15, 2025 at 10:40:25AM +0000, Brendan Jackman wrote: > The only reason vmap_range_noflush() can sleep is because of pagetable > allocations. > > The actual allocation mechanism is arch-specific so might_alloc() > doesn't work here (what GFP flags would be used?). Hence, just add a > comment. > > Also note that this might do a TLB shootdown. This is not actually > sleeping but it requires IRQs on for x86, and might_sleep() incidentally > serves to detect violations of that too. > > Signed-off-by: Brendan Jackman > --- > Applies to mm-new. > > Changes in v3: > - Added note about TLB shootdowns and x86. > - Since the comment no longer fit on one line anyway, also be a bit more > verbose in general. > - Link to v2: https://lore.kernel.org/r/20251209-b4-vmalloc-might_alloc-v2-1-2462ba26ead1@google.com > > Changes in v2: > - Switched from might_alloc() to keeping might_sleep() + comment > - Link to v1: https://lore.kernel.org/r/20251208-b4-vmalloc-might_alloc-v1-1-94a9bb8ecb08@google.com > --- > mm/vmalloc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 41dd01e8430c548167d6123f6ec66bf798f20eec..be4e5f2566a4490d45de29568df538b7c8515b01 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -305,6 +305,11 @@ static int vmap_range_noflush(unsigned long addr, unsigned long end, > int err; > pgtbl_mod_mask mask = 0; > > + /* > + * Might allocate pagetables (for most archs a more precise annotation > + * would be might_alloc(GFP_PGTABLE_KERNEL)). Also might shootdown TLB > + * (requires IRQs enabled on x86). > + */ > might_sleep(); > BUG_ON(addr >= end); > > > --- > base-commit: d0a24447990a9d8212bfb3a692d59efa74ce9f86 > change-id: 20251208-b4-vmalloc-might_alloc-754a791e4e10 > > Best regards, > -- > Brendan Jackman > Reviewed-by: Uladzislau Rezki (Sony) -- Uladzislau Rezki