lkml.org 
[lkml]   [2022]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [rft, PATCH v1 4/4] kernel.h: Split out ARRAY_SZIE()
On Tue, Oct 25, 2022 at 11:20:10AM +0300, Andy Shevchenko wrote:
> On Mon, Oct 24, 2022 at 09:14:29PM +0300, Alexey Dobriyan wrote:
> > On Mon, Oct 24, 2022 at 07:05:18PM +0300, Andy Shevchenko wrote:
> > > On Mon, Oct 24, 2022 at 06:44:50PM +0300, Alexey Dobriyan wrote:
> > > > > include/linux/array_size.h | 13 +++++++++++++
> > > >
> > > > All of this is pessimisation unless you're removing
> > > >
> > > > +#include <linux/array_size.h>
> > > >
> > > > from kernel.h which you aren't doing.
> > > >
> > > > container_of.h is just as silly.
> > > >
> > > > kernel.h might need _some_ cleanup (like panic and tainted stuff) which
> > > > is rarely used but ARRAY_SIZE()?
> > >
> > > Are you suggesting to slow down compilation with inclusion of tons of unneeded
> > > stuff in the zillions of drivers?
> > >
> > > Or you are talking that we need to abandon most of the headers and combine
> > > everything into kernel.h? I think this is what is silly.
> >
> > It hard to escape kernel.h so you will be including it anyway.
>
> It's very important to not include it in the headers.
>
> And this split helps to it a lot. We have container_of() or array_size() used
> in macros and/or inliners that are usually appears in the headers. And if you
> know what dependency hell means, the kernel.h brings to it a huge mess.
>
> So, try to be constructive, okay?
>
> > Unless you delete, say, kstrtox.h from kernel.h, it is pointless busywork.

I'm very constructive.

Parsing 1 define is faster than opening/reading/closing a file to parse
1 define (it's 2 defines because of header guard).

Therefore extracting 1 macro into separate file without obvious future
growth is a pessimisation.

And if you delete #include <array_size.h> from kernel.h and fix all
compile failures (which you aren't doing apparently) backporters will
hate you for life.

I've tried to delete kstrtox.h, and even allnoconfig had dozens of
failures.

\
 
 \ /
  Last update: 2022-10-29 12:06    [W:0.079 / U:1.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site