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 B8530C3600B for ; Mon, 31 Mar 2025 15:49:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A8557280005; Mon, 31 Mar 2025 11:49:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A0D77280002; Mon, 31 Mar 2025 11:49:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8AE5B280005; Mon, 31 Mar 2025 11:49:30 -0400 (EDT) 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 69AF7280002 for ; Mon, 31 Mar 2025 11:49:30 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AC9E01601AE for ; Mon, 31 Mar 2025 00:33:42 +0000 (UTC) X-FDA: 83279973084.28.70E1009 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by imf26.hostedemail.com (Postfix) with ESMTP id C6733140008 for ; Mon, 31 Mar 2025 00:33:40 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ESdHR1SF; spf=pass (imf26.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.45 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=1743381220; 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=L8vYvjniuuHXtnrlVonbHiqLVeqTCECrkAOh7jtvTiA=; b=BRRZkhlVO8bJ3bbHKkTlPE08TMyF3/LnWiQhrvO9I3J5Nmr5QwT8qUPz6rrHRz1FWwEJxr pd2E3YFlCR00CJ5EGigjyVr2BR3rD6h4SKWhfoss7APVX/K0KXLrOaW2ljFkEPV29oEztk yAo+TamzvYTkmHfV9Ky30ZyFiRQUJ+s= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ESdHR1SF; spf=pass (imf26.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.45 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=1743381220; a=rsa-sha256; cv=none; b=j4jLvWSR5kJXayo3G4Q9cWy885T80EQVCqZUfzEhb8vq1CubnJoyrS6y5C/mkcTgudI09G KVmvPeEMVABDU9WzNGWuoKeJm7eOXlN4bu3gBsOO+F7b31QOgaDiH/W2F/ctj4QeA6jSAQ pfL3kr69Bu508Tx7uLk+4dx6bGUCYr4= Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-39c13fa05ebso381704f8f.0 for ; Sun, 30 Mar 2025 17:33:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743381219; x=1743986019; 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=L8vYvjniuuHXtnrlVonbHiqLVeqTCECrkAOh7jtvTiA=; b=ESdHR1SFsBe706s0Y9nRtBOBAbcvP5Nsp+TwnPY/uu0JeLbjFkog6waWeoNgP0jgSJ DBDVAS3s9bXh6L5u5hTK7f96Wox7/euAth0B6IgUZx2nx6rr8Dm+imJ7ddcdzFcKlhU1 plEN7q8/ImapUxYPsKFobvNGF8PxN3jd/7q3oZEFwRJYsc6/R17zsHm7xWUO7WHSEk58 p/f0FY1S61O8Av8W2Kh85Jhy45OqpAao77TxhUpdfR+2SXh44a70taMNdPce5SRg+YYF 9GEigHvLI4l7FXDsFU1YWcxsZSkzyJKFhBED2C7L6EmWY9MXYCAiu/VNV18HZ/MyUw7o Th+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743381219; x=1743986019; 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=L8vYvjniuuHXtnrlVonbHiqLVeqTCECrkAOh7jtvTiA=; b=gTI2QeQLcdvKzI0BjDND+sKWjzGAIXIoxjUFltRil6HF7Xu4WUuPaGDtd45Ee5Xef4 eDKLb/dM+N6enCmdvUJFpkr40eapAoyaoJehWDF7n2U49IgyH2I8rVVQEJ2Cv+M4ccgs vKMI3rXx2Po0DPVIgFAf3rGnyFp3BCUlXJDcRexiqO9BWVW8jeacKdVYfU60w4LEcyUj FbOZ7xPjt1pSif5CVuoVDS2ZM3RH+CzWjxPH4pzGc3pOIYClYEvz6riYmCYfwvgDDDA/ sq/aZ68GooFwv0fHoAOA1CkD8334xyDSH8SUy2cJthR/YVx6cZHDX+7/hajG6fEO0nhC 2zcg== X-Forwarded-Encrypted: i=1; AJvYcCVvtZo/+pFUrDu2NO4njBjpgO2dxumwDixrSuF2vsjQ50TuX9hgtvPxYcpU1th8cPAxdXVqqs6s4w==@kvack.org X-Gm-Message-State: AOJu0YzI3r4gcJgZZ86dQ6yQcC283Vei14oIArF3Rr9zZCymgqcvUtDx HYmFWWrnY6HLSgs9/A7QFzsp5SaKsFyVUlD0whQkcy4a3rDXnx0rlku/ZercalPcBFwbXB+vTrH KM+4gNdh6JFvJyVED5z+x4MD7sTE= X-Gm-Gg: ASbGncssZEx50zn4bbkN8p8Twan4BUdUdZiA2bKXUQEx8NZLbrAroulX45pIATDyJay ApsuqtHErgkAjLOajfwo/tP15m8EwzAhP2AwjYV9aXwJa5YsogLrJ5sRva7zd4oVj6KV8YxOkKf z/gf90bzuh0mREW7sAuqH1zyXzvs2+dOQxwEMDVNhXog== X-Google-Smtp-Source: AGHT+IEW82DydmHWVqGAX3xsLqsTlUpNFLFk4sTCjRjrhmVm2MYZgCOaa0nMvU/lgRqAUTY/Hsh6/N9G1ZRckDVe99w= X-Received: by 2002:a05:6000:2a4:b0:391:23de:b1b4 with SMTP id ffacd0b85a97d-39c1211d57cmr5510100f8f.45.1743381218883; Sun, 30 Mar 2025 17:33:38 -0700 (PDT) MIME-Version: 1.0 References: <20250327145159.99799-1-alexei.starovoitov@gmail.com> In-Reply-To: From: Alexei Starovoitov Date: Sun, 30 Mar 2025 17:33:27 -0700 X-Gm-Features: AQ5f1JpyJasy1EetBb0EPDXVvxj7a-WElI4Df5726-Ae6PTOOKnWWxxCvkucDjI Message-ID: Subject: Re: [GIT PULL] Introduce try_alloc_pages for 6.15 To: Linus Torvalds Cc: bpf , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Andrew Morton , Peter Zijlstra , Vlastimil Babka , Sebastian Sewior , Steven Rostedt , Michal Hocko , Shakeel Butt , linux-mm , LKML , Johannes Weiner Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: C6733140008 X-Stat-Signature: aq558e49ngk8xx95a4fjnegobyjpc65i X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1743381220-926222 X-HE-Meta: U2FsdGVkX19kFRQVWNt1UTRa5G7d0vJLP0va5mYNZqHL3bPTShEFBMakMI4ZQ4D+jRlTd3m2to6mgH0JOuSPRY+oGCuVXFpsW0SSNHhrFQ5+hmQTCH+Ptslz8orP5vx3fpc9A4TIqbux7SB+RzQwe7SKYYSIjnB2X2a3Q+evFVW9Ox65xKESsfa9Kx+FBSed5CwUHuztdaFzFg+c6rbkKTAm6I+mGmWDHVjNWjAS3ggLWOc7MwNI6AU09Qd5Hc6XgsQMU6u/igBqzfZg9xHsdTKbKhX9X87Y9o/1Ulzn+bh85ByQcI1kE/+lDDqmRf/bodMBAdCl8PAv5vmhpRVwzPnrcOszzEXJclrgqlwGR9uj9pmk31hT++0TwToZ7kQIEBXB8enSFhzFPEX0zmREmw0/57kVoglOZhdoU9CwOaOea18DDiFPHNY9mXvp5VCfBbS/qT13zoKq11e8Ntp7rgu2nY9LZNONS9AZ0udLYGsdpNH2n1qBQRk6ehq4kG0ead8nK9wwE0wE9iJd0gGOn9OX1a4alW6+dgS/nb7F0dwg6xMrjV4BbwzhecqUQ+PzJajBdwy8Bvj/1mU2lBZ10CB+lG9B60nRwx7mP0DUT3t9GL2JaLzbS4cY4GjQGAEy+s7v/gQYFCl7tM+J3YDelQ4/ci9Ti9PE9mnluJl6iY7VYtNa2+V/R7fJd/HyDC5pTYnbnmdfX4WMF9+YoSi9t78/UmD1YH/ylRwluxkqor20Z20U4nltH54K8sfyHK075xaLbqJxies7tARoSTF1hm6wwfysV9nk3RQoOj9zXOHsNWc3mDd7lgsjrI50i+tvSbKB7P6dxJsRe8ZDq/nOjwLXIhr1+saZW87g5r97OMJ0/oKQAXcib9HLRwBb+VW8FbQyUIAObSOUfU/dKN82lUrgL9gr5SKBQwa+1e9fp2SZ5xajJ4yItGqxlnOeR3vFKlX5Phj8ixPaC0YyH/b 5iiPGcBr HbCbAFSTsSsTSQyJ7l2pyGpC+8bfKmlWmA6X8Ee5S86xPLo0eW7NtsLmv63er1zB4NfHdBPnEJUzqa2Nk8CRRpNaoidssCkpFw7OOzeGtuSyR/dawYn3ZtkYf6VN4YnQCttebZfw+7y7LbTXjoAFqaGPfd4HHCBaKJZsr5gJSCqBjWySZv5Zt9/LxHyVqcop0QZHlNn8sIB9YI1OdCcvCadUNMOD/b5zk8f0GmDDF4ZOZI7XV5boYOj9sr99SB+OzOLTpt1nFLEhi9wTPkwJGeWI0kt9i4jYOws36csad/REPOwtB1wL6HUvc5/Tcza35p4J8wuebH3hGsSFveQ0gJ5Mza6NE3jLidXHojkEKC4aUdJesKbHrQfopojgsiJjy26tRAeT91IjSwb6oFelaEDqCV0NnQZgDWc3shXPVCOfENMqsbXzNGxg3dq8jqXZNXuJhiNPmdI0hudsHI8nWm835SWCQjt6iHMV8l3FAxEPCZ2V5FZV5WeW1DA== 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 Sun, Mar 30, 2025 at 3:08=E2=80=AFPM Linus Torvalds wrote: > > On Sun, 30 Mar 2025 at 14:30, Alexei Starovoitov > wrote: > > > > But to avoid being finger pointed, I'll switch to checking alloc_flags > > first. It does seem a better trade off to avoid cache bouncing because > > of 2nd cmpxchg. Though when I wrote it this way I convinced myself and > > others that it's faster to do trylock first to avoid branch mispredicti= on. > > Yes, the really hot paths (ie core locking) do the "trylock -> read > spinning" for that reason. Then for the normal case, _only_ the > trylock is in the path, and that's the best of both worlds. > > And in practice, the "do two compare-and-exchange" operations actually > does work fine, because the cacheline will generally be sticky enough > that you don't actually get many extra cachline bouncing. Right, but I also realized that in the contended case there is an unnecessary irq save/restore pair. Posted the fix: https://lore.kernel.org/bpf/20250331002809.94758-1-alexei.starovoitov@gmail= .com/ maybe apply directly? I'll send the renaming fix once we converge on a good name.