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 9C1FBE77184 for ; Thu, 19 Dec 2024 07:03:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DD5C46B00A1; Thu, 19 Dec 2024 02:03:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D83C66B00A4; Thu, 19 Dec 2024 02:03:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C24116B00A7; Thu, 19 Dec 2024 02:03:09 -0500 (EST) 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 A47D96B00A1 for ; Thu, 19 Dec 2024 02:03:09 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4ED53120676 for ; Thu, 19 Dec 2024 07:03:09 +0000 (UTC) X-FDA: 82910815554.27.5E8E209 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by imf28.hostedemail.com (Postfix) with ESMTP id 07D58C0009 for ; Thu, 19 Dec 2024 07:02:30 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=LoIcoodg; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf28.hostedemail.com: domain of mhocko@suse.com designates 209.85.208.43 as permitted sender) smtp.mailfrom=mhocko@suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734591772; a=rsa-sha256; cv=none; b=nUT8J+lhKpb5xmT9DubQsb/Hut9jZbqJg5+IuhvGVNv1jy/wme1M9k2p5IT2lz+kjJ6Br7 EoadVt46NGiyLSPdegko7Nxmbdi6t0POwqXVBdzgNp4iGnMojcXXyR6v/GP0c9kIebWjol hZ1ecuHiJCw/d2aIhQyQx/9A6g8sx+8= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=LoIcoodg; dmarc=pass (policy=quarantine) header.from=suse.com; spf=pass (imf28.hostedemail.com: domain of mhocko@suse.com designates 209.85.208.43 as permitted sender) smtp.mailfrom=mhocko@suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734591771; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6EnveSRe195KkACzp6IErx9PltTepVYopxXSfbLVNa0=; b=2sHusbJ6fZqZYoPqvOb0SJviZlc3lZIKNffozs1BLKqKzzRoCWs6kkyGgwJ7MNfhg5tKv7 QazDxmw8+Cp9FvMghqAAPIyG957DisybVXET9TE/Mf3lwlx48z47f/4Cj1DMN8S6m4jC+9 EfVzwkaTz4XgnuNJ1xjdN5DDJ+bCb/E= Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5d0f6fa6f8bso633229a12.0 for ; Wed, 18 Dec 2024 23:03:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1734591785; x=1735196585; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=6EnveSRe195KkACzp6IErx9PltTepVYopxXSfbLVNa0=; b=LoIcoodgaRNZuK+gsHJegkPfubkoej4G71D4wGRnaI6y5P+aHlO2A6w5w5lH5eWXtL +WQooaaXY52zjROna/LUHyl29OZorchHWWSbKNPoIvJ7x2yFywEsk6HymlgzLANK/3ux VmaIkFRraVCG3HPQbDVZwCIwWxUDGvN8vwZ6tM8JBPkbdbSYlAH41mpQqUfiYohCc01D cH7lkzeg9v7JVVy4QhCMElX1CFgAeykc7YJfiY0bVEGHvj06H+oWNyWbMDxBsulxkZGC x37IqCMJbp1LVPcp+faU/+IFiAl/vIUEzxnyjtjy5Grz6/zRXkoIU4inp9DF8oSd3XZm 8zeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734591785; x=1735196585; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6EnveSRe195KkACzp6IErx9PltTepVYopxXSfbLVNa0=; b=spbjHfVaB4f2CJP/dkoSxLPy1OI0bu+jzpfweKCW7PK9u8YMoqjaxHtHVpp4/W6dA5 H6UxyBTpWrBGTu3kbdb96FbTqGbopphfZmZFkpU/67IBIivte2EDbl6TUTBqsipLDrZs Uu2q5ZRhrEVgQ9jrmGfVsZ7230FY3YB6ldyKvpvyBDf9gQoAfmxi0TOOd73C1FwGELz0 K28izCb+wHi2VPrV+1gWWRWD9hgFiiLkmLIeANx6ZRPeXX45ydkHFQiEMXOEQZ5STEDh xrxw4NZWjrClj4EPHnrm1aqWKQh9Q6WjpuM4b6PHz1LDy8WEFKLeYfeEsrF5sduCOvcy PHPA== X-Forwarded-Encrypted: i=1; AJvYcCXHBIv0cliGgUSxo8CCkGQzobaAHDE1WTCWzdhI/Tn3J42phBca7alQzk1JIamCNSJATlvRgx/nLw==@kvack.org X-Gm-Message-State: AOJu0YywPjPoF6RKD8ArJNxgjPWVOkMLgXrk7oMIZPPaFoD7bzb/UK+h E/MLMXPBsK+x429LY8BD0e3v+mAQLfgG38LgRv8U1B/kYXCYUCVjrWJgzwA5VUo= X-Gm-Gg: ASbGnct/WYxBmGnQ4x/CgqnsXR34G2/R/3jiTuOs7bGGLGKeVM0NfYVT23lWySPdFg3 BS5vvj3b/YoeLkqDOQwNvyditxV6ateQ3f0HD0zqwOAi3bMdu5fQfBXX8sDsGWnXN/SJGrqObG0 RhYeRXjT0tt8jZn3qbqfZQGSazVw65hCZ3KTsi/BuXOgymiJ2sCeN6l1iESdfoIvTqniBHTchxB kBoecQJLsEyYJ8QlQK9gqMOwLh925z/C5FqnbLORzTpaPN07ASbiJpAGXKVb/pT X-Google-Smtp-Source: AGHT+IG3L6jZqjCglPktALyzgcJcm0sojQ6OLHrpen1D6VLMWKG9RI/QbMoW+YgvMNeMOrZko9hEVw== X-Received: by 2002:a05:6402:4025:b0:5d0:aa2d:6eee with SMTP id 4fb4d7f45d1cf-5d80261d527mr2001196a12.26.1734591785486; Wed, 18 Dec 2024 23:03:05 -0800 (PST) Received: from localhost (109-81-88-1.rct.o2.cz. [109.81.88.1]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5d80676f1dcsm351083a12.30.2024.12.18.23.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Dec 2024 23:03:05 -0800 (PST) Date: Thu, 19 Dec 2024 08:03:03 +0100 From: Michal Hocko To: Alexei Starovoitov Cc: bpf , Andrii Nakryiko , Kumar Kartikeya Dwivedi , Andrew Morton , Peter Zijlstra , Vlastimil Babka , Sebastian Sewior , Steven Rostedt , Hou Tao , Johannes Weiner , Shakeel Butt , Matthew Wilcox , Thomas Gleixner , Jann Horn , Tejun Heo , linux-mm , Kernel Team Subject: Re: [PATCH bpf-next v3 2/6] mm, bpf: Introduce free_pages_nolock() Message-ID: References: <20241218030720.1602449-1-alexei.starovoitov@gmail.com> <20241218030720.1602449-3-alexei.starovoitov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 07D58C0009 X-Stat-Signature: ddbkb1xujjrezxc4jekock7hrt9gz569 X-HE-Tag: 1734591750-704041 X-HE-Meta: U2FsdGVkX1/O4EQcf/Wwisv6HTF0Otljet9hW7IoXS04cIvJilsbY6pGzSMemS3inZhZzyjk/SCZ4dZro0DCIj9H/M9e12ZV1EAgVrmIJs5wCX1Yidvr3aZIjAIVGuTk8c1iELi3SlF3P6R1fvdSATxyOv8c7N6HxWL4K4DWPEOHT9XQtZLawRz2fhIqLdO+ICt2OB9LfHW6ELJIr9qT9srnOdntejyMUeiBVS7IF6Jpdm899aPLPorB39K0CQhDR6NtUSQssgIUvzjSxRorOlr4FuwfbwouOn3qRGa5Tsb0UkJ9zhgEtmjHVvrxh7nWCDWci2kWWLB4G+T5EXXW/Bq0UajtHKQ3l8HY5c85OjvR0tIeEPdZqX9Ocd4/z766bffRtj0jrYSzOXzYkFZpknPhrkiJo7ybavg4Keihp/BplWirug4EAiaw89Kl+IIoHg2FFsJrt9izJWvrRJ8TeKIq7d+LclUnWijz807ZyE7mSlDMV8mKbbgfmE75ISoPAoUnd7XzSyv/WxXYGs7NXbJ9VRhXtqr/uTBruNMMbX9AuWBvYg0OKyBoFI7XO5AnlkXGSm+XCYAPRM5GPaTEmLh4rbaZdc8T0gNKxkBngOsQKmevtx/niH69tALWV5FfwJvlXw4H9pZ1fLZNAhZbgA6CBhQB8lIXq8pc1ddwrXM/uNymr43hOyLRgAsnn8tJnk9iVFetZo9PQpTOmr9icHjN1DqL/IJmXOCA0vU8pq/TpeuNLg/qrRSwjkFIUKPtgpT4fL1vsz1phFhwQb034tAcA9SZirDarfjIwPRmt2WXOb/DaP9aFPtIOpDrMJ2j0qOVziQyT3BP9ZC1ng5iv56R1ZjexKp0DuBbSQik8i5xVUatnm+fbGSDnYbOg9BdoYbuuDPgCMFd+JF8w+YoZPnvq2h++MxqYEYEHNRRCHOYXghVO17qpEvYFuBir/E6s+V5h7UWxT+rZdVa5OV RQZ/Bzwp kqoI6w6+Mew1x31wuBbd1fBK2LInuAPwN5gGuWz+grK2IN0hCXG/vJ8cn/aXrjmKzwQVV/ydxKNU0cNoZUbMrEEzkJmNh0O+wzmD5VscF1yyY5W28q/h0OiH/yaTR4wUaxE+DxaC0XmWApTtxkFTfeQvmSX97hdm7qfaM/ZQAIRGayTB2vqeljXiOhiIWB1tip5x4p1aBMNV9z1CTb/Kb9UCZmnVOSp4xqn1bVCuFWK6Ft0sHU1FnTdB4rUdFUZYxpKUUY5Ir+CvE+HMTzuqIrtNPahtOFEv3JcZ8pwTsiaXRDVIpAHZqMZLt4yFvZ8NkK1D3Ssx0aWMdUuuH2yV2xhY57N0oGSLTe6sULhXz0igIuCImgMt7w3W6kbD40iNzQPmbn2geR96z/KuIo0sITJdFTguAcyhdwkmPfFW+6pzyBsIOu6/bnsFj9rCeRmgtTSM8DtZcZCo8flzDIhOQ7N2ZgJEhJA818q1T66quqqESOV55x4oe7Qu31sC1Cy68hY87nkgGObignhdr5Bs8fKiQQBHv1gIoivsvZi0WBHDanlo= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed 18-12-24 17:45:20, Alexei Starovoitov wrote: > On Wed, Dec 18, 2024 at 3:32 AM Michal Hocko wrote: > > > > On Tue 17-12-24 19:07:15, alexei.starovoitov@gmail.com wrote: > > > From: Alexei Starovoitov > > > > > > Introduce free_pages_nolock() that can free pages without taking locks. > > > It relies on trylock and can be called from any context. > > > Since spin_trylock() cannot be used in RT from hard IRQ or NMI > > > it uses lockless link list to stash the pages which will be freed > > > by subsequent free_pages() from good context. > > > > Yes, this makes sense. Have you tried a simpler implementation that > > would just queue on the lockless link list unconditionally? That would > > certainly reduce the complexity. Essentially something similar that we > > do in vfree_atomic (well, except the queue_work which is likely too > > heavy for the usecase and potentialy not reentrant). > > We cannot use llist approach unconditionally. > One of the ways bpf maps are used is non-stop alloc/free. > We cannot delay the free part. When memory is free it's better to > be available for kernel and bpf uses right away. > llist is the last resort. This is an important detail that should be mentioned in the changelog. -- Michal Hocko SUSE Labs