Message ID | 20180716195249.GA14380@bombadil.infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jul 16, 2018 at 12:52:49PM -0700, Matthew Wilcox wrote: > On Mon, Jul 16, 2018 at 10:07:10AM -0600, Ross Zwisler wrote: <> > OK ... what version of make are you using? Because this works fine for me: > > $ git clone linux clean > $ cd clean > $ git checkout v4.17 > $ cd tools/testing/radix-tree/ > $ git revert 8d9fa88edd5e360b71765feeadb915d4066c9684 > $ make > > $ make --version > GNU Make 4.1 > Built for x86_64-pc-linux-gnu > > It's Debian's Version: 4.1-9.1 $ make --version GNU Make 4.2.1 Built for x86_64-redhat-linux-gnu The one from Fedora 27. > > If you want generated/map-shift.h to be rebuilt each time you run 'make' so > > that it can take a new SHIFT argument, that's fine, but let's not make users > > run 'make mapshift' before an actual 'make' will work, which is where we're at > > with v4.17 with my commit reverted. > > I don't want it to be rebuilt, I want it to be checked before each > build, regenerated if SHIFT has changed, and everything to rebuild if > it has changed. Sure, sounds good.
On Mon, Jul 16, 2018 at 03:08:20PM -0600, Ross Zwisler wrote: > On Mon, Jul 16, 2018 at 12:52:49PM -0700, Matthew Wilcox wrote: > > On Mon, Jul 16, 2018 at 10:07:10AM -0600, Ross Zwisler wrote: > <> > > OK ... what version of make are you using? Because this works fine for me: > > > > $ git clone linux clean > > $ cd clean > > $ git checkout v4.17 > > $ cd tools/testing/radix-tree/ > > $ git revert 8d9fa88edd5e360b71765feeadb915d4066c9684 > > $ make > > > > $ make --version > > GNU Make 4.1 > > Built for x86_64-pc-linux-gnu > > > > It's Debian's Version: 4.1-9.1 > > $ make --version > GNU Make 4.2.1 > Built for x86_64-redhat-linux-gnu > > The one from Fedora 27. Huh. I just tried 4.2.1-1.1 from Debian unstable and that doesn't produce the problem either. I'm not sure how to proceed at this point. I'm really not a makefile expert.
On Mon, Jul 16, 2018 at 07:41:32PM -0700, Matthew Wilcox wrote: > On Mon, Jul 16, 2018 at 03:08:20PM -0600, Ross Zwisler wrote: > > On Mon, Jul 16, 2018 at 12:52:49PM -0700, Matthew Wilcox wrote: > > > On Mon, Jul 16, 2018 at 10:07:10AM -0600, Ross Zwisler wrote: > > <> > > > OK ... what version of make are you using? Because this works fine for me: > > > > > > $ git clone linux clean > > > $ cd clean > > > $ git checkout v4.17 > > > $ cd tools/testing/radix-tree/ > > > $ git revert 8d9fa88edd5e360b71765feeadb915d4066c9684 > > > $ make > > > > > > $ make --version > > > GNU Make 4.1 > > > Built for x86_64-pc-linux-gnu > > > > > > It's Debian's Version: 4.1-9.1 > > > > $ make --version > > GNU Make 4.2.1 > > Built for x86_64-redhat-linux-gnu > > > > The one from Fedora 27. > > Huh. I just tried 4.2.1-1.1 from Debian unstable and that doesn't > produce the problem either. I'm not sure how to proceed at this point. > I'm really not a makefile expert. This smells like a problem we just hit with make 4.2.1 in fedora 28 in fstests - the regex expanstion has been screwed up such that things like [a-z] will match [A-Z] and other things as well. Debian is unaffected, apparently fedora has a backport of stuff from the as-yet-unreleased next version of make/glibc. See this thread: https://www.spinics.net/lists/fstests/msg10200.html Try setting LANG=C and seeing if the problem goes away.... Cheers, Dave.
On Sun, Jul 22, 2018 at 09:45:50AM +1000, Dave Chinner wrote: > On Mon, Jul 16, 2018 at 07:41:32PM -0700, Matthew Wilcox wrote: > > On Mon, Jul 16, 2018 at 03:08:20PM -0600, Ross Zwisler wrote: > > > On Mon, Jul 16, 2018 at 12:52:49PM -0700, Matthew Wilcox wrote: > > > > On Mon, Jul 16, 2018 at 10:07:10AM -0600, Ross Zwisler wrote: > > > <> > > > > OK ... what version of make are you using? Because this works fine for me: > > > > > > > > $ git clone linux clean > > > > $ cd clean > > > > $ git checkout v4.17 > > > > $ cd tools/testing/radix-tree/ > > > > $ git revert 8d9fa88edd5e360b71765feeadb915d4066c9684 > > > > $ make > > > > > > > > $ make --version > > > > GNU Make 4.1 > > > > Built for x86_64-pc-linux-gnu > > > > > > > > It's Debian's Version: 4.1-9.1 > > > > > > $ make --version > > > GNU Make 4.2.1 > > > Built for x86_64-redhat-linux-gnu > > > > > > The one from Fedora 27. > > > > Huh. I just tried 4.2.1-1.1 from Debian unstable and that doesn't > > produce the problem either. I'm not sure how to proceed at this point. > > I'm really not a makefile expert. > > This smells like a problem we just hit with make 4.2.1 in fedora 28 > in fstests - the regex expanstion has been screwed up such that > things like [a-z] will match [A-Z] and other things as well. Debian > is unaffected, apparently fedora has a backport of stuff from the > as-yet-unreleased next version of make/glibc. See this thread: > > https://www.spinics.net/lists/fstests/msg10200.html > > Try setting LANG=C and seeing if the problem goes away.... Hey Dave, we root caused this difference to to be the fact that I had 'make' aliased to 'make -j32' in my .bashrc. Matthew was running a singled threaded build, while I was running a multi-threaded one. When Matthew ran a multi-threaded build, he was able to reproduce the issue. So, essentially I think that the makefile just needs to be enhanced so that all the dependencies are explicit to allow multi-threaded builds to work properly.
diff --git a/tools/testing/radix-tree/linux/xarray.h b/tools/testing/radix-tree/linux/xarray.h new file mode 100644 index 000000000000..df3812cda376 --- /dev/null +++ b/tools/testing/radix-tree/linux/xarray.h @@ -0,0 +1,2 @@ +#include "generated/map-shift.h" +#include "../../../../include/linux/xarray.h"