From: Jens Axboe <[email protected]>
To: Dave Chinner <[email protected]>, Hao Xu <[email protected]>
Cc: [email protected],
Dominique Martinet <[email protected]>,
Pavel Begunkov <[email protected]>,
Christian Brauner <[email protected]>,
Alexander Viro <[email protected]>,
Stefan Roesch <[email protected]>, Clay Harris <[email protected]>,
[email protected], Wanpeng Li <[email protected]>
Subject: Re: [PATCH v3 0/3] io_uring getdents
Date: Tue, 11 Jul 2023 17:51:46 -0600 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <ZK3qKrlOiLxS/[email protected]>
On 7/11/23 5:47?PM, Dave Chinner wrote:
> On Tue, Jul 11, 2023 at 07:40:24PM +0800, Hao Xu wrote:
>> From: Hao Xu <[email protected]>
>>
>> This series introduce getdents64 to io_uring, the code logic is similar
>> with the snychronized version's. It first try nowait issue, and offload
>> it to io-wq threads if the first try fails.
>>
>>
>> v2->v3:
>> - removed the kernfs patches
>> - add f_pos_lock logic
>> - remove the "reduce last EOF getdents try" optimization since
>> Dominique reports that doesn't make difference
>> - remove the rewind logic, I think the right way is to introduce lseek
>> to io_uring not to patch this logic to getdents.
>> - add Singed-off-by of Stefan Roesch for patch 1 since checkpatch
>> complained that Co-developed-by someone should be accompanied with
>> Signed-off-by same person, I can remove them if Stefan thinks that's
>> not proper.
>>
>>
>> Dominique Martinet (1):
>> fs: split off vfs_getdents function of getdents64 syscall
>>
>> Hao Xu (2):
>> vfs_getdents/struct dir_context: add flags field
>> io_uring: add support for getdents
>
> So what filesystem actually uses this new NOWAIT functionality?
> Unless I'm blind (quite possibly) I don't see any filesystem
> implementation of this functionality in the patch series.
>
> I know I posted a prototype for XFS to use it, and I expected that
> it would become part of this patch series to avoid the "we don't add
> unused code to the kernel" problem. i.e. the authors would take the
> XFS prototype, make it work, add support into for the new io_uring
> operation to fsstress in fstests and then use that to stress test
> the new infrastructure before it gets merged....
>
> But I don't see any of this?
That would indeed be great if we could get NOWAIT, that might finally
convince me that it's worth plumbing up! Do you have a link to that
prototype? That seems like what should be the base for this, and be an
inspiration for other file systems to get efficient getdents via this
(rather than io-wq punt, which I'm not a huge fan of...).
--
Jens Axboe
next prev parent reply other threads:[~2023-07-11 23:51 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 11:40 [PATCH v3 0/3] io_uring getdents Hao Xu
2023-07-11 11:40 ` [PATCH 1/3] fs: split off vfs_getdents function of getdents64 syscall Hao Xu
2023-07-11 13:02 ` Ammar Faizi
2023-07-12 8:03 ` Hao Xu
2023-07-12 13:55 ` Ammar Faizi
2023-07-13 4:17 ` Hao Xu
2023-07-11 23:41 ` Dave Chinner
2023-07-11 23:50 ` Jens Axboe
2023-07-12 11:14 ` Christian Brauner
2023-07-11 11:40 ` [PATCH 2/3] vfs_getdents/struct dir_context: add flags field Hao Xu
2023-07-12 11:31 ` Christian Brauner
2023-07-12 16:02 ` Dominique Martinet
2023-07-13 4:12 ` Hao Xu
2023-07-11 11:40 ` [PATCH 3/3] io_uring: add support for getdents Hao Xu
2023-07-11 12:15 ` Dominique Martinet
2023-07-12 7:53 ` Hao Xu
2023-07-12 16:10 ` Dominique Martinet
2023-07-13 4:05 ` Hao Xu
2023-07-13 4:40 ` Hao Xu
2023-07-13 4:50 ` Dominique Martinet
2023-07-12 8:01 ` Hao Xu
2023-07-12 15:27 ` Christian Brauner
2023-07-13 4:35 ` Hao Xu
2023-07-13 7:10 ` Christian Brauner
2023-07-13 9:06 ` Hao Xu
2023-07-13 15:14 ` Christian Brauner
2023-07-16 11:57 ` Hao Xu
2023-07-18 6:55 ` Hao Xu
2023-07-11 23:47 ` [PATCH v3 0/3] io_uring getdents Dave Chinner
2023-07-11 23:51 ` Jens Axboe [this message]
2023-07-12 0:53 ` Dominique Martinet
2023-07-12 0:56 ` Jens Axboe
2023-07-12 3:16 ` Hao Xu
2023-07-12 3:12 ` Hao Xu
2023-07-12 3:19 ` Hao Xu
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 \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox