Received: by 2002:a05:7412:37c9:b0:e2:908c:2ebd with SMTP id jz9csp3033997rdb; Fri, 22 Sep 2023 16:24:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFYZ/0QSI6PRtwZ/TNQe5dKZao9Q5Q82YXMdf5xxqXHabu+dwUzNhCXIuLV0XqGy2NLbfbq X-Received: by 2002:a05:6a20:1451:b0:153:63b9:8bf9 with SMTP id a17-20020a056a20145100b0015363b98bf9mr1172888pzi.0.1695425041202; Fri, 22 Sep 2023 16:24:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695425041; cv=none; d=google.com; s=arc-20160816; b=bdkzhv5IeMTme1iGYFbGGQpsxcaWek7FZcR3u4ZUIO18hKdhQENjq1G5rnEUIble9b wmKJjRkS6ajgrcElUpogO3kF5SG7NGHNNZw9bHMcyIfkpb5DTcg0ToIUKPVaFc/seSJ1 ElpFtcpsqGdpTX7c1xojV6CgeWv2U/C9x22OzeMZoVB4ofhS4qPKL0f/dMUeHExuJcKm 9uvArYZyRoYuIflBNkAlFeI2PP52eVKj2IOgsuwc+SdGJ21ZXZ8By4j44Zme2mH8Hop9 0w+cRs5E3vSxrTQoElHk8/X8ZWxK8ZnlE3pTtjhXcy+w4BKEsqH7cFYbwTVJDnNXQNTS Bk3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=l4ucugCATkzwXuMI23OkOn2TmVsi6Gz/cX1EPcaz7Pc=; fh=c+gKt5IVdiy6jZk1dGqhlT6uNpp6tz3b+y7pTuGTRMY=; b=EmGDy17PYuSQJfC1Qpceyr0dUhE1em0VsuXdMrgeb0ZRymBKUtuw5VQMekktu0FTco dngKD3Paipx1WRNYdHOtIRl2h86c2ymY5l3rJXQMtXJsOvD/gUt3IZJg8vF4ADRSd69Z A0PFkFzVUweE/hpG+nZICTL7L2WjZFsFpIELR6ZR0Fd5e2bxkUwiK/ZdDA8E6cnW5jtv lKfi6lriXUDINzdQi+3gPBAlrVYOxqDiyh7gSPjQujNHqNtI4aqoK+wx8//n3viK2lAV baNEEwUbYadcP20YEApdOJAXZ2V9VFqXMwlsQfa0ab0GX+390fgvK2RgJeWjJcvGvo3R cGqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=OXfNquCI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id h8-20020a170902f54800b001c584378322si5114960plf.619.2023.09.22.16.24.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Sep 2023 16:24:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=OXfNquCI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 116D8821705A; Fri, 22 Sep 2023 06:56:40 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232469AbjIVN4l (ORCPT + 99 others); Fri, 22 Sep 2023 09:56:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38194 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229953AbjIVN4j (ORCPT ); Fri, 22 Sep 2023 09:56:39 -0400 Received: from mail-io1-xd33.google.com (mail-io1-xd33.google.com [IPv6:2607:f8b0:4864:20::d33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 448BD18F for ; Fri, 22 Sep 2023 06:56:31 -0700 (PDT) Received: by mail-io1-xd33.google.com with SMTP id ca18e2360f4ac-79f96830e4dso15726239f.1 for ; Fri, 22 Sep 2023 06:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1695390990; x=1695995790; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=l4ucugCATkzwXuMI23OkOn2TmVsi6Gz/cX1EPcaz7Pc=; b=OXfNquCIOcbqGFkW8h4CwCOrqp13I/OO5Ey9q0Ta9VHoviE5FI1wY5XxB0J3PW+sHg 0ltGtSn3TC7n4L1Neos1SZdAPGDeEE9q1binQlp4zP3fZTzyO2Z8btQ0Mdh+Kz5gTuRV 6HB1b2DI88yO9o8DRswBiRulqaqsYRk4sOEzRb0kDoOBJyefZSqYjocWUbdz9dXPOGYn WNJJUfOV3uYi8Xt5jBqr+cJjshrbnCa+TZAkDfGiSmSSQgrxYG8hxe9Ygjs5xs0y+hKF VRub7/r03NVK5HT2ojyWTwPCMq7sjh4UjxDmYNWQePXMOPvXefCapWgoMPHa+m/KkmiX fT3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695390990; x=1695995790; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=l4ucugCATkzwXuMI23OkOn2TmVsi6Gz/cX1EPcaz7Pc=; b=ag9Rd/k+UtqqwGHl7e68DImlCR9wucVtFZCKExrqMudDgX2WtFKHQcLp8mljJdm1XY ZY5+uP21t11wsFty4uwERdxPYE2Ek6d44SLc2harllho0tsbT/BOOq2vxif9Vg5w7M4W um4KMtTBW7AEbT/1zjQGCHxZ4v4aEc3hDdRshwN+Necu695vBRpkqI4yPtxftqv5bmFB kmgAkrXosG+be618YH/kJOC4UICAz4tNb6vV+5J4eDIAd+mcBJWqJRc2rj3TvuHHVVfl KlQRiGnAsNm1xnXK1qfvqC21IIONUNTAG1YOlR6TWD+LvY8wUQGGROL/XPXcRCGKu5vJ C4nw== X-Gm-Message-State: AOJu0YyOuERGiJ1zjimEHFMA8GmWT5brnolzAav0F/pjQ9DRkpy9NGpQ Vh/57Oyw4cj9QAXbEc529SCUxUsfd9FEc+OtHXP4YQ== X-Received: by 2002:a05:6602:13c2:b0:79d:1c65:9bde with SMTP id o2-20020a05660213c200b0079d1c659bdemr11422024iov.1.1695390990588; Fri, 22 Sep 2023 06:56:30 -0700 (PDT) Received: from [192.168.1.94] ([96.43.243.2]) by smtp.gmail.com with ESMTPSA id l13-20020a02cd8d000000b0042b05586c52sm1028681jap.25.2023.09.22.06.56.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Sep 2023 06:56:29 -0700 (PDT) Message-ID: Date: Fri, 22 Sep 2023 07:56:28 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 10/15] futex: Add sys_futex_requeue() Content-Language: en-US To: Peter Zijlstra , Ingo Molnar Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org, mingo@redhat.com, dvhart@infradead.org, dave@stgolabs.net, andrealmeid@igalia.com, Andrew Morton , urezki@gmail.com, hch@infradead.org, lstoakes@gmail.com, Arnd Bergmann , linux-api@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, malteskarupke@web.de, Geert Uytterhoeven References: <20230921104505.717750284@noisy.programming.kicks-ass.net> <20230921105248.511860556@noisy.programming.kicks-ass.net> <20230922110335.GC7080@noisy.programming.kicks-ass.net> From: Jens Axboe In-Reply-To: <20230922110335.GC7080@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 22 Sep 2023 06:56:40 -0700 (PDT) On 9/22/23 5:03 AM, Peter Zijlstra wrote: > On Fri, Sep 22, 2023 at 11:35:03AM +0200, Ingo Molnar wrote: >> >> * peterz@infradead.org wrote: >> >>> --- linux-2.6.orig/kernel/futex/syscalls.c >>> +++ linux-2.6/kernel/futex/syscalls.c >>> @@ -396,6 +396,44 @@ SYSCALL_DEFINE6(futex_wait, >>> return ret; >>> } >>> >>> +/* >>> + * sys_futex_requeue - Requeue a waiter from one futex to another >>> + * @waiters: array describing the source and destination futex >>> + * @flags: unused >>> + * @nr_wake: number of futexes to wake >>> + * @nr_requeue: number of futexes to requeue >>> + * >>> + * Identical to the traditional FUTEX_CMP_REQUEUE op, except it is part of the >>> + * futex2 family of calls. >>> + */ >>> + >>> +SYSCALL_DEFINE4(futex_requeue, >>> + struct futex_waitv __user *, waiters, >>> + unsigned int, flags, >>> + int, nr_wake, >>> + int, nr_requeue) >>> +{ >>> + struct futex_vector futexes[2]; >>> + u32 cmpval; >>> + int ret; >>> + >>> + if (flags) >>> + return -EINVAL; >> >> Small detail, but isn't -ENOSYS the canonical error code for functionality >> not yet implemented - which the unused 'flags' ABI is arguably? >> >> -EINVAL is for recognized but incorrect parameters, such as: > > IIUC 'unknown flag' falls into the -EINVAL return category. Here we > happen to have no known flags, but that should not matter. Yep, -ENOSYS is for not having the syscall at all, -EINVAL for unknown flags set. -- Jens Axboe