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 7E606E7717F for ; Thu, 12 Dec 2024 15:35:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EC3AF6B0082; Thu, 12 Dec 2024 10:35:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E732E6B0088; Thu, 12 Dec 2024 10:35:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D3B0F6B0089; Thu, 12 Dec 2024 10:35:11 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id B89C06B0082 for ; Thu, 12 Dec 2024 10:35:11 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 7213BA0173 for ; Thu, 12 Dec 2024 15:35:11 +0000 (UTC) X-FDA: 82886705160.16.D2BE78A Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf23.hostedemail.com (Postfix) with ESMTP id 5C2B114002F for ; Thu, 12 Dec 2024 15:34:53 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=nul1UW9c; dkim=pass header.d=linutronix.de header.s=2020e header.b="IDAQv/ti"; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf23.hostedemail.com: domain of bigeasy@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=bigeasy@linutronix.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734017698; a=rsa-sha256; cv=none; b=YHSvPUyAHwQNSkyhNIBm3/lzERVUIdeKJ+F9SmxQ9PlnkceGo/9rFnHSMerfo0dqsz1Si+ xgn9MhEVoIxCvpidp7wsbIXCTLrH4kSrSDra9FXOJV3NUvLsRGTQK+eP9rOI1dnbKs1GX5 UBwfHL3yr8RDaKq469jqbt9pUcGQHb8= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=nul1UW9c; dkim=pass header.d=linutronix.de header.s=2020e header.b="IDAQv/ti"; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf23.hostedemail.com: domain of bigeasy@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=bigeasy@linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734017698; 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=0khaNL+eK3yAVlwjJGmHV8APAMIW1qXB1i8oCaUhFzE=; b=ZeIHpD8PAd+SUHVmmb4lIZUnd/nm4uNeyx1VVAmWka+1QKHNFVJB58LL88omtSRFPQCZUB ca2zGGZsmOODaMUSsmprDc2NmlJwH9lWHOZiDCabGuNnJ+PvjrLczJuVQi/r30tA8kmvzx rW9JpxyNwkhxf469Lvuq/u4SRmKnILI= Date: Thu, 12 Dec 2024 16:35:06 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1734017707; 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=0khaNL+eK3yAVlwjJGmHV8APAMIW1qXB1i8oCaUhFzE=; b=nul1UW9c8KDO7JV2fV1KsmtQ8C7u6RO4VW1ghEK3WPCCPfLg1Qyk/fHIafJ20ZzFObgGpj Lsm4FRcfvz0UqAOvb3t9WBxkc2tNiiXrd0zBqbbARFr3gKgSfWEi5k5muRMRDU1T5UY2B4 E7SoAILmq2zQvLtDin4mmMp3vjc1U0+BAJPWdvtaYqlBS1B4YDcYxRhnp/NVy1Z6Gw7W20 ojSgJnKQ3YksGyJ5BJRXy0q0vIT/vHXhasy6rIWa0uqdeYFbNqOPbk159ThT7s5sx4v/+z gRg5iprUzJ9hIvpLYT0jmqsPbR3fq913zSoY7pZTUS67In0FRU2RITilFttpqA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1734017707; 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=0khaNL+eK3yAVlwjJGmHV8APAMIW1qXB1i8oCaUhFzE=; b=IDAQv/tihQH6LHxTMah2RHrGbH5iyg4wc5VUVFwtPCW70wJ9MsveOd3M7nw2h20tvL/oBW 9R9BzRdwFeEk1eDQ== From: Sebastian Sewior To: Michal Hocko Cc: Alexei Starovoitov , Matthew Wilcox , bpf , Andrii Nakryiko , Kumar Kartikeya Dwivedi , Andrew Morton , Peter Zijlstra , Vlastimil Babka , Steven Rostedt , Hou Tao , Johannes Weiner , shakeel.butt@linux.dev, Thomas Gleixner , Tejun Heo , linux-mm , Kernel Team Subject: Re: [PATCH bpf-next v2 1/6] mm, bpf: Introduce __GFP_TRYLOCK for opportunistic page allocation Message-ID: <20241212153506.dT1MvukO@linutronix.de> References: <20241210023936.46871-1-alexei.starovoitov@gmail.com> <20241210023936.46871-2-alexei.starovoitov@gmail.com> <20241212150744.dVyycFUJ@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 5C2B114002F X-Stat-Signature: dnuenoaoh158wtrczh5idz5xhdhyzd9r X-HE-Tag: 1734017693-557485 X-HE-Meta: U2FsdGVkX1/CVSbSlSmkkHc0YssIU8rV7kjhaffJch+oFcfSV7PFiUVNbSucieCE2wWysvyTn9cfCLmcphMU6vfKKsiRL7hIOcaAim8vmCmnOjXYzG+q/X7egAuIiA9Kr0jnuOjrlmzZnSrLqg/rseWLphONKFtJc9Bbek4KcI8AlNdtgHoFkabrrgrfBLd077UcFT3HVWG62d1rnqu/Qtjylut2Pluv3HwRt5fqlFFwvcdV80Js+i72tL7xf4+/XFK+oUAiwnN6aUgY+l//XICnrjQOusDNCCMAsN72wLlZLwyM9bbH+i2FSg8VKaqe3ho70Ne7JCT7HGEZQ5vjY7Wz2Ja9MK1tK1BKj/f1dtOAlfksMDkgIlO9HgY85ULGzdMRPpWXrKsXdHCxv2/3H4FoctwCIft4GSP+M0jvFLi0HsYjE4St05rlUvXOZr2dBYmXno4OPpul8p04qR1eXx24NXiHXRayROC7N58wJ2ZqosWyg+qfcl24vqI4Hm47SDSJnQ+tfdXyIMfbM2Awm/2gOhznCBLLBE5/G+ZqOwwlCcUzfubCQzkM4tmGGFP3HcCI8tzgajSuEIMpxlDBgiGpGJcmLk0cKiAjBorPtxBz3t58oNr0N9HdOADk3PhK2Ct9Y0Aznn9iOd/bS4UTg5f4GyR1Dt7qcIkF8nnF8v1Oz/j4GimUgsjcFQ2oAAaM0MSK5E3W/bVM2wMFxJ7+A/0fCK6lMiqvFfwMFAQbCjrzroyDUIkLPQFqNme6+1KmK7nb4aMqRu8YCs1rcrFMNUL5LBc6RjX9lD4PL1TSjZD297NPYCfyDZdGG1CmI8oFsd8oKeSSlQtnEg0CvLKOMizN545Nn/Rv+N7V0Zd6+Vly8e2s+4BdJVoWKlgi4+SRPnuTYVk7lBw3yK7KcZ7zKPuc1IhRtA5d1TdcE6Sz5kcMCUM4lLrAvvUvtOezs+OOknxIjONjNQ3rRtK3a+w nQddlCR/ zEZ6xztDY9PNVKPwbJhC1YsnUqRbD6Di13d94bVX3qGsjKDSbd+jnWDaDaoF7M0KTOvaJuDLAK82/l6OXYmpz6xQCEQsKddVfO2aim6gKtiPNlUSOtW2vEZa03vb+9HE4Wd8EeZmOjhcuodMp5u2aUIZmM/KDFsAtOYz48PyLvkmGXEIOkmRkbO0wKAvOGQbPybFncOUBuN0+CqeIu5H3pAwfy7vH065Hu3AYOPF3vo7MkEKh7Tp3lT0HiCnhzg+vh2MxWllo7Tpl7M0ldmH300dUgg== 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 2024-12-12 16:21:28 [+0100], Michal Hocko wrote: > On Thu 12-12-24 16:07:44, Sebastian Sewior wrote: > > But since I see in_nmi(). You can't trylock from NMI on RT. The trylock > > part is easy but unlock might need to acquire rt_mutex_base::wait_lock > > and worst case is to wake a waiter via wake_up_process(). >=20 > Ohh, I didn't realize that. So try_lock would only be safe on > raw_spin_lock right? If NMI is one of the possible calling contexts, yes. One thing I am not 100% sure about is how "good" a spinlock_t trylock is if attempted from hardirq (on PREEMPT_RT). Obtaining the lock und unlocking is doable. The lock part will assign the "current" task as the task that owns the lock now. This task is just randomly on the CPU while the hardirq triggered. The regular spin_lock() will see this random task as the owner and might PI-boost it. This could work=E2=80=A6 Sebastian