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 B2AFEE77184 for ; Fri, 20 Dec 2024 00:43:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4A6156B0089; Thu, 19 Dec 2024 19:43:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4571D6B008A; Thu, 19 Dec 2024 19:43:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31E1F6B008C; Thu, 19 Dec 2024 19:43:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 14E896B0089 for ; Thu, 19 Dec 2024 19:43:09 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 88D4A16051B for ; Fri, 20 Dec 2024 00:43:08 +0000 (UTC) X-FDA: 82913487006.23.34519D6 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by imf11.hostedemail.com (Postfix) with ESMTP id E8D3E40002 for ; Fri, 20 Dec 2024 00:42:35 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Btl9jvte; spf=pass (imf11.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.53 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=1734655363; 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=Zn1YeoeweHmhAMEzrDGeblDaOeWu5OeRVvAAmJvLOvw=; b=PbVDfly76Eb+64bXD1pdcYGd5wHyEHeYYLlgAHsu/DE5dVeIvVf40bsJCEMd4QEIj6pGNg Q4GLSZZS8+LIahRA84pLL2XdlfrLARfP2mJmSBEk7YrmZW9kCsg8+W75zr4KQQu7glmil0 aMWIverNRBFWsujbtMFTJhyTgVF/YQw= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Btl9jvte; spf=pass (imf11.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.53 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=1734655363; a=rsa-sha256; cv=none; b=2z48le/7F12gJ1uAUsYfk1nPN4cJhQzFQo88G3A6R0jvJI+L3q1asLk6Zmytv4l96jxiZJ ZJSXXUoPIybukQ0QNflz0kx07WHMnV9/jhKI1v9pVO2zgr9papam7aPPvE1PKazrf5GuUo 4w1htrmgeod9TI9JhEbYDY9stU+mLP4= Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-385de9f789cso1054270f8f.2 for ; Thu, 19 Dec 2024 16:43:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734655385; x=1735260185; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Zn1YeoeweHmhAMEzrDGeblDaOeWu5OeRVvAAmJvLOvw=; b=Btl9jvteICCA3RKBHscg7LEc6sz3wOHwKL5ab4/FtDbot66EIFSYuyYtBc9zugKk7/ jI246zhDP2wGIWdnh6B0c9V9PLrTraK6VV5zsZhdMKvLw6KKBvm34aYXPJ5DNbA18rsE LHB5+FYCSWiukb6zcj81xzYD5M+ON70cs0JtcbrQPBE+XrzVzkTGqaE51F1yrnVXnqeC 3szjgB8Ik3Ygpi9x2Vl/3Cza+a/1I90BO6wvS4k5TH15bOmoAqFIuahGh4d8fKuu8mpC MJw8Qb41EryXQ5Tz/gaj/e723mCOxHd7y1FxPLxT0n6zsW4dIlKjOgJ1l3gN3sPVn4K0 JL0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734655385; x=1735260185; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Zn1YeoeweHmhAMEzrDGeblDaOeWu5OeRVvAAmJvLOvw=; b=VEC6CO2WFDyb0FKMzf6BbSrlNoZCpVYqgRLAvbaNV8qEhXwy0acmmiGkVn+/3Laok+ aM9vMjAjSEKjuygxgmlzRCU6qtNGWYsPtMNA4F9Q4bhH0uFzJONju7qRkpx+ImsPrd5+ OFaASuNbCEUR/zPmAfX4KNiVcpDtSnLZ47BIF6hi0eHAYjIoYBDTOEBCyDyesIuyS40I V1YfFNBqIXJMbKGBcXSQvxyIBc95ivjRTvE+Ul2VS1NUr1AE0klv7jfQN5TPUwFEEuO0 H4xNc/xJjzt98pZI9xxK8VrB4xJC0s2xtnn18MWZqogWFsaqEKTkbf5AclHcYtUriEgc z4qw== X-Forwarded-Encrypted: i=1; AJvYcCUsgyhMRmEZS5EMlXQWWGdCuQhJPo4dm3YBDohs/sRDJ9NY3uG9biC1iNZI4nv/uucJ4ZDdBOdnpA==@kvack.org X-Gm-Message-State: AOJu0YxOi08Cxs+oS9vByKy2TifGLVpnvxLU/+j9lso6Q22TTSECdFdI 3P2QHHiOfZ9kYi4g7xKCHqG54/mqsI8R+ke60dSWjbmO8oa8pWYmWRy0gBy2f6wf447Drczryh9 KK3hzWLZzB59AwnMc7eWdW6Y5u6FJtA== X-Gm-Gg: ASbGncvGw/ipA3mGl/1+nx9I0pbxAU7i1E2Y9IBgcU08MNj83PgpWdoA4ZgE/Hi1O6v 9pdU3VsklJKvScyEyi8wF+Q6yeK2Ft+VTKzi8Mw== X-Google-Smtp-Source: AGHT+IGgyu+1kqiVBMJsGLyp7vu32A0tmKG4NisGG3KBOcwY80UhYFq1gjtAGGhq6qrgXp7qVOguL0PEy7wuXq52S0M= X-Received: by 2002:a05:6000:2ca:b0:386:3e87:2cd6 with SMTP id ffacd0b85a97d-38a223ffc3dmr724801f8f.38.1734655385139; Thu, 19 Dec 2024 16:43:05 -0800 (PST) MIME-Version: 1.0 References: <20241218030720.1602449-1-alexei.starovoitov@gmail.com> <20241218030720.1602449-3-alexei.starovoitov@gmail.com> In-Reply-To: From: Alexei Starovoitov Date: Thu, 19 Dec 2024 16:42:54 -0800 Message-ID: Subject: Re: [PATCH bpf-next v3 2/6] mm, bpf: Introduce free_pages_nolock() To: Michal Hocko 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam05 X-Stat-Signature: o1qm41jsj3knq1td5zuobjcnmr1g4t1z X-Rspamd-Queue-Id: E8D3E40002 X-Rspam-User: X-HE-Tag: 1734655355-921440 X-HE-Meta: U2FsdGVkX1/XjkyF16Hw0KeMl5c4mCs7rmro75B31ELz/8qWUkO7zwUFJG8xtoYGu0fLyiFOI14sE7JgZnBPK+gJzasoB9/ZzcwovKrvFZFO1HuKU2ODmWxrXMfv1CasXbSo6/WiJde77fNrL/EW+mUGBc8gTEQRntJzTX9KbhOBKEwsr5IbTtYfqZFmaufkLvmt7WYQe+EkElcjDNDpPL5raHZPQkTvuNJ11jZKAY1fNfA4yAOVyGs3zUsSC6BPu82QFT9h8zsYUTjRptU1sBNHw9XrAxjIcVk+S9kXbKmLORdC/yBmKabjNbhMLm1opV8EJiL+EiBPWmJiowxjyF53sap9sBYgKAvml/793WqqxnVy3MaI4ybj6DmnQNMgE7KMgEvF4PNGWlMwRVN25H37v0F3fkJgT1zL3k4p7lUE7oeA41I50EQjXMkUiURv4YpK+7fCD6GGDAuSYz/NtAwdTvQ2Vbt4Q2VpyEo5f6ctiSY8a2keK2qKSBUxj7TQrdXf3fw4BSBRY4fAzQ4HKnLPmLv5Pl9h5TEoRPb3pEjWy2TqGDSTNraB8cToqCOxbFR+7/9RL+8FIKmpNvQyd838F8SFp8iS1AKHRH06utsgtCVyjLsO2WSvOLIS3qRvpw2o6STOo+fUryqAOMSrug7nnW3lqc9V9Aw1VtraBmYWYfK9AQC7Jd49z4ydppder93UsY2P/liOmxbg0XTtp4pcGKq35P3KHTKhDe/tIWsaIyx/lehZ75Jeqglva6Sw48XHYQJKfEt8Zp28NuYtG+nhKAdpLwPN13zAXVwgrv31nWnRYLBpDpiOq3srxAfqq7ADd1Sc4J0o2C71OzquPQnuSfrUH+b78fDLNeovZXTSzO+8J6wfqqftpuEKRTUqiNNGXNrH1cFu/hCTrkBKPvYQQmecrXdMGWUtKVMgl7RzIuuZfMBlTF75TEEdsZWNInMT/EFH9SWSnz5bAch 3/7+0xg+ +d0LRfqapMwh5npqRLZVCbgza5LxtLkXxwWjdLVS+grxwlN0iGuMFA6RFsYkFZsmaGG1ijgkddxeA7Zr/7utyxOwqNBqCVLmGtOBgznLteAOmd35DPXD9PdRgWlPl28e7dnxCGtUv3XSsGwUyYRSTXXobF07uAunnECQtfVkV/pnwSh92l6HOTarkKe9ud0kwpNQ58VVYLo/7kYfcyg+xadR55RDT1YPetMHFY3QZQjkL5NRUA0cpcO6zvTQ8o3wDgiRHF9tM63MKnIm+dHxK872JVxn20vK8bYmiD1f42ldVOD+Ffisp4Q/FXIN87Vqn619W33dzMF1NE8cqQvoUk5Ou3Z+Q+KyZB8Y7ntgYhbmRr0LndydNqNoe3EaCF8ewQtRLzDrJKYN/E8FIGLFER6xh2HhxLikJUGHjYqL9hAz5uaDUuHwRVFauOHM1jxmwQNVVeL7wuprwK8etD2rdI3m6/9GN88SYdyaw9VkeZTXLgiNNM8JSoeL+mA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.003384, 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, Dec 18, 2024 at 11:03=E2=80=AFPM Michal Hocko wro= te: > > On Wed 18-12-24 17:45:20, Alexei Starovoitov wrote: > > On Wed, Dec 18, 2024 at 3:32=E2=80=AFAM 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 lo= cks. > > > > 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 woul= d > > > certainly reduce the complexity. Essentially something similar that w= e > > > 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. yeah. The commit log is a bit too short. Will expand in the next version.