2006-01-15 09:27:00

by Andrey Borzenkov

[permalink] [raw]
Subject: 2.6: xfs is rebuilt on every .config change

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This happened for a long time, actually in late 2.5.x (that I have started
with). Every time I make some changes to config - or simply do make oldconfig
- - xfs is rebuilt. This happens when there are *no* changes related to xfs
alltogether. E.g. I now applied 2.6.15.1 patch and xfs got rebuilt again.

It may be nitpicking, but it is huge module, I have relatively slow system ans
sometimes want to quickly test some trvial changes. xfs doubles compile time
(at the very least).

Regards

- -andrey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDyhVZR6LMutpd94wRAufSAJkBc/y6KK5wkcyxVliZkuTYpdcn5QCgmovu
xRdPIPFuQNbI+u3Bv+AI1hA=
=cI9T
-----END PGP SIGNATURE-----


2006-01-15 09:54:16

by Sam Ravnborg

[permalink] [raw]
Subject: Re: 2.6: xfs is rebuilt on every .config change

On Sun, Jan 15, 2006 at 12:26:46PM +0300, Andrey Borzenkov wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> This happened for a long time, actually in late 2.5.x (that I have started
> with). Every time I make some changes to config - or simply do make oldconfig
> - - xfs is rebuilt. This happens when there are *no* changes related to xfs
> alltogether. E.g. I now applied 2.6.15.1 patch and xfs got rebuilt again.

The xfs source files do:
#include <version.h>
To gain access to actual kernel release.

So each time you do a change to the tree that causes version.h to be
updated the xfs source files will be recompiled.

Note that version.h includes "UTS_NAME" - unfortunately.
So you will see version.h being updated rather often if you have enabled
the "Automatically append version information to the version string" in
the "General Setup" menu.

Sam

2006-01-15 17:34:20

by Andrey Borzenkov

[permalink] [raw]
Subject: Re: 2.6: xfs is rebuilt on every .config change

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sunday 15 January 2006 12:54, Sam Ravnborg wrote:
> On Sun, Jan 15, 2006 at 12:26:46PM +0300, Andrey Borzenkov wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > This happened for a long time, actually in late 2.5.x (that I have
> > started with). Every time I make some changes to config - or simply do
> > make oldconfig - - xfs is rebuilt. This happens when there are *no*
> > changes related to xfs alltogether. E.g. I now applied 2.6.15.1 patch and
> > xfs got rebuilt again.
>
> The xfs source files do:
> #include <version.h>
> To gain access to actual kernel release.
>
> So each time you do a change to the tree that causes version.h to be
> updated the xfs source files will be recompiled.
>

Ah, thanks. Now the obvious question is, why in-tree code should bother with
version checking?

The patch removes version check and dependency on linux/version.h from
xfs_dmapi.h.

Signed-off-by: Andrey Borzenkov <[email protected]>

- --- linux-2.6.15/fs/xfs/xfs_dmapi.h.version_h 2006-01-03 06:21:10.000000000
+0300
+++ linux-2.6.15/fs/xfs/xfs_dmapi.h 2006-01-15 20:20:12.000000000 +0300
@@ -18,7 +18,6 @@
#ifndef __XFS_DMAPI_H__
#define __XFS_DMAPI_H__

- -#include <linux/version.h>
/* Values used to define the on-disk version of dm_attrname_t. All
* on-disk attribute names start with the 8-byte string "SGI_DMI_".
*
@@ -159,24 +158,9 @@ typedef enum {
/*
* Based on IO_ISDIRECT, decide which i_ flag is set.
*/
- -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
#define DM_SEM_FLAG_RD(ioflags) (((ioflags) & IO_ISDIRECT) ? \
DM_FLAGS_ISEM : 0)
#define DM_SEM_FLAG_WR (DM_FLAGS_IALLOCSEM_WR | DM_FLAGS_ISEM)
- -#endif
- -
- -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)) && \
- - (LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,22))
- -#define DM_SEM_FLAG_RD(ioflags) (((ioflags) & IO_ISDIRECT) ? \
- - DM_FLAGS_IALLOCSEM_RD : DM_FLAGS_ISEM)
- -#define DM_SEM_FLAG_WR (DM_FLAGS_IALLOCSEM_WR | DM_FLAGS_ISEM)
- -#endif
- -
- -#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,21)
- -#define DM_SEM_FLAG_RD(ioflags) (((ioflags) & IO_ISDIRECT) ? \
- - 0 : DM_FLAGS_ISEM)
- -#define DM_SEM_FLAG_WR (DM_FLAGS_ISEM)
- -#endif


/*
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDyoeYR6LMutpd94wRAskpAKCu/gV8aNZsX0+fqc9/5fXfQBujsACgjaKf
JvgEK78RgVdD5N+kPDUtoFA=
=BPLI
-----END PGP SIGNATURE-----

2006-01-15 21:11:35

by Nathan Scott

[permalink] [raw]
Subject: Re: 2.6: xfs is rebuilt on every .config change

On Sun, Jan 15, 2006 at 10:54:10AM +0100, Sam Ravnborg wrote:
> On Sun, Jan 15, 2006 at 12:26:46PM +0300, Andrey Borzenkov wrote:
> > - - xfs is rebuilt. This happens when there are *no* changes related to xfs
> > alltogether. E.g. I now applied 2.6.15.1 patch and xfs got rebuilt again.
>
> The xfs source files do:
> #include <version.h>
> To gain access to actual kernel release.
>
> So each time you do a change to the tree that causes version.h to be
> updated the xfs source files will be recompiled.

We really don't need that in mainline - I'll clean this up shortly.

thanks.

--
Nathan