From patchwork Mon Mar 10 12:40:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexei Starovoitov X-Patchwork-Id: 14009911 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 E7A94C28B2E for ; Mon, 10 Mar 2025 12:40:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4D0AF280003; Mon, 10 Mar 2025 08:40:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 47F8F280002; Mon, 10 Mar 2025 08:40:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 347A9280003; Mon, 10 Mar 2025 08:40:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1574B280002 for ; Mon, 10 Mar 2025 08:40:22 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BD846140F39 for ; Mon, 10 Mar 2025 12:40:23 +0000 (UTC) X-FDA: 83205599526.27.B71FAF9 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by imf09.hostedemail.com (Postfix) with ESMTP id E7553140013 for ; Mon, 10 Mar 2025 12:40:21 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=KWikPzq3; spf=pass (imf09.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741610422; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=hI2gC1jTrp0m8ZNlswu4ynEMVyG0y5Arx1GBXG1HMb8=; b=CAd4fEBRCnWOMvHdcucIaRnXFreimEJ2HHRvvZ+yU7myJ5aGoueA1CUH5motb6zFRcaMH2 YUGgaDIK7gWP7zwpe43ycBUnYMXFWPD1wBB8uRB/qCqduN8VoRQJBW+j5q0BEITJQmZcBs xrD5ZmWotpeBJOZvzJUjUp/FSwersnU= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=KWikPzq3; spf=pass (imf09.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741610422; a=rsa-sha256; cv=none; b=TMH2+rEuAglFWNp3f1aX/ccFk4qFv8JMPt0WWadlBpkORYNfdEOT4Kw9OmhLPxTyDNPF/s UNj1QBemDNKHCIVNY6j+QCFWOEpGkQLn22XcXAmQS7CvON8rNw+7apE4DaJPMUd820UgQq Txn32+LNrgKEfI7yED7wxgZ52JCP6y0= Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-390f5f48eafso2075633f8f.0 for ; Mon, 10 Mar 2025 05:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741610420; x=1742215220; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=hI2gC1jTrp0m8ZNlswu4ynEMVyG0y5Arx1GBXG1HMb8=; b=KWikPzq3p6up70GqaVCDcgGfbcAQq81RdlVYdZBHlIgkOE+IZUyNrE0KZia/+VJAxk 7YfHQWtwAs3DTwPtfEAqWpgFXLzh3NWZkdeSBVEV3vKeavCiY5gMhpp9UZ1zvojmKel1 Zy8Qzt37yCwV4M9mE7K8njEFOv/4g4Hg/QYNXJcfamQ9TBJI+nsZ5tqH9bA4w3R7nCd7 b1fIy4QOZ9qFf3jzy+F9qMVQSryizODboDQoffx2uEhDAQjMjjxsywYzMn5SqgLhAaTV Y2w+PxLa1rPx7MihsQw1jmV/pPXW+40M5G3mffwAuACXlR+JZug4PZ9bsNEG4/y9dEgp 4W3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741610420; x=1742215220; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hI2gC1jTrp0m8ZNlswu4ynEMVyG0y5Arx1GBXG1HMb8=; b=QUBIV9aGOgZuxm5sx++gyDkcllsYqbAfnOjJEKLJ+fn64CI83u9JI76TNZUKf47r9i XtDxcXrqDs++bGsIgG1l9WcnT34A5gE8NW3Q1zaX33pU40AXIm6/8EuIjBUPPl5g5GdO sFHIvMLKzPrrGKKNbjbVGk5gkT+17LS3jTlHeEwlywY7//QKWMCZo/bSM6mCzTRBmVLC 65ScbF4uLRAHhL23/RcvWqVd3TuQYW5bb16lkv27q/MuVTQNU89CupP5FT4SSNvpDODG mfEcmcEC5+T/aekg05KuNtmMzQclHg3FAvs/vYwsse5i+OZzsSuGCBdclpmBOxXE5Axv g4Vw== X-Forwarded-Encrypted: i=1; AJvYcCW9n3N1G7hqKizsgWxbNvKUzY83vxR/gPALFxz9ah/CeOwxTuyq1GnknEgslY5XOdmRYbeftaTSRA==@kvack.org X-Gm-Message-State: AOJu0YzNAoS+ErrKcjjpNlHCcnR1EK1F8kKbMobdN1be8pF6sMeXQZF7 Cf4c8G7/JA/GlehBoGf0DZe17AAdEYs7W1M50ZXbrOAkI/1le+MBJenhtmAos8o= X-Gm-Gg: ASbGncv0VukB5SInp884c6b4VzpX5SQWfXxs5rOykcVT6i+SBjCUIgtrzcbVlDRD12f BJa71kRAFowX+fXxG6O+3rJbIOk10A8X3aqX0A/jVInoHJ8ABnQnLLFhQHVGFM2V0kXa/r/H+zU v2kzj3YCqy21j51Kn8wcVpQgvFoxgJ0HoZc/YGn/U1is/Tfsh5bxW+DBOR4z81mdXEEWzJXeoCI ybiE2qRxCchwJ6/ZKaXTUq1nCh4drLx4PB8eP3WoPpxTdtRKzbv3HKgnHnMzrDDgwpS9nXdbMhQ Uj8syXfSUCVM45UoHgI9WdU7Xy5ScmHyqbCM6GJEsaxO1yju1kUp/w== X-Google-Smtp-Source: AGHT+IEH6NhHAgJ7mAgUXoXqb8wh/XTGHPhBAK6GgtU8DmQnz0GU37HtxF2yuIdrxQDQYwsv9p+RaA== X-Received: by 2002:a5d:6482:0:b0:38f:3e39:20ae with SMTP id ffacd0b85a97d-39132dc580amr10340592f8f.43.1741610420056; Mon, 10 Mar 2025 05:40:20 -0700 (PDT) Received: from localhost.localdomain ([31.217.44.201]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c01952dsm14543759f8f.45.2025.03.10.05.40.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 10 Mar 2025 05:40:19 -0700 (PDT) From: Alexei Starovoitov To: bpf@vger.kernel.org Cc: daniel@iogearbox.net, andrii@kernel.org, martin.lau@kernel.org, vbabka@suse.cz, linux-mm@kvack.org, kernel-team@fb.com Subject: [PATCH bpf-next] mm: Fix the flipped condition in gfpflags_allow_spinning() Date: Mon, 10 Mar 2025 13:40:17 +0100 Message-Id: <20250310124017.187-1-alexei.starovoitov@gmail.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) MIME-Version: 1.0 X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: E7553140013 X-Stat-Signature: hso6o68r5ph8xr8t5if8srbzukcn6t8q X-Rspam-User: X-HE-Tag: 1741610421-505786 X-HE-Meta: U2FsdGVkX19UfSave1OfgFD+epVYh7CdXdqSoxRZ2/lKfe4+LaNXEgO7JWWY4/hsteKMdUeEju8k+MNWyh/5G/N+zQvEECDeofJlhutvaFADXTMP7U859IFHbl39okZ00hhL2r09/BMJ73oprzrDhUViqRkaF4cEBtvNg0zLXB2d2drAZTZslsDAVfOr1CeP/W54oKcNua7opUd49b+A6l+4zEHqW8dX+8+aN9ZR5dqPzHx1l03uNklUCbsT0F21Buqy6rnlgMlUGNzvJfVOnU9V+PiK24eHj62gFqfKSdN3ZyRzGbv9AfpyoER1npqW2uGcMFOJUyrWWEKhEStg74DZWuBs/BXn/D+MnKfczBjjb3CiFwP+1xTfOp+rkrZdn+ElTs8Q+9OpjyaufJgm76dKNwt+wbUQuaMLR0I3pBXLkcG1D6JSwwFwmRhz93ou9E7rST+9PpUBFXQOF6i1g5uL5nt90CneAvcio87YYq0Ku44rC9ZF6/Ppw8Cn2cF6JSMTU0VqavAB37jQfr8wcE306QVWtCC7w8R4WW01CUgO2qXQwyBDRxAYisSOXkejTBftZCvVZKUBINPl1blBQcw7Vdtdwf6qj59XvdmwvbTiEGPc2FtNySDv/uJ1E8hfv+mmXkXmxUskbBE3dCuLYXWU8XPz9koMdZA7DWkfNn4GLcxJ0VNCnxJpr2Af8OTbZ0MBj9Nz9cKvq2d4MPNrZycb1gFy7V4/C6vQtCZZk6Y5zivP/cLQIOyTT5e7ObMGqrhuFtpXZUQBp94zwkaBMv0fS4ukywx1+rYojOLriQeOCvCu/33hDnpIOoeSbZECM5RlT7sNoT7WfdIu/56KPbZj11Dnyemd/V0Rku9Bm4daQwPCoTnrfwNv0nP0HWKO7i31W0reIZ0F+z2h5NzeE/UE6dIoSSsZ+1dk0cobtwIvaVx50B4jfYqE+KWlY4YGhLMM0tazaw9EgLWqB2k InoFUEr1 YGKSSS8+kuwgK0l6jYP86knVUraQI26DzVKgbd6gGSI+0mHMvEjn9nag8qhyu+8pPeVE45phtqI/7uWUIfh0FpuCHrA3rCnsG4d0APPCSF+CROwUZnSQYKQ8uk5d5w6CeLlHg5X4jO6j6q/xrMpZCELV++V2FOawYEgQ+rtfyv9gX3/M6R9X0yjqviXWwJGkffG6blCEEZDbw2Uv0qez+55JERx/+GdWg/PQN6jaUYppyia4KVa+kAINIgZ7aajEe25zYXRpFtqUNiyZyg8QDegbEvYyYdCXJeOKrv5Ff/zKoW2CnqO/VQLlViLI63RkqiN9H2O+JXNN8q59dpVXHqYqz8BXVHtHztKcvJK+d148MSyr93HUI8EQBVVtiSfOcbCEHVnsAVUMdh1f9p3TXuV/0fVFYt6YxTOQBvBX0U+F4nRqRfSNWy08xihFCauuMw/LsjF0dHK+PGtPC0pWE254IYW2B7z/yQW8o 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: From: Vlastimil Babka The function gfpflags_allow_spinning() has a bug that makes it return the opposite result than intended. This could contribute to deadlocks as usage profilerates, for now it was noticed as a performance regression due to try_charge_memcg() not refilling memcg stock when it could. Fix the flipped condition. Fixes: 97769a53f117 ("mm, bpf: Introduce try_alloc_pages() for opportunistic page allocation") Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-lkp/202503101254.cfd454df-lkp@intel.com Signed-off-by: Vlastimil Babka Signed-off-by: Alexei Starovoitov --- include/linux/gfp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/gfp.h b/include/linux/gfp.h index ceb226c2e25c..c9fa6309c903 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -55,7 +55,7 @@ static inline bool gfpflags_allow_spinning(const gfp_t gfp_flags) * regular page allocator doesn't fully support this * allocation mode. */ - return !(gfp_flags & __GFP_RECLAIM); + return !!(gfp_flags & __GFP_RECLAIM); } #ifdef CONFIG_HIGHMEM