Re: [PATCH 05/86] x86/gart: use uapi/linux/pci_ids.h directly

From: Michael S. Tsirkin
Date: Tue Mar 31 2015 - 07:05:18 EST


On Tue, Mar 31, 2015 at 11:51:06AM +0200, Ingo Molnar wrote:
>
> * Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
>
> > On Tue, Mar 31, 2015 at 10:34:45AM +0200, Ingo Molnar wrote:
> > >
> > > * Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
> > >
> > > > On Mon, Mar 30, 2015 at 07:29:36AM +0200, Ingo Molnar wrote:
> > > > >
> > > > > * Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
> > > > >
> > > > > > Header moved from linux/pci_ids.h to uapi/linux/pci_ids.h,
> > > > > > use the new header directly so we can drop
> > > > > > the wrapper in include/linux/pci_ids.h.
> > > > > >
> > > > > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> > > > > > ---
> > > > > > arch/x86/kernel/aperture_64.c | 2 +-
> > > > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > >
> > > > > > diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
> > > > > > index 76164e1..3b52a56 100644
> > > > > > --- a/arch/x86/kernel/aperture_64.c
> > > > > > +++ b/arch/x86/kernel/aperture_64.c
> > > > > > @@ -17,7 +17,7 @@
> > > > > > #include <linux/init.h>
> > > > > > #include <linux/memblock.h>
> > > > > > #include <linux/mmzone.h>
> > > > > > -#include <linux/pci_ids.h>
> > > > > > +#include <uapi/linux/pci_ids.h>
> > > > > > #include <linux/pci.h>
> > > > > > #include <linux/bitops.h>
> > > > > > #include <linux/suspend.h>
> > > > > > --
> > > > > > MST
> > > > > >
> > > > >
> > > > > NAK, it's absolutely ridiculous to send a 86 patches series for a
> > > > > trivial change like this!
> > > > >
> > > > > Just do the rename in a single patch and avoid the churn. Even if
> > > > > there are conflicts, they are utmost trivial to fix up.
> > > > >
> > > > > In fact the usual way to do such renames is to wait until the end of
> > > > > -rc1, auto-generate it and send Linus the core patch with the trivial
> > > > > renames straight away.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Ingo
> > > >
> > > >
> > > > Unfortunately, vger mailing lists reject any email with more than 2k of
> > > > email headers. This means if I do what you suggest I can't Cc all
> > > > maintainers for all affected files. [...]
> > >
> > > You can Cc: linux-arch and lkml for tree-wide changes.
> > >
> > > Also, since it's mostly trivial, there shouldn't be much (if any)
> > > controversy about it, right?
> >
> > I thought so, too. However, I was just proven wrong and the patchset
> > was nacked. [...]
>
> Well, I only NAK-ed its high-churn presentation, not the essence of it
> which looks good to me.

Thanks! Another concern voiced was whether it's better to include uapi
files using #include <uapi/linux/foo.h> or #include <linux/foo.h>. Both
work - I thought #include <uapi/linux/foo.h> makes it easier to figure
out where the file is. James Bottomley (Cc'd) thought it's not worth the code
churn however, since if we ever add a file under linux/foo.h we'd need
to change users back. He also noted that many headers are referenced
without the uapi/ prefix, if making the change, we'd have to change
them all.

OTOH if not, maybe we want to drop all '#include <uapi/linux/foo.h>'
converting them to '#include <linux/foo.h>' (and same for asm),
except where it's linux/foo.h pulling in uapi/linux/foo.h.
That, at least, would make it all consistent.



> > [...] Would relevant people notice it if it's just linux-arch? IIUC
> > most people don't read lkml. I guess Linus would notice and reject
> > it.
>
> Just keep it in a clean, separate topic branch and point it out in the
> pull request - there's no reason to reject good changes, plus with
> this structure:
>
> > > > [...] I could just Cc all mailing lists I guess, but I really
> > > > wasn't sure about some parts of the change, deferring it until end
> > > > of -rc1 wouldn't be appropriate in this case, would it?
> > >
> > > So since 90% of the patches are just a trivial:
> > >
> > > -#include <linux/pci_ids.h>
> > > +#include <uapi/linux/pci_ids.h>
> > >
> > > you can auto-generate that simple rename and file movement into a
> > > single commit, at the end of -rc1, without affecting anyone, via
> > > something like:
> > >
> > > sed -i 's/linux\/pci_ids.h/uapi\/linux\/pci_ids.h/g' $(git grep -l linux/pci_ids.h)
> > > git mv include/linux/pci_ids.h include/uapi/linux/pci_ids.h
> > > git commit -a
> > >
> > > (totally untested)
> > >
> > > This should just work.
> > >
> > > Any other changes, as the removal of inclusions from files that
> > > apparently don't need it, or cleanups like the changing of the guard
> > > defines in pci_id.h, can be done on top of that - on a one patch per
> > > change basis.
> > >
> > > This should drastically remove the churn.
>
> it's trivially correct.
>
> I just tried the untested script above and it generates a commit and a
> kernel that builds just fine.
>
> So with that structure my high-churn complaint gets addressed and my
> NAK turns into:
>
> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
>
> Thanks,
>
> Ingo


If people agree one of the two changes (always, or never, referencing
uapi files directly) is worthwhile, I'll follow the procedure
you have outlined above.
Thanks a lot for the suggestions!

--
MST
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/