From: Jens Axboe <[email protected]>
To: Linus Torvalds <[email protected]>
Cc: io-uring <[email protected]>, Keith Busch <[email protected]>
Subject: Re: [GIT PULL] io_uring fixes for 6.0-rc1
Date: Fri, 12 Aug 2022 15:53:32 -0600 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAHk-=wi_oveXZexeUuxpJZnMLhLJWC=biyaZ8SoiNPd2r=6iUg@mail.gmail.com>
On 8/12/22 3:43 PM, Linus Torvalds wrote:
> [ Crossed emails ]
>
> On Fri, Aug 12, 2022 at 2:34 PM Jens Axboe <[email protected]> wrote:
>>
>> Keith brought up a good point, is this some weird randomization of
>> io_kiocb that makes it bigger? struct io_rw is already at 64-bytes as it
>> is, if it gets re-arranged for more padding maybe that's what you're
>> hitting? Is it just io_rw or are you seeing others?
>
> I think was seeing others (I got hundreds of lines or errors), but now
> that I've blown things away I can't recreate it. My allmodconfig build
> just completed with no sign of the errors I saw earlier.
>
> I think Keith is right. An allmodconfig build for me has
>
> CONFIG_RANDSTRUCT=y
> CONFIG_GCC_PLUGIN_RANDSTRUCT=y
>
> and the io_uring "type safety" isn't actually typesafe: it just checks
> the size of types.
I think Keith is right too...
> The other alternative is that we have some build dependency issue, and
> blowing away my old tree fixed things. But that sounds unlikely, we
> haven't had those kinds of issues in a long time.
I would've said we just revert it, but this looks broken now with the
io_cmd_data layout. Before this release, it just would've grown io_kiocb
a bit and spilled into the next cacheline for per-command data. And
while that isn't ideal for performance reasons, it's not like it
wouldn't work. But now we have it specifically set aside 64 bytes for
command data, where it really should be the max any command type would
use rather than a hard-coded 64 bytes. I suspect io_rw is the only one
that'd hit this, exactly because of the randomization in struct kiocb.
If anything else went beyond, we'd find it during development, not while
it was in-tree.
I'll ponder a solution to this...
--
Jens Axboe
next prev parent reply other threads:[~2022-08-12 21:53 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-12 12:46 [GIT PULL] io_uring fixes for 6.0-rc1 Jens Axboe
2022-08-12 20:28 ` Linus Torvalds
2022-08-12 20:44 ` Jens Axboe
2022-08-12 21:01 ` Jens Axboe
2022-08-12 21:08 ` Jens Axboe
2022-08-12 21:34 ` Jens Axboe
2022-08-12 21:43 ` Linus Torvalds
2022-08-12 21:53 ` Jens Axboe [this message]
2022-08-12 21:54 ` Linus Torvalds
2022-08-12 22:01 ` Linus Torvalds
2022-08-12 22:16 ` Jens Axboe
2022-08-12 22:11 ` Jens Axboe
2022-08-12 22:19 ` Jens Axboe
2022-08-12 22:23 ` Keith Busch
2022-08-12 22:25 ` Jens Axboe
2022-08-12 22:27 ` Jens Axboe
2022-08-12 22:35 ` Linus Torvalds
2022-08-12 22:38 ` Jens Axboe
2022-08-12 22:52 ` Linus Torvalds
2022-08-12 22:55 ` Jens Axboe
2022-08-12 21:37 ` Linus Torvalds
-- strict thread matches above, loose matches on Subject: below --
2022-08-11 1:01 Jens Axboe
2022-08-11 14:35 ` Jens Axboe
2022-08-13 21:48 ` pr-tracker-bot
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] \
/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