Re: [PATCH] KBUILD: Move non-__KERNEL__-checking headers to header-y.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2008-05-21 at 01:43 -0700, Andrew Morton wrote:
> On Wed, 21 May 2008 04:36:30 -0400 (EDT) "Robert P. J. Day" <rpjday@xxxxxxxxxxxxxx> wrote:
> 
> > On Tue, 20 May 2008, Andrew Morton wrote:
> > 
> > > On Sat, 17 May 2008 20:18:07 -0400 (EDT) "Robert P. J. Day" <rpjday@xxxxxxxxxxxxxx> wrote:
> > >
> > > >
> > > > Move exported header files under include/linux that don't check the
> > > > __KERNEL__ preprocessor from unifdef-y to header-y.
> > > >
> > >
> > > Changelog fails to tell us why this change is being made.
> > >
> > > Perhaps it's because these headers just don't need unifdef processing?
> > >
> > > If so, that seems fragile.  If we later add a __KERNEL__ section to
> > > a header we need to remember to move the file to unifdef-y, and
> > > we'll forget.  It'd be better to process all files with unifdef.
> > >
> > > Or something.  Or not.
> > 
> >   i don't see a problem with simply running all exported files through
> > unifdef -- i've never understood the two categories since the unifdef
> > process is not exactly CPU-intensive and it can't possibly hurt for
> > some of those operations to be redundant.
> > 
> >   but as long as the two categories exist, might as well keep them
> > clean.
> > 
> 
> Well...  not to let this go for now - nuking the header-y stuff is an
> attractive cleanup.  David, are we missing something here?

I don't recall unifdef being anywhere near as fast as simply copying the
headers, but a quick test shows that it is now -- it makes virtually no
difference to the time if I unifdef them all. Maybe I was just making it
up, or maybe the unifdef implementation we were using before was a lot
less efficient.

The other reason for having header-y separate from unifdef-y was that it
highlights the difference between headers which are clean and ifdef-free
(which we like), and headers with ifdefs (which, in general, we don't).

Since we've removed the gratuitous __KERNEL__ from unexported headers,
though, I don't think that matters much either -- we can see the ifdefs
quite happily.

So I see no particular reason why we shouldn't drop header-y completely
and just unifdef the lot.

-- 
dwmw2

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux