Messages in this thread |  | | Subject | Re: [PATCH v2 1/2] kernel.h: Split out min()/max() et al helpers | From | Joe Perches <> | Date | Tue, 04 Feb 2020 17:17:36 -0800 |
| |
On Wed, 2020-02-05 at 00:23 +0100, Rasmus Villemoes wrote: > On 04/02/2020 18.04, Andy Shevchenko wrote: > > kernel.h is being used as a dump for all kinds of stuff for a long time. > > Here is the attempt to start cleaning it up by splitting out min()/max() > > et al helpers. > > > > At the same time convert users in header and lib folder to use new header. > > Though for time being include new header back to kernel.h to avoid twisted > > indirected includes for existing users. > > This is definitely long overdue, so thanks for taking this on. I think > minmax.h is fine as a header on its own, but for the other one, I think > you should go even further - and perhaps all these should go in a > include/math/ dir (include/linux/ has ~1200 files), so we'd have > math/minmax.h, math/round.h, math/ilog2.h, math/gcd.h etc., each > containing just enough #includes to be self-contained (so if there's a > declaration of something taking a u32, there's no way around having it > include types.h (or wherever that's defined).
I think that's not at all desirable.
kernel.h as a monolithic include block is pretty useful.
Separating out the various bits into separate files is OK, but kernel.h should #include them all.
One day a precompiled header of just kernel.h would be useful to reduce overall compilation time. Converting all the other source files that use a small part of the existing kernel.h into multiple includes would not allow precompiled headers to work efficiently.
|  |