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 03B0CC6FD1D for ; Fri, 7 Apr 2023 20:58:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5BDD86B0072; Fri, 7 Apr 2023 16:58:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 56DC3900003; Fri, 7 Apr 2023 16:58:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 45E33900002; Fri, 7 Apr 2023 16:58:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 34CFF6B0072 for ; Fri, 7 Apr 2023 16:58:05 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D277412046D for ; Fri, 7 Apr 2023 20:58:04 +0000 (UTC) X-FDA: 80655807288.16.15409F1 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) by imf24.hostedemail.com (Postfix) with ESMTP id BE03D180005 for ; Fri, 7 Apr 2023 20:58:02 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b="NW/Nc+El"; spf=pass (imf24.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.42 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680901082; 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=g8xM6r6/rOzbRR11rE4PPyc0SA/I8K68bLshe2lzvT4=; b=pB2vUfcM0OqNWjCQE1lfyOSXQKb/ewcAk0XKWJYxLP8KBX7lVqPOXqdxzeBoyeRuPUa0dZ MECXv6JjynRTmw7KmDv8+YrZkCnNK5VXjGp5JGwtnegb46YrlSYA3/FtwGFbAEZw3KmYny cNVBbi00Off/fyA9s+2nC5emzUZu8QI= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b="NW/Nc+El"; spf=pass (imf24.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.42 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680901082; a=rsa-sha256; cv=none; b=lfFUxDaN9c1Tmw4NqlUvm8PfTeLReR1vLVgLuZYeaMn0CrGGBhmAXN42w4pEd4w5I5TQRx DQN09rVsZMlS1gj96TE7RdKpzZMOpnU9tlNCX1a+lLK4C+ANLKLlw+VV/pRdpWcRwg2vS1 OQmemVO83Y4dDiDeSmC9lFUSxQwCuHw= Received: by mail-ej1-f42.google.com with SMTP id 11so10830749ejw.0 for ; Fri, 07 Apr 2023 13:58:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1680901081; x=1683493081; 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=g8xM6r6/rOzbRR11rE4PPyc0SA/I8K68bLshe2lzvT4=; b=NW/Nc+EltcmDpGMFuWHmHQm49SsW8tisw9l202sEaQbzcKt2yYTOFzkqw/KhsTYcEG tfzBrNM1+9zFMuFkkUityY4pX8+DXZahhj7lLI8bdg0vvfo3HMXVX/ntDc1yImm/0yIM 6nP8ent+tkhrcCmVy5mbZW7/YwRsOvm2fswbk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680901081; x=1683493081; 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=g8xM6r6/rOzbRR11rE4PPyc0SA/I8K68bLshe2lzvT4=; b=hkMhrdnzERrU8cc3vcMpHh5mDZIpxwSovUIB+k9lzkusLdAa8QMoxz2KkOpzoTZY0u HaWK6RQcdOhBhrj+1H4BpD8KEicI1K7IBaqe8TxbkmckxhRgpxKinIIdRuyZotWEaZSt 8OVWHBwkA0W3Thk3QZLzKwRrCMvr3Y5/73NXkJuWTulVKQOzPon2ZL1scXIY2zcYXbTu 1SJ/XQspuxmw7ReIXiPmZjTHSoPLhLFLSZCwzCrBOGprmlrJlhc8bXZQ98Gpm/kl6giH tXhOcDzZrVrjqvNrVsG+RMlfUcn+ZX7oRIoY3tcUDpEmRFme7rifd3Pt1yjUC4UPrd5U PYZw== X-Gm-Message-State: AAQBX9fpJXHMqudsUsIyqLdwNzaJVbqMeTEXFO4TnXZHPjcT5iAeXd1y KUHxJp6JyJb2Gsoa69nwN/ex080uNmmtsHeRZAP1U0sr X-Google-Smtp-Source: AKy350biI9Aa4I3rxRg5NXSi0TzRhhyJmR+gM7okCMG9W+LhiTL6ft3/QITTPt8NrXnwUOsVCS6lrA== X-Received: by 2002:a17:907:175e:b0:947:5698:c9f6 with SMTP id lf30-20020a170907175e00b009475698c9f6mr657831ejc.35.1680901080807; Fri, 07 Apr 2023 13:58:00 -0700 (PDT) Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com. [209.85.128.54]) by smtp.gmail.com with ESMTPSA id fy36-20020a1709069f2400b00927f6c799e6sm2362711ejc.132.2023.04.07.13.58.00 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Apr 2023 13:58:00 -0700 (PDT) Received: by mail-wm1-f54.google.com with SMTP id m8so13692342wmq.5 for ; Fri, 07 Apr 2023 13:58:00 -0700 (PDT) X-Received: by 2002:a17:907:b687:b0:947:72cd:9325 with SMTP id vm7-20020a170907b68700b0094772cd9325mr310007ejc.15.1680900776633; Fri, 07 Apr 2023 13:52:56 -0700 (PDT) MIME-Version: 1.0 References: <20230405203505.1343562-1-mcgrof@kernel.org> <20230405203505.1343562-2-mcgrof@kernel.org> In-Reply-To: From: Linus Torvalds Date: Fri, 7 Apr 2023 13:52:39 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 1/2] Change DEFINE_SEMAPHORE() to take a number argument To: Matthew Wilcox Cc: Luis Chamberlain , david@redhat.com, patches@lists.linux.dev, linux-modules@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, pmladek@suse.com, petr.pavlu@suse.com, prarit@redhat.com, gregkh@linuxfoundation.org, rafael@kernel.org, christophe.leroy@csgroup.eu, tglx@linutronix.de, peterz@infradead.org, song@kernel.org, rppt@kernel.org, dave@stgolabs.net, vbabka@suse.cz, mhocko@suse.com, dave.hansen@linux.intel.com, colin.i.king@gmail.com, jim.cromie@gmail.com, catalin.marinas@arm.com, jbaron@akamai.com, rick.p.edgecombe@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: weh7iuqcqcs5rihgnfanfinofpts68wa X-Rspam-User: X-Rspamd-Queue-Id: BE03D180005 X-Rspamd-Server: rspam06 X-HE-Tag: 1680901082-643074 X-HE-Meta: U2FsdGVkX18+GoPx32POfr5XYC4mCNrQmCRj0qqwAYDzmIgYkrMhrlRpBptY2lbx+6iwjKuJQ0+XtmHh5RHSM4typAfXie/soBRmlAye1uWn8lIHsP+NxULfpuKF4r6wMGSJnflFXDI1MCcI/8oLbHXNvFU2Jy7xFY3UPnG2Dr/CceLMjrxdAgqDY7nIlAwSOycyunj1iLHNywg5pA7q0KhwcnjApv62v07gsN8CPSVVDUpAMEQkXM4KmRGAynnYw13dgkbGHdzarpbeWqdo+wFPoVvsFx19GpnZuizujBEpAW30gq3qvILgSBxXtB7LmWAzi8Sw/Bwe28Jwo9Z5Tsh5gOY3ncW6JugoXoy+MUP0aOPRrKX1R+PLeMu1F3nPbx4rqQKGd10xLlY+hxeNgC4H0c4BHcHm7CZKHlLz9EOrOYHRs+6M7gB8FkqTDIGQjAwbgZJ8Uh/nnMk+WBAx6onIA+wDrXmUmp3MLgNCf/365A3VE39HmdcY26QZFN7+4C5PPKS/HELyrevS5vMhxPvvoQgMcuS5lDJhNUmHFoTy/+gDi4RYx8HmwHa7SqSiu230cayO63TJfY/1mkhgurHFF2tnworkY1kRQihmG1Kaoebhn2BphoV4Y1H2nzASTwIHkJaVH9OBmRZdibxxqdLs/14e2m1+LACYgT2oRwkbkoHYiqDgTlzJky/Htproy+/iDz8QQJeQX2Xcp/dFE9mGLMDtOmB1sMaDEYdgRSM0zt7vn/V5EZsz/P4tiTDfAV+ir4twi6XILEfXsFmUw9Zp8hZCRIFMgwLmP5rYiXmuR/DVYYmCks0xUN39Ahw4tS14KKjknNYApfp+t0OyxIMzX+cielKMJyOlHOJVpb+uT6vQgfsBBCdbpPXcxRasTvhQfesHWMmo96ehP+NjgUnX9UHuijjJ/f6gRxUr4qeuMBTnfHoVqB1CB5UrudSQQ7wqaNMcZnXtdXnYi1z cwOOdkrV VQw2rHw3lPvJtEoLkUpzh8rYSl56B37feqNn6ykqX4Xe3U4/4hzRr4Q6pgrBu2HemxCIt987K1G+kA3+Uep+FD0ds5BlYwSmFwaUu85adV5y51RrQeNxiBvp9lzlDMdgbayYwKHL6LRWHD/cjKHVr3kxdRu+ApgXxuBAec6eka02Eayncc1Q5EEEbRwOMPpr8WQPm/ZoUlGtvM731V65xZwRPH0Cju5iKg22ACnU4BDsiJxgZ5g3XHY1l5cjcToUSkV8Pavjew+jkqtK4BZIlr6DY3bIP81vEcpfYLmN9RVZnPZzoXFiY+Y0XocFeE9JSYGq8YQ8wC7hNWrgznMsl4cdd1JLtyLbGJFvD1ncxCx3rj+Cwui7c6B35DQZuto31Re2NoD8cZGpHM6oGBHhvbJTGAbb+jSIhwhRYsVZVKBKVaRKW5jksOEsDzQgCg2P2ap5dOvDlO/eBTVBnXcXkjrgamBJCJShlc1+QSQfHIs2ENLjMQJEY+H6x4BmB3KSPvVXxIB8mmoYnK+j9r1cixWjpkejZErW2nGCs8oUKq2Excj/BYnJ5GoZ2KWjiYmFhomeELCfpVl6TwJ5lfND4VXZBz+YdZtqCySfAn7Vy8tWnkCZGb2nCI12h6CFB5V/GDxUxoxCIKPQlqkRTp2+347QVVYCkhnd7/elXuE0Y/t531RaEJw7FGY1n1cgjIJfRs8t4 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000240, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Apr 7, 2023 at 1:37=E2=80=AFPM Matthew Wilcox = wrote: > > I'd like to mention completions as an alternative to semaphores, but > can't figure out a nice way to fit that in. I'm personally a bit sorry completions ever became a thing. There's a real reason for having them, but they have been used and mis-used in so many confusing ways that I am worried every time I see a completion. We've had some nasty use of 'init_completion()' in particular. There are many obvious uses of completions, and they have nice strict semantics wrt last-use etc (so that you can put them on the stack and know that you're the last user when you return, which is not necessarily true of locking in general). But there are several less-than-obvious uses too, and any use of reinit_completion() ends up just making me go "Uhh". The serialization needed for that to actually work right often means that you might as well have used a "wait_event()" with a "smp_store_release()" variable instead and made the code more obvious. I dunno. I might have had a few bad experiences and it's just rare enough to be one of those things that I feel wasn't worth the abstraction cost. And I can't even blame anybody else. I think I'm to blame for that horror. Linus