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 A76C7C369DC for ; Wed, 30 Apr 2025 00:58:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3CDF96B00CB; Tue, 29 Apr 2025 20:58:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 37E0A6B00D1; Tue, 29 Apr 2025 20:58:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 247806B00DB; Tue, 29 Apr 2025 20:58:44 -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 045C16B00CB for ; Tue, 29 Apr 2025 20:58:43 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id AF613C97E0 for ; Wed, 30 Apr 2025 00:58:45 +0000 (UTC) X-FDA: 83388900210.17.9B8B6AA Received: from out-170.mta1.migadu.com (out-170.mta1.migadu.com [95.215.58.170]) by imf04.hostedemail.com (Postfix) with ESMTP id E625140003 for ; Wed, 30 Apr 2025 00:58:43 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=LcLTnVww; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf04.hostedemail.com: domain of roman.gushchin@linux.dev designates 95.215.58.170 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745974724; 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=7aYN2EqMpbenGtMK43lQY6ujzZxaQdPs5BavHhf79/8=; b=2hPh5MG8MB0egBdam7AGTfFNSg4e80SQ15XPt3+ajNco/JBtkvVjmKWVp78ipi52px+KQX ZbZq92ty6GXQpGjkahl4jUm/Ghfyw0/B9l2sCylGtPl1i7N6P2WyeswFJVfl1HFS//5Q1T Io48zQSIVYHw3Gv4jEYqj/0vsP33MlM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745974724; a=rsa-sha256; cv=none; b=21QB5DHHFheEG/GAyqWv6MFkF4IFbXbhRxeIzdIr6sFE1dQ3cG/8wpxJsccCYy8RKGbtZP ZCCtom3I/zcBGW1EmIhCNFL4HnTztpTWT4f2Y3TmkzC1CbtSlqwMkE42LEJ44G2utjhau8 sY48RcokU5mQZicrm7g1OS2JCe0ga30= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=LcLTnVww; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf04.hostedemail.com: domain of roman.gushchin@linux.dev designates 95.215.58.170 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev Date: Wed, 30 Apr 2025 00:58:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745974721; h=from:from: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; bh=7aYN2EqMpbenGtMK43lQY6ujzZxaQdPs5BavHhf79/8=; b=LcLTnVwwI5WKnGjxtzPMeol2A5h1yzHoM4CXh2wDLTDg0+ZTWtexpPF3bISsdzTEpnWV3D siXDCZEOTKaJmCciNzhhDY20DKdEkJmpElS9vckNnggO3NtmmnMS/1dbW5WBZXLh0yHDsK tBzYtbH2vcgHFmyLoaAXwXuJrtRf1HU= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Roman Gushchin To: Suren Baghdasaryan Cc: linux-kernel@vger.kernel.org, Andrew Morton , Alexei Starovoitov , Johannes Weiner , Michal Hocko , Shakeel Butt , David Rientjes , Josh Don , Chuyi Zhou , cgroups@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Subject: Re: [PATCH rfc 09/12] sched: psi: bpf hook to handle psi events Message-ID: References: <20250428033617.3797686-1-roman.gushchin@linux.dev> <20250428033617.3797686-10-roman.gushchin@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E625140003 X-Rspam-User: X-Stat-Signature: ixfrursh8ojxpx9k9ff4p9fir5tpg9t5 X-HE-Tag: 1745974723-136771 X-HE-Meta: U2FsdGVkX1/MPpsUsVkZdFgKSEQSr22ZRVnxNP99vdigSnepRyrEolVU2NyUPkQqIeQ7kIviD8Ia66aGq4Xd8C6k+EzLGzz4UGrZedtRH1nWrJIdtU5KFRr4ihvw2XU1TIANvqze/KefAKDC3xnCVIsUTvGri1FaYFIUVS8Sy9HHcCIiC6jYJw9UdcK0+Wp+kulHpv7GE5Ntkm1XHyahZH3YKxI38ijd4O1xZRyEmdJu6r7HPMALNMRRWuWdhaA37n6hBaR6A84H2tmCku7NjOlIS7ofdm8mEi2idk934x2f3WiYGfiFigjABXgwo2Y5ytpzwkawCoNxEnYG71hCcaBqp80ib+5NH+/Tye4QC0KUCNgcFZrvYDC0NqTjm4hChyiZUg2SjtVUdv9Wo88w6jLHTf1DVRz7YmC9NvxZsIK/7PYbRK0iBmMcwpB6OXDH4z5ns/07goo8X57xw9m8wiu4C3ApgimplFT+Tm2U6gFP5drA5lWbxej+tD/weH8CjFVgzZkwuhdbScH46yggOcVFKw+22o32erfga0qOQlVvaSYLQIoLfJbsiP+aypeHXHYXWjDrO/OtJ8z8xroDtH2Gvh1Kg7jKXi3jFi5ThCT8G43lDXlLSU8axWYHzlFpbxShPjzUn8SmpZZMaoA8vv8wPrmeV++eeFt4KFMwa7ecQgqtSyKbPCKw97yVFUylH+ybxkubiswC5WOvPrgp8+MJUaiPeIXOiSgBef6AD/rCLrQc+YtNC6PZNaahMQpt4B/3dvcZ6n8VLXWMBnl0YHmeUcYtVI07up/e1mQxaTViXUY6+HyDxsY8Q2rLrilmsvPpfYndzJL5CMBYnlfvu3f7UOlwyRYy9uSJxEm2T4VGDgJz8smY3Q== 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, Apr 29, 2025 at 05:28:59PM -0700, Suren Baghdasaryan wrote: > On Sun, Apr 27, 2025 at 8:37 PM Roman Gushchin wrote: > > > > Introduce a bpf hook to handle psi events. The primary intended > > purpose of this hook is to declare OOM events based on the reaching > > a certain memory pressure level, similar to what systemd-oomd and oomd > > are doing in userspace. > > It's a bit awkward that this requires additional userspace action to > create PSI triggers. I have almost no experience with BPF, so this > might be a stupid question, but maybe we could provide a bpf kfunc for > the BPF handler to register its PSI trigger(s) upon handler > registration? It looks like it's doable using struct_ops path: the .init callback can create psi triggers and "attach" them to the loaded bpf program. But I need to figure out the details. Good point, thank you!