Received: by 2002:a05:6358:7058:b0:131:369:b2a3 with SMTP id 24csp2575905rwp; Fri, 14 Jul 2023 08:09:14 -0700 (PDT) X-Google-Smtp-Source: APBJJlEupBXUkKnZlPDjruLqQCfRnAjJxL5HtOJMgb0Jmh0Q6vxfyOFWVm9gXZ2cXqJ6RPMdkCwi X-Received: by 2002:a05:6a20:7495:b0:12c:2956:564 with SMTP id p21-20020a056a20749500b0012c29560564mr3870053pzd.45.1689347353875; Fri, 14 Jul 2023 08:09:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689347353; cv=none; d=google.com; s=arc-20160816; b=tuns4g78TXT2584jsXdN9746lvAFldvMUfjubZSC+CAC0scF1rek2xIHB6x8fGvZFd i+AIIRhk8ZlAXX91xkb670eM1RpQekejKhRGjbKrHwuefwHYelsUeOgrp8veRcEAAgfx Keu6RIVzRXHfcRxrVTBCd8BXhaShaco3Qh9TL2ae9gaZzJVRWvG3tYrHhQJAaMN/XvkI B1MoRdMNRrel6T59bHtONbL110dkV1rWDcQGrNwh3sDfcAdD4cAY0EOYNeX61CMWQcA7 Hjwn5hDBgq24vQDvSYfPvA3Y17k57FUzPhAfef2qX5ja8NghiL1NMz4F5dY6zjUXg64U w+zA== 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=JAmunczEJZFXmZmHXM1b+lVlqoJeo+37Wzbf/I2rzuk=; fh=4/nAAuLVR5bT1g1Y2yn5jTOEXlCj5k+vX2Qocgo+V1w=; b=SrVVHExC3OOXNKIk0wBYCkjMDdkFrmzEpsRRIqGT+os7a+WUffVQa1f7ngePbZMsnb FXODPU3F3q8833YZqpguimbGy5Q0UEtYVMdRbwW4VFCleYWVYSNT1r3wc6zRuGd/XryZ sTfS7bQmM3UI/dFNPDzGEZGPinnRDQCRV5w+/pAo2Kq0/+UqADnX8Luo6mhbct3SsuQq gH6v+biXvNuYViBEuPgW0T2NNveye47tNfy+/ZNVS+qcce9JjVcz7M6DoBuhyGwkXc2N TUKimbi+uc52a5+T4CZ1n/BGWG0+nHD3W+G0L6G1IPa7003yviDdpUSX6XUrmBcP5uTK Be7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20221208.gappssmtp.com header.s=20221208 header.b=SEXK0AEW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w19-20020a634913000000b00553a99dd783si6990192pga.778.2023.07.14.08.09.01; Fri, 14 Jul 2023 08:09:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20221208.gappssmtp.com header.s=20221208 header.b=SEXK0AEW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236099AbjGNOwp (ORCPT + 99 others); Fri, 14 Jul 2023 10:52:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236077AbjGNOwn (ORCPT ); Fri, 14 Jul 2023 10:52:43 -0400 Received: from mail-io1-xd2d.google.com (mail-io1-xd2d.google.com [IPv6:2607:f8b0:4864:20::d2d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A69130D7 for ; Fri, 14 Jul 2023 07:52:42 -0700 (PDT) Received: by mail-io1-xd2d.google.com with SMTP id ca18e2360f4ac-77dcff76e35so21530239f.1 for ; Fri, 14 Jul 2023 07:52:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20221208.gappssmtp.com; s=20221208; t=1689346362; x=1691938362; 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=JAmunczEJZFXmZmHXM1b+lVlqoJeo+37Wzbf/I2rzuk=; b=SEXK0AEWpeZ+PSHHyWI4issvXXGelXWSsFqVGgJFtbl590xsUVQLTSG94AA2elEUEJ YVLEHKIdOrgh5aqhkpxiddvzDKY7dsW1UVZrudb1DvejpaKdvXDDVRTx6j0zxZ/8/JJ5 iEtKeOMR9jSG9y+x4kVWbZiPXd1GB6P7Y58+pMnvN3oIykfGU97JUNG2WA3poicjKtt6 lLCnWPleldaLOvVX00IlU1ro0LPYJeEQbUdwHuYrlAhjMPlpaHVj0nUIh93Tmiv8FET6 +TFuphVYLgEvbYh4Vm9750UMBXoCx0YAe/1yhJH5liGr6qwEr1g0KC8oo/C/vTVK+rzW az+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689346362; x=1691938362; 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=JAmunczEJZFXmZmHXM1b+lVlqoJeo+37Wzbf/I2rzuk=; b=U2N9Vg0IYqyMOeF9xBbj9+Hye3SPbAhbOHnZQndSLW2wbCZ2gJLDnhtI1Ow8u55spX apMRjNvP4Hu6A2yKgLg9SXYeKOXeFzwYjjrQtfoTC525cuhgB19JwRj7ADl8VzAS9j36 So9pMYlVvxH6+2An/I/an/ldhc4Nra3SxzmYhONn0O5Ux1JO5+3axSlaYmkxy107i6dx RWpsnqGW2l7kqWbVvjcMp51uyOBhtYaxq6o9FYFuY8pls07w86sdO3WZk4Em8p6XAwpV dTJMhh++GpeYwv3si56OQV3RBumBxgqqCpeamW+E9Oea0+soaVrkzfGI+//MnZpnN/CL ZsQw== X-Gm-Message-State: ABy/qLaJER6g9dN7b3GCPyNd8i/cxlOGL7qsLjhIwRzM2Ox4G925z5Bl CQ8pUext1CpKslev0LWbWFFuPw== X-Received: by 2002:a05:6602:360e:b0:783:63e8:3bfc with SMTP id bc14-20020a056602360e00b0078363e83bfcmr4727005iob.0.1689346361873; Fri, 14 Jul 2023 07:52:41 -0700 (PDT) Received: from [192.168.1.94] ([96.43.243.2]) by smtp.gmail.com with ESMTPSA id ep9-20020a0566384e0900b0042b326ed1ebsm2657638jab.48.2023.07.14.07.52.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 14 Jul 2023 07:52:41 -0700 (PDT) Message-ID: Date: Fri, 14 Jul 2023 08:52:40 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH 4/8] io_uring: add support for futex wake and wait Content-Language: en-US To: Peter Zijlstra Cc: io-uring@vger.kernel.org, linux-kernel@vger.kernel.org, tglx@linutronix.de, mingo@redhat.com, andres@anarazel.de References: <20230712162017.391843-1-axboe@kernel.dk> <20230712162017.391843-5-axboe@kernel.dk> <20230713111513.GH3138667@hirez.programming.kicks-ass.net> <20230713172455.GA3191007@hirez.programming.kicks-ass.net> From: Jens Axboe In-Reply-To: <20230713172455.GA3191007@hirez.programming.kicks-ass.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,NICE_REPLY_A,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE 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 On 7/13/23 11:24?AM, Peter Zijlstra wrote: > On Thu, Jul 13, 2023 at 01:15:13PM +0200, Peter Zijlstra wrote: >> On Wed, Jul 12, 2023 at 10:20:13AM -0600, Jens Axboe wrote: >> >>> +int io_futex_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) >>> +{ >>> + struct io_futex *iof = io_kiocb_to_cmd(req, struct io_futex); >>> + >>> + if (unlikely(sqe->addr2 || sqe->buf_index || sqe->addr3)) >>> + return -EINVAL; >>> + >>> + iof->futex_op = READ_ONCE(sqe->fd); >>> + iof->uaddr = u64_to_user_ptr(READ_ONCE(sqe->addr)); >>> + iof->futex_val = READ_ONCE(sqe->len); >>> + iof->futex_mask = READ_ONCE(sqe->file_index); >>> + iof->futex_flags = READ_ONCE(sqe->futex_flags); >>> + if (iof->futex_flags & FUTEX_CMD_MASK) >>> + return -EINVAL; >>> + >>> + return 0; >>> +} >> >> I'm a little confused on the purpose of iof->futex_op, it doesn't appear >> to be used. Instead iof->futex_flags is used as the ~FUTEX_CMD_MASK part >> of ops. >> >> The latter actually makes sense since you encode the actual op in the >> IOURING_OP_ space. > > Futex is slowly getting back to me; I'm thinking these io_uring > interfaces should perhaps use the futex2 flags instead of the futex_op > encoded muck. > > I'll try and send out a few patches tomorrow to clarify things a little > -- the futex2 work seems to have stalled somewhere halfway :/ Saw your series - I'll take a look. In terms of staging when we get there, would it be possible to split your flags series into the bare minimum and trivial, and then have that as a dependency for this series and the rest of your series? -- Jens Axboe