All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Peter Zijlstra <peterz@infradead.org>
Cc: io-uring@vger.kernel.org, linux-kernel@vger.kernel.org,
	tglx@linutronix.de, mingo@redhat.com, andres@anarazel.de
Subject: Re: [PATCH 4/8] io_uring: add support for futex wake and wait
Date: Fri, 14 Jul 2023 08:52:40 -0600	[thread overview]
Message-ID: <bcf174d8-607b-e61a-2091-eccd3ffe0dfe@kernel.dk> (raw)
In-Reply-To: <20230713172455.GA3191007@hirez.programming.kicks-ass.net>

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


  reply	other threads:[~2023-07-14 14:52 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-12 16:20 [PATCHSET v2 0/8] Add io_uring futex/futexv support Jens Axboe
2023-07-12 16:20 ` [PATCH 1/8] futex: abstract out futex_op_to_flags() helper Jens Axboe
2023-07-12 16:20 ` [PATCH 2/8] futex: factor out the futex wake handling Jens Axboe
2023-07-12 16:20 ` [PATCH 3/8] futex: abstract out a __futex_wake_mark() helper Jens Axboe
2023-07-12 16:20 ` [PATCH 4/8] io_uring: add support for futex wake and wait Jens Axboe
2023-07-13 11:15   ` Peter Zijlstra
2023-07-13 16:25     ` Jens Axboe
2023-07-13 17:24     ` Peter Zijlstra
2023-07-14 14:52       ` Jens Axboe [this message]
2023-07-14 15:08         ` Peter Zijlstra
2023-07-14 15:10           ` Jens Axboe
2023-07-12 16:20 ` [PATCH 5/8] futex: add wake_data to struct futex_q Jens Axboe
2023-07-12 16:20 ` [PATCH 6/8] futex: make futex_parse_waitv() available as a helper Jens Axboe
2023-07-12 16:20 ` [PATCH 7/8] futex: make the vectored futex operations available Jens Axboe
2023-07-12 16:20 ` [PATCH 8/8] io_uring: add support for vectored futex waits Jens Axboe
2023-07-13 11:54   ` Peter Zijlstra
2023-07-13 16:26     ` Jens Axboe
2023-07-12 16:58 ` [PATCHSET v2 0/8] Add io_uring futex/futexv support Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2023-09-21 18:29 [PATCHSET v5] " Jens Axboe
2023-09-21 18:29 ` [PATCH 4/8] io_uring: add support for futex wake and wait Jens Axboe
2023-09-27  9:05   ` Peter Zijlstra
2023-09-27 12:05     ` Jens Axboe
2023-09-28 17:25 [PATCHSET v6] Add io_uring futex/futexv support Jens Axboe
2023-09-28 17:25 ` [PATCH 4/8] io_uring: add support for futex wake and wait Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bcf174d8-607b-e61a-2091-eccd3ffe0dfe@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=andres@anarazel.de \
    --cc=io-uring@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.