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 7D8B8C3ABA3 for ; Thu, 1 May 2025 03:27:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E823A6B0089; Wed, 30 Apr 2025 23:27:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E30C76B008C; Wed, 30 Apr 2025 23:27:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CF8756B0092; Wed, 30 Apr 2025 23:27:25 -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 B08A86B0089 for ; Wed, 30 Apr 2025 23:27:25 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 120955F1EE for ; Thu, 1 May 2025 03:27:26 +0000 (UTC) X-FDA: 83392903692.08.87144F0 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by imf25.hostedemail.com (Postfix) with ESMTP id 4AD86A0002 for ; Thu, 1 May 2025 03:27:24 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=TDWULt7o; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.210.172 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746070044; a=rsa-sha256; cv=none; b=WQ+imU/XzDJTg9ktHNMRuBncvlca+oKtBgVB3CZbnu5MZ52YeRHoYWjyp5dlNmMLrZiLMo Lw76Lixp0laEP725ciu69Lv+QTObnEIJnBI6wWDJUsfUFyLDaPPNcBXzFwt31dhCHRE6Br 1o+iV8DddeJXLgn8R+FWq7rblf0wuc0= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=TDWULt7o; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.210.172 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746070044; 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=aw+Ro05sikLFI0WGXQ5OBB3RUGJYZUWL9yUFgZQkPbE=; b=uSxe6fTAHD9SQR+7vlE2rYcxL5F75YzUSiQu0/gTNhBpaTFefASfz+sMZx3dAHoyJDwC49 wrG/AHL0o0ZOQLLRSa1XO/pVBqtbQKthAWjONGKOU6kGzyA4ylFWipE6QpBrCWGcIvtu1o 5fPXZgkgLfyqOGPYRtLk74Mtf6LsG80= Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-739b3fe7ce8so589216b3a.0 for ; Wed, 30 Apr 2025 20:27:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746070043; x=1746674843; 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=aw+Ro05sikLFI0WGXQ5OBB3RUGJYZUWL9yUFgZQkPbE=; b=TDWULt7onuh+eR8EQKuUlySnrIME26XZoMDP2thIqbpfzqalUhh4FMKfcpaxIDYUIB /fmwntuuUsmAUlLZIF3IaqvpdIT4BgMcE5zypFBTUMkvnrn9jK7BbIfXXBrzVWyGKylh Xr5W4zn69Jdr9v7ydbbEIPQhbWf8Hi8EeafgBIqztxUPro3uvKeiEoR5yUxVdv/qiSUM yHrtwiUXxNjPFKKw8vJXTGgP1FNP+yFmt5SLPnrPYqE2qnj3WsaWxOnQM70EGcgKIYaG DHriCrJniQGBUa6NTwBSusjRjWZQLAfygowi/b7+mJ+33VxtKNGhGdfylUIJwiZDeEDL 3Z+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746070043; x=1746674843; 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=aw+Ro05sikLFI0WGXQ5OBB3RUGJYZUWL9yUFgZQkPbE=; b=wgtd9ta6a0fG+5LnutceSKeWXHOSdPo3jQIvVUMy9lCpOkU20lkTTmn13zP3Z/UBcO DoDFHlSm8AkHbai9Z7dTvnWfko7QxIs8KJAoPAblCQ9hY8a1TG/AJ49FI3rm44CrN6Uc bDoxJNHdvBFT9yB7ds3f0Cd/4edx4W5oG6PDsOae8tKRbtA8LX5UHxzDN9VNzmglw2L/ 9EuQLrA8KgiGaWCIRanyi0heQsXW2GPlWTV5DoD8fY4HYNpQ7xVaNpSargldne7CL8JM YL8U0FmSdnxlK95fg+jSXZJyhOe6uAcfm1cCPLb5OYGxQN19qdL464IaNRcKMLaapoQ1 QinQ== X-Forwarded-Encrypted: i=1; AJvYcCVzV35gEHwdTaIQ1g1ymXQvo9yITqeg9cSAmLYJM1YCQFvjq+jyck1lC6WvBMSGMTfQceatjARR2w==@kvack.org X-Gm-Message-State: AOJu0YxRC2YyC8dGhRT44kCjwaRKvctGk0AKeUmuK3y+yOnJqJa6xBfN esjaokz+ZxreFe6mdi4O/w0jIKlaGUhtSef8hS3j1APaM38MnPfw X-Gm-Gg: ASbGncsMgJ0NANSdr3RUkiqfBIX/nfuxh2CCfL4lYNHNF3sdWVgaTv3ELKUxQtpHEjm MbsVpCG+RfEiSwxrfWjMoPHdcHvKTSZsh3voaN/onrorvzNWVQV2uxsFUE0bNnISQSD397JEKNA tddqXaVcAgTVjbWHN8jVBVfHA+0815QAKIkc+xMJOrweeVYjApX/KHBwj2ln6oNyOlMJiTjxrh6 DI6pRVHygkaIQPeDgdTG8Mq7gM87wghbn5kZZ4KyfgFJYz4+gN6MYIugi7BngCroF5SI3XmeA6z TN2fs1BUXhL31ur35uLAXz2GM4x2J7fa3u1aWUCVfaSbj0IJB3ae2LrbQQBnHhzx6Ruv X-Google-Smtp-Source: AGHT+IFX4ndpnowLzcHiwow2PuoezZZzTSn4BGhnzyQUjSnQBLptkaQCVUY7qSA6UYf1gI5AOUyjIw== X-Received: by 2002:a05:6a20:d706:b0:1f5:5ca4:2744 with SMTP id adf61e73a8af0-20a87c54283mr7013669637.17.1746070042944; Wed, 30 Apr 2025 20:27:22 -0700 (PDT) Received: from localhost.localdomain ([2620:10d:c090:400::5:13f8]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74039a310f6sm2519013b3a.114.2025.04.30.20.27.20 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 30 Apr 2025 20:27:22 -0700 (PDT) From: Alexei Starovoitov To: bpf@vger.kernel.org, linux-mm@kvack.org Cc: vbabka@suse.cz, harry.yoo@oracle.com, shakeel.butt@linux.dev, mhocko@suse.com, bigeasy@linutronix.de, andrii@kernel.org, memxor@gmail.com, akpm@linux-foundation.org, peterz@infradead.org, rostedt@goodmis.org, hannes@cmpxchg.org, willy@infradead.org Subject: [PATCH 0/6] mm: Reentrant kmalloc Date: Wed, 30 Apr 2025 20:27:12 -0700 Message-Id: <20250501032718.65476-1-alexei.starovoitov@gmail.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 4AD86A0002 X-Stat-Signature: e8syj9prqta3gz9jbpj8apr397wkrpy1 X-Rspam-User: X-HE-Tag: 1746070044-892388 X-HE-Meta: U2FsdGVkX18O1MrDlZpCPZmUHcAxXlT9DeJYEVhW6cVGU+pYz4SUMkjYtWTnRbG9XQ8a99benW7L8kXNJPuLiKFE7C3atROpo1AivwCKo54GZFbcqRlWkMciKuwGwYxYqOIDlrIF7GUAgltzMIF2EuC4/XEx1faEzk+1hbLKlzGdLL3Zva0bqANEfiw2epGdQsn2MF0vhNoV58xix1XMcKJpqsGYM4P29dP3x/QCjiYqfNjIyPPTA3QLwsNAkpZugec6pqUFms/aL77G+9dVY4j586rnwAADKlwSLZ/8/qHLRfO0n5X/CV5AKnI7RD0w7HY6I/ztmljRBy7iKqqn3/+8GGi1uDLoVSOA3R2+tmTLWZzjsIYy+4SLXvdkUUBkBzKGzNowWa6lwcPpU/eWTec7GaoJGXwel24ut4JIe8mIl3RsX5gURI04edF8N/NS1mGrcILeU9y+0YeoWJPbMXd9+FR6Ks3M0QBLN4oXuyx+2fNYZ8QIYdhOxjXR7ZgsVIWD1OB143RznjH1vZf0k4F5BySpVuAkvXwNv+3xRLCXaA63yGeNluBa1IlqTxlaGqSw7WMBb4yjAA57Bkw3yzh/1Jj5knXLsbK2jf08aYvlUxk/H67XRsCJf4kwZHy2fbkJSMq4filg+HH+qwCGh9TeSA0YBzgAV8Iwa9UWoP8l64nQRMK2ZygU/Qb1X3Uv5sduP56sEDHn5gwVwHputnsLiwSEQktT5RfOgvU86F+3P8aoutYNxWAgiohtNWHqXOFaM3SEXe0p55xpNkKiWFgdEmc2CphounlMIKmWM0ZTO+nfpnj3sgMWu7dsnro8cQTvF3BkP5UFDkLr/9GgThXIRo02gRxr3690bF6bDRPSHKmpxwAcHJczlXOe2L7yV7aXXIjSczaXdsJZu/eHUblnovDwobkUZ8F9/RkYvLIGkVqQein1KKsiWP4G6+HdCaWuKlkLqngJ+FcuOMm wjCGWzp0 2/SssJCE5OlREOMjeOEW331LshMuKewcjJMw8xADfG7+FjGa0M85VWkBMTfnqX47fjDqnGG8MKJBRtJb4NnaZunQz6kWM8BY1UZ1Am543y/tDlyo3k1cwmS/ZIKetfivd02meU6+x1E2thdzyeqYJ+ZWoQegRbe/n6iHZmMkMdK7pYTB6md9a6Cgz9TJ2VOrKQrXYJZZ0t/IfdN9MzfNp3ZG331omhipNWRZAGBhjGegL1+91qRBckYrrn1/HAw2b3Pio5jnwDW2VdWJqBKF77kmKlyiWGah2hbwClsVUdXlJ4fwy/Tkj6DI0Cungg9vEcMjK79Bqr70XW0ZOlIfy5rWTK3ld64eymUahjoi7M37fEn4yU6/ao2JUxwxsLlnZUOYRzfMyNumvh+Eo6nsSMgB9Bi3qyzKXkQGvq7kqeW2gYV912XR3mGjpDol0wm9UUF359GGXKwK7Das= 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: Alexei Starovoitov As promised during LSFMM here is a reentrant kmalloc. See patches for details. Alexei Starovoitov (6): mm: Rename try_alloc_pages() to alloc_pages_nolock() locking/local_lock: Expose dep_map in local_trylock_t. locking/local_lock: Introduce local_lock_is_locked(). locking/local_lock: Introduce local_lock_irqsave_check() mm: Allow GFP_ACCOUNT and GFP_COMP to be used in alloc_pages_nolock(). slab: Introduce kmalloc_nolock() and kfree_nolock(). include/linux/gfp.h | 8 +- include/linux/kasan.h | 13 +- include/linux/local_lock.h | 15 ++ include/linux/local_lock_internal.h | 36 +++- include/linux/slab.h | 4 + kernel/bpf/syscall.c | 2 +- mm/kasan/common.c | 5 +- mm/memcontrol.c | 60 +++++- mm/page_alloc.c | 21 ++- mm/page_owner.c | 2 +- mm/slab.h | 1 + mm/slub.c | 280 +++++++++++++++++++++++++--- 12 files changed, 396 insertions(+), 51 deletions(-) -- 2.47.1