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 325CCC02184 for ; Tue, 14 Jan 2025 10:43:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B87316B0085; Tue, 14 Jan 2025 05:43:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B374C6B0088; Tue, 14 Jan 2025 05:43:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B1C86B0089; Tue, 14 Jan 2025 05:43:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 7D1146B0085 for ; Tue, 14 Jan 2025 05:43:13 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D8457AF2BF for ; Tue, 14 Jan 2025 10:43:12 +0000 (UTC) X-FDA: 83005720224.24.27D6E8C Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by imf15.hostedemail.com (Postfix) with ESMTP id F1E3AA000F for ; Tue, 14 Jan 2025 10:43:10 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b="dog/ylqU"; spf=pass (imf15.hostedemail.com: domain of mhocko@suse.com designates 209.85.221.47 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=1736851391; 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=DxSwc8OTPdwnVGbJGX7BK5O8k6nzM8uj8qyfrxVFoMc=; b=dS4wXpEkgq0m/I7xzgyqBdqrJFUvnRI4qKxl/Cf9qTxOPBlX3FPoYA13YaH6ajQR1vhOpc UEV44WYsGPu8zCII/sSW2WG/PJFKH1an4RXOdUrE4oEzpc+QWZH3LFqedSzymSQu0WTkLC NEbHhAXe7QQy4p9U76u8ZzGuV5aIlAo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736851391; a=rsa-sha256; cv=none; b=l7FUUEN1B+1RtHF97ybxcGB+xOPVL++bqWiWePCuHbi7qT6Mpux5mQ/VK/BldznWkuV/Ao H9gZKfmInOfUCiJiMdC370PQYB/NnVGD1yNekAKj9/zFl4XAAYgijXymFDh6L472CHbTkW a1O+SK9DlZqI7xYZWjzocKAkN899Uss= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b="dog/ylqU"; spf=pass (imf15.hostedemail.com: domain of mhocko@suse.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-3863494591bso2840947f8f.1 for ; Tue, 14 Jan 2025 02:43:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1736851389; x=1737456189; 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=DxSwc8OTPdwnVGbJGX7BK5O8k6nzM8uj8qyfrxVFoMc=; b=dog/ylqUvpleWmz+66jjRkdtz12zSPjHmoyKv14c/VbK8TgyS8wpNaZhmW4mAIc3U8 0YEfbNHg5RHO5CG6UDpsjYLVXMUWCiK//X4wjmuC8s2HLxZ0h0nyGHoWai1amYmSxMKI Lc+Kant2/DJGTl1JYxy5OR+1/Ae9VGqAAlynkmKmuYKd/cig8pN3erUuMcsQ1++UPoml LHDaofKYPfP56rwQ1J4BtFzm1U93hmFQ6h34mvKZMYzwZKaa/jaC5GmldlHpZQHdvp0c kSqRQHDUqnGSq62stTZBXOfsUTbVWgjSqqPC9wuF0FRSWhm6nkB3XKx97uyzEWA+3PLH x/cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736851389; x=1737456189; 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=DxSwc8OTPdwnVGbJGX7BK5O8k6nzM8uj8qyfrxVFoMc=; b=pWvZUsEs+PjuUlznbrKm+gVqr7E7Z6I39AYlgt/F32ZsO3LFdc2ulO3JW6ytSUiiNS QYzZTP+tNEAQD1vJrP6nL+DKN2pfrCvA5ePNwIJq4SoHheclTlUoCmM8Bxm2eofY7Xxy 3/xZtKDKavesm6XDI1FQLQy6jVT9cOzbw5ca0Y8IhIqTpS/EVmr7tjyw6mbVuZpXctYc P9pPNdpq8gSV0fOOuK8NsLZj+4DpAHKpeR0wAAE8spq38YydR2+x2j/iCz4UIX+JPZ39 Ah0ApCerqzWPEAgUdwkBS3XJoEpVz7mSfRi2nx2pAlOVgWp5ethcVYe7FQ0uZE2RVxBT hxKA== X-Forwarded-Encrypted: i=1; AJvYcCWWI8cUQNJ8YPfAq6/j0/+7obx+QaS0mzjGEcrfA65wNyjbble7O8FyyC6i0Ojn1ih/oEa2Pdif5Q==@kvack.org X-Gm-Message-State: AOJu0YxxvB1/VevyShvLbsPdXyMGkkKIXoEsn5ewMeIpwG3LaEZO0D/R Hq9EsihTbyFIzC7JX3a2VQibg1FS+FAIxnIzBakGYt719hocHVmo817U5N8IneY= X-Gm-Gg: ASbGncvZVkJ215+QgovakZL6VB3Esj3P08QdGDE7UuSv7NJgn2/QSZ7zEfC4WKFRCEg ZEOmlHglg6y/0/Jr8u3blMCXfxS2zwlV+NrPKRvHC56bXfpU2ByQFEEmPC1jILAhECOvMofaG5s aQoRsm2GiqeZNujUgFz1f4kJU4aOVDzGYY/d0R+wUleI6zsTaEuByCJXY7Ja1uxmRJNF42LBJOO 3jh46APZLzs/h6AftcEoeqIjj8a1NWDR71g9bDph2FusfGdR4aMMAjXfRN8m01wXF/z9g== X-Google-Smtp-Source: AGHT+IEPeWyBdBywc/gAzMNm0XWpJZ3GnUVgsGz+yMD64YySeq3V9/H4z5M6xyDS35moJoykag2d+g== X-Received: by 2002:a05:6000:2c5:b0:386:930:fad4 with SMTP id ffacd0b85a97d-38a872dec5fmr17582256f8f.19.1736851389497; Tue, 14 Jan 2025 02:43:09 -0800 (PST) Received: from localhost (109-81-90-202.rct.o2.cz. [109.81.90.202]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38a8e383f8asm14284638f8f.29.2025.01.14.02.43.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jan 2025 02:43:09 -0800 (PST) Date: Tue, 14 Jan 2025 11:43:08 +0100 From: Michal Hocko To: Peter Zijlstra Cc: Alexei Starovoitov , bpf@vger.kernel.org, andrii@kernel.org, memxor@gmail.com, akpm@linux-foundation.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 v4 1/6] mm, bpf: Introduce try_alloc_pages() for opportunistic page allocation Message-ID: References: <20250114021922.92609-1-alexei.starovoitov@gmail.com> <20250114021922.92609-2-alexei.starovoitov@gmail.com> <20250114095355.GM5388@noisy.programming.kicks-ass.net> <20250114103946.GC8362@noisy.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250114103946.GC8362@noisy.programming.kicks-ass.net> X-Rspamd-Queue-Id: F1E3AA000F X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: w4tayqh6nynutsny111w3igz4rgeh4f3 X-HE-Tag: 1736851390-650384 X-HE-Meta: U2FsdGVkX1+Kjh8Hk0m1DUloS6S3EqIJYSkVA4grZGmgWPwGCTOpNMTtRfm8KXIF2xOTupRKj79QZrSgvx2qMckJqbCY+odigjrE08sEUpF4M4NULgnTFCw3S3wZjHomiHKvhUEWQ+ijOScehLOOPDqN66vESlvXT76zFrkzudn447DKPsHfyBujhW1VnDyOqFUReambT5KSVksyjb85lweTTPqeayd85PcgHTjXjolgXuYauOy8XomnPRvmOV7MoVksAy8PRKEJmVxn8wAPBIuDBoonCPDdeKtPr4J8XbW5d1r4t2nUEsExvlxcrGzFfwy1ERxc95zUvP/THGc0wYY6G+l7RNDvxYcS4FIkcTVL7Q3v9l3lj7lXPiGBLBw8sEzciwysB1SluaYDsR8AiMsizB2ZN/YUG/iD0x9FPkpUE+3c34UBISIOapMsE8J9DhH4n112DiQPniz4mniyYjdm+DQ8JT1VNHmNZ+xRLLVVbVZSQxOLKcv0WrTXeeEKKnileZhnzXnNy1IoaI9cnuI6rZd2VZBg7ke4G3C7aKUYDy9jwqiH5DgkiswiaXjBY9rMdhuPrJbLGgKigNP6q7xhAWC58mMn4XfrDVTG+Eb+WPFvictvR5ctrEScPimgqZzQlAs/Me7yF81GSIbXWb/55qTltL+yD6G1nMuVNmnWcfHIYrbPZMWw/+8RLrHIZPOgsYxpuM55t9ns3xJYlpNHF/pF11gEPJU57WshadNbPHy6Xqqdzf3hdTgQzaT0NJ/sdeDoIHa32FuNI/E8/OAi2ezsAbbFPEsWKJ8EVSagtGcL/UbJ1iBhKEItR0nn5y8Dfur0t+E/f+OtXeCS5PdBlKBDg2Rxgjx1r6i4RGNNYpQ0qGnkakiw6P5XEDGplIswVgeYzH+TfdyynRZxAAtESI+enlWFBf4nrckzlPxgDE5iLf5IOHHsapswoUzgRLAl9GYIXsxH7PnVO5h xmLabXso g/qtfkCb5fvNrA9sqf2QomttPojDP9tzkZloGjopfD9Rp3WHK+m2P62fTxpsNQMs8mI7wziwowKLH/KFTNiJHzZ7GER1I1Rz3Pe9qzpZTvCkm6fUoOchLkrmHLk4L52kRL9bqN86lHuWtUuZbJmfYc6mac+5maaHbcWLGAOWp3pERqI9fOa3Yhk8xM6CS0TZsRtEmsswgcnFceqAa2sVGBXsFLhVXlgtqbhY+/IjrD/yEXwLH/T85wFhPOZMv2aZSFDOOwsUUnyRgzJQ/XSAezalcwKb6olL7MHAuG8yD7xyVqpuW19P9MhdBwj7usCHxht066KJuHxQwi1IjBds79yazcW+L/qcBk3arqUp0EFrND/P1ybqRUgm4ZViA5LRX6vksDQQ5V7nwB9C2juc7kdNPsdOAnY94YPMHUtv62yKrczlKYoigahTtojRs+ot5p2LMKEdwR6LLCH8= 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: On Tue 14-01-25 11:39:46, Peter Zijlstra wrote: > On Tue, Jan 14, 2025 at 11:19:41AM +0100, Michal Hocko wrote: > > On Tue 14-01-25 10:53:55, Peter Zijlstra wrote: > > > On Mon, Jan 13, 2025 at 06:19:17PM -0800, Alexei Starovoitov wrote: > > > > From: Alexei Starovoitov > > > > > > > > Tracing BPF programs execute from tracepoints and kprobes where > > > > running context is unknown, but they need to request additional > > > > memory. > > > > > > > The prior workarounds were using pre-allocated memory and > > > > BPF specific freelists to satisfy such allocation requests. > > > > Instead, introduce gfpflags_allow_spinning() condition that signals > > > > to the allocator that running context is unknown. > > > > Then rely on percpu free list of pages to allocate a page. > > > > The rmqueue_pcplist() should be able to pop the page from. > > > > If it fails (due to IRQ re-entrancy or list being empty) then > > > > try_alloc_pages() attempts to spin_trylock zone->lock > > > > and refill percpu freelist as normal. > > > > > > > BPF program may execute with IRQs disabled and zone->lock is > > > > sleeping in RT, so trylock is the only option. > > > > > > how is spin_trylock() from IRQ context not utterly broken in RT? > > > > + if (IS_ENABLED(CONFIG_PREEMPT_RT) && (in_nmi() || in_hardirq())) > > + return NULL; > > > > Deals with that, right? > > Changelog didn't really mention that, did it? -- it seems to imply quite > the opposite :/ yes, one has to look into the implementation see all the constrains and the changelog could/should be improved in that regards. > But maybe, I suppose any BPF program needs to expect failure due to this > being trylock. I just worry some programs will malfunction due to never > succeeding -- and RT getting blamed for this. This is a good question. The current implementation has fewer constrains and there are no data points about the success rate with the new implementation. But to be completely honest I am not really sure how much BPF is used on PREEMPT_RT systems and with RT workloads so I am not sure how much of a practical problem that is. > > Maybe I worry too much. -- Michal Hocko SUSE Labs