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 340A7E77187 for ; Wed, 18 Dec 2024 11:32:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C3AC16B0085; Wed, 18 Dec 2024 06:32:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BEAC36B0088; Wed, 18 Dec 2024 06:32:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A8B6A6B0089; Wed, 18 Dec 2024 06:32:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 885036B0085 for ; Wed, 18 Dec 2024 06:32:40 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 1A1411C7AFD for ; Wed, 18 Dec 2024 11:32:40 +0000 (UTC) X-FDA: 82907866902.02.03D11E2 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) by imf20.hostedemail.com (Postfix) with ESMTP id 1142B1C000F for ; Wed, 18 Dec 2024 11:32:04 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=Iz6UX+sZ; spf=pass (imf20.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734521523; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=NirsifboHgji5j59MMySErrYcHpikjdtVLjaFZnGTyI=; b=ihxGI6UumI773axXLqd3v1CsA/UPFe/qTIlzohliyDu56iRX+YMRMz34L8IhXvPY6As26B eUjDGNj9noWwVMFQUBy3K6hOkL5QBxBZDBbU+cuoV101ZmsAvh6X4SAGzIKGpGm2sDlMAm xVxRdaqgnCXQGHZ3G5fpFi1u3/BMuxo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734521523; a=rsa-sha256; cv=none; b=js1VfhDRRoEV15YB9V2QhRnYuZ3qSet373HLaOZe8QzOslfXwCRBIss1O1n5ZhSTywPOXG qOSRq+JvI1AeE9zSiO7xz9ibKsjTww7VXywvmCJ6UUyBWoWvOlAfmPS5VmVk6xNC2uQig0 g7ulu5+Mx2n7UweyIcNfHsZVUspobHU= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=Iz6UX+sZ; spf=pass (imf20.hostedemail.com: domain of mhocko@suse.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-a9f1c590ecdso1099800466b.1 for ; Wed, 18 Dec 2024 03:32:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1734521557; x=1735126357; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=NirsifboHgji5j59MMySErrYcHpikjdtVLjaFZnGTyI=; b=Iz6UX+sZdSXSyMsBk3J6AIM+xGJAbz5QGOTB/tP7Zl5/nrqnhBJjWzhIYLH8q11ehY 8sLvjWrXP58q4VXXgZoglM3VVA1muhSNmKygA36M19/ECZZPSldzPNcpoOVBPv6SgBKW WffPEE/VNaV/zpj/ox0hUJbuFvTpNCcMZAgfsKOnUCpzZru6P0QVw92Y0p/Klsm4BzDO dZkZUc4gQppSocL4UdaCZcISYXiKmqaNL+UBhFsdY04SMcXXhE8w9ZAuzxcVhqefgERR jC9yNVXd7Q4FjNhp4Mp9MJg4xr3R2hJG+K7sZQ+ut7iraEYLpO/OOSJXI9cUW4VMvKSV E+0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734521557; x=1735126357; h=in-reply-to: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=NirsifboHgji5j59MMySErrYcHpikjdtVLjaFZnGTyI=; b=j+UtngjxeH/Txi69lUlgFctiTkA+G6W1VPj77Y0EMUDZM8Y3DK4kqq9LkMsD88qxn0 tg7xvh76H8Ts1XEVGhwD+0c6Yq5GmogEZhitQl6JXpmhPoICb/D77RKk+A8S1R7zOezG zPWzgmQyh+H5PjyPdR1nF3JZH3oB4+wxyDGPnJx0GvXpwjVHtlRHGyXMx40GA9KFh7ER 74sRj786aNROGNH2U0KmxgZ80Go8rGR3i3JiMVHEHXe8RDZb5M+Pw6VexaTZoxFDVbYS RejRleseS8mCuLFAZeUHzR40Kr/sQLnQ8Sn3PQqJDjYIjzsC0Vme1HJI6oxpq1OZ5dFR XY3g== X-Forwarded-Encrypted: i=1; AJvYcCUnjCLhYsJwP0UDpabws9pLCfvqRlplNXjPzlN4H4+EiaNWJD/qlGdRt3+BdRz69Q2/w/Jk8AbDAg==@kvack.org X-Gm-Message-State: AOJu0Ywpm8BtFKVMN5Dqy1iyxMi6ZYvMvXmZld0lr6hQ4Iz3yF5oJ0te NkIPrBwgtRlbuDNP6SHrIcBfSm3lrFg85xNyHMI6dA7vPTtk4Hdwd2k6dIbQcJg= X-Gm-Gg: ASbGnctAL/nzFTqsWJdGdcCEA8Eb5kirDkhL9i73Qo9RLu+AmVYeQ/J/P+E/RkgPKnb ifI3J5E30guh+EzAOhff3vSZ6KwjEneLndQ7l5tBR24etVAt5gsdS2PdlMHDWoJAX/+OXi6uK2Q f/0Wv2N/6qdaNrf82ZFRbf+zUcoInwj/ViIrJi0eFEtq5r8g5etc8b5BPY7XhrP98sjRpCAAilp Guxp4Vjckz/L9Y0F6MTFHMjFOHDCJ3HFDC6FovNJ9YbSK7hctBnRnxph+9aof4z58I= X-Google-Smtp-Source: AGHT+IEq2q6tPMM/R6sk0hNdfzyfoNTw6B76xP4krVqvm/KRKwDS0gBQi3mRlSWgdtRvJ08llqW3UA== X-Received: by 2002:a17:907:774d:b0:aab:d8de:217e with SMTP id a640c23a62f3a-aabf4789710mr170917766b.26.1734521556750; Wed, 18 Dec 2024 03:32:36 -0800 (PST) Received: from localhost (109-81-89-64.rct.o2.cz. [109.81.89.64]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aab9606893esm547480166b.71.2024.12.18.03.32.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Dec 2024 03:32:36 -0800 (PST) Date: Wed, 18 Dec 2024 12:32:35 +0100 From: Michal Hocko To: alexei.starovoitov@gmail.com Cc: bpf@vger.kernel.org, andrii@kernel.org, memxor@gmail.com, akpm@linux-foundation.org, peterz@infradead.org, vbabka@suse.cz, bigeasy@linutronix.de, rostedt@goodmis.org, houtao1@huawei.com, hannes@cmpxchg.org, shakeel.butt@linux.dev, willy@infradead.org, tglx@linutronix.de, jannh@google.com, tj@kernel.org, linux-mm@kvack.org, kernel-team@fb.com 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=us-ascii Content-Disposition: inline In-Reply-To: <20241218030720.1602449-3-alexei.starovoitov@gmail.com> X-Rspamd-Queue-Id: 1142B1C000F X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: m8d6fnu6hb9566hfwetd4ak55a4cy53t X-HE-Tag: 1734521524-464961 X-HE-Meta: U2FsdGVkX1/NxDc3KztsVk2l+zd2PxpMXsqaebSjCf7gAWHIH5LaZwxe5fKLoca77LNR/zzYKy17hhQmIZ+ars/ACv7ivdUMv/CFis1R6oGU0O3nL4wC97HPd4Ht33h7ejZ7bPAApbhpym7T2eBUbr02k7O7htDZcqEa7SlwzVeNwq9WxcKSBJAM1SkzzR8usB8Ld3lcM4sPMg9Fj/ldjNdYNFt+/153QPrGc128m7KiHmpqRjdLIvE2+1Ae5DLqa/hhNDnYYVTCWPGO5mNL+fiQLC8Hx7QK4MzqV3Er4dglPHrjHYEj1/fMmt/VrMXTn9EPlCWoeKV4fzkBJ9HnkXQzSJWfy8DtMRpyUrQEPuphbbTQQIkdQXcI0GDSuTz787e3p7tjIWIhjk3dYkiLpZOJSQEDwcFI4/cpOb6QyK/K2ObBmk0DtxuB0JdxmJQjUyRMNfcZTuvGqVbxsiCutRAV7o/wiXNNMOg9ywa1Rd9uzQU8M5cHoQpqzK68Mdx74tv49Jl22dMF25syfy8fLbOOufMac2ykBQVAGeBNnLjnQ3tTIu/Dw1UkjdwU1sVRgG1mtMQIlrfvoqXsrH6AXxWOQdh6hyJOLHfkMXRwQxV0OofjLtrzHos1gd2YHRCUQ/HWKp9mfNMsOVj+pzLhn0244t2gEXGa/xZNmBo2YGmlP/TfNsC6kIzZdzDOQQJMnIW84LRstAfHpHry6tnSiHw26ATBLkmFkZbsT2PFmQeYjdGfm158y77SjoeItpe4+wcMDBkZXZCGjiwjTQC3L0wWTIMhTDbDj9w79Vnzv3Kw8Amz/MKyJx5YsH3zobqybvUSjLdjorJ2in2jXu0MUcWOgUVwcewAHc2HYcFz0olYifCEm21gH9ROUPWcbEPLu4X0mgx9qPEyoBxl/EFRsg8gftSQC6/r8TjE4YfA0p5cP/WSLVbMleoDV13o1QCfP/nbHJHHlSi3H3FSGBB 6nEGSBDC pAQi1tdJRtmUimj2NEhQp7q4e4NnNBniUnhgyniwi87KJ+GRABltUrrgxFb1zrYcebra0mnFyBna1+gsdiCheCVa7BHjy6TM2fM/0HHOuk/FD4Dhf46JnV+YPpN2nsW43UaoH2d88KiCwOirkfN7pixF2SRPfevs/flw6lWbrilwSIW/6M2aLZRNYDrkYJesrpirU39MwRKhcDUc5vEX0DwZy6aoTnd8cf+e0ASMVUNYDsRSeii+WmbY03tJN5kI7sYwRYSfmDpoTXtCpAgfW5PAgULE3Hhy0YaOquHltbTiAMAQKBQ9/Psc0+fkuYCTDCugTY2veQhC0ye3VKwVxTu3yKKSzm0jU587syKcqLkxs0H9Pk2+jI3+FEtWV4aPX9TU55cnFP9IaN9ZpLD5OB/xe9QNLld1g2fYaTZP5JiStSUF78lRqEds1m97MvZj9QBPFzFLY2+cmGknUNSlN+Wt7p0A9d/fWn6oo X-Bogosity: Ham, tests=bogofilter, spamicity=0.114843, 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 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). -- Michal Hocko SUSE Labs