Re: [GIT PULL] io_uring updates for 5.10-rc1

From: Arvind Sankar
Date: Tue Oct 13 2020 - 17:06:08 EST


On Tue, Oct 13, 2020 at 01:49:01PM -0600, Jens Axboe wrote:
> On 10/13/20 1:46 PM, Linus Torvalds wrote:
> > On Mon, Oct 12, 2020 at 6:46 AM Jens Axboe <axboe@xxxxxxxxx> wrote:
> >>
> >> Here are the io_uring updates for 5.10.
> >
> > Very strange. My clang build gives a warning I've never seen before:
> >
> > /tmp/io_uring-dd40c4.s:26476: Warning: ignoring changed section
> > attributes for .data..read_mostly
> >
> > and looking at what clang generates for the *.s file, it seems to be
> > the "section" line in:
> >
> > .type io_op_defs,@object # @io_op_defs
> > .section .data..read_mostly,"a",@progbits
> > .p2align 4
> >
> > I think it's the combination of "const" and "__read_mostly".
> >
> > I think the warning is sensible: how can a piece of data be both
> > "const" and "__read_mostly"? If it's "const", then it's not "mostly"
> > read - it had better be _always_ read.
> >
> > I'm letting it go, and I've pulled this (gcc doesn't complain), but
> > please have a look.
>
> Huh weird, I'll take a look. FWIW, the construct isn't unique across
> the kernel.
>
> What clang are you using?
>
> --
> Jens Axboe
>

If const and non-const __read_mostly appeared in the same file, both gcc
and clang would give errors.