Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp2716999imm; Mon, 16 Jul 2018 12:53:42 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfhBgOl3eTFFFlJ5XR32+eQ+F6j8Y2X0/Q3GwyUnfspC+vrp3BX0Nm+g7Vtt3TNMcuWMd8q X-Received: by 2002:a17:902:68:: with SMTP id 95-v6mr17843569pla.178.1531770822172; Mon, 16 Jul 2018 12:53:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531770822; cv=none; d=google.com; s=arc-20160816; b=OEq+quefdD9bqAdGojVyCGXn0KZycqjv4s1+h3HPXlCbB3fkARZ+htaCMdwkr8sLiM FMU5zPFB1QB1P5Lpu2pihJn+Z72H7Ntqo2aDXS5xpQgQhI5mXA7lIl1+w2htPwWgGgdy +Os3+NAjli/93e6nk4jsTlK2LesNdzAazbB6iuudB3KFg7K2JTiuYInJI1so/2vxpJUl AGMJrAfYjmlp1UL1o+E7CdP81ju64pknQodOV20HrPPhoT4aIO5cHArGQj5MW/rLEdJZ qSM0pFonLYMwA0E7qRcbkBx5AEDSvO5cGXQAhpiSmovy31XErPshivF96qm9KiJhF+NV UYeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=Vgru6mCXblOtVcGBcYglADQgqrK9xp8e8cVQc7K986Q=; b=h5T3FgcsRNGtibLfitYFaKfMwC7xgrujHsQlWk+ZojBbW1z2A8sbuctmeDzhIgH4BQ x3A/lSWSrBYW59kirtILsROlsR0IVWbggqp767lZNLepPokhvkhLyRaYmFM5ECuFyhmn r9muK0JWKR444O2IKKi3Jf9FycdBoJWHKjqjyKW8cmgH58glrCpWLozpXCtGudamgUhr 8JYaOGbwUs/3OaOL/c6tsyy4v4xO7Yl09Humc0OqU9Oxk8mrxbtOrvV9MSWtQtdz0HzZ b6oMngrjRY8arb4qNVb6qUzWjO8xo32SLOdbD3XaZH8MjFb4snQAHYT0DZU/Un9Y81vT UMfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=eXQ4rBPA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q2-v6si30444096plh.136.2018.07.16.12.53.26; Mon, 16 Jul 2018 12:53:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=eXQ4rBPA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729350AbeGPUVs (ORCPT + 99 others); Mon, 16 Jul 2018 16:21:48 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:40248 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728061AbeGPUVr (ORCPT ); Mon, 16 Jul 2018 16:21:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Vgru6mCXblOtVcGBcYglADQgqrK9xp8e8cVQc7K986Q=; b=eXQ4rBPAUBsHn2QUgW7KcYARb TRJd5jYAOfh4PH/hmoBf0WS/2VlMDxKOxQD9bDQW9i3WLTE2h96zLDgBerDrPUb1CMe0Brh9UHvm9 TDzxQ6I+iY4NY6gjzxMNSWleq/sZ0Z9srqUu6ZvRkleAf/RzZAe1nd4OvcS+kFR7+om9A9Q58hKmh o1e1OIfo/MdUqpxNrDLXZAzX/oL2U6AwYsLu14xTtsMWhRnho4y3AVIYifSAnKo4DhAyCEyh6g3pI T32O9k1WRKIKUuEiuBPJ6vRWBaJOOU+aps1kMbAopCnxvxs6yMK+UO0PDtxhlYX4/jPq6C8HPW7d5 ytT2J5pLg==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1ff9Y9-0000EI-60; Mon, 16 Jul 2018 19:52:49 +0000 Date: Mon, 16 Jul 2018 12:52:49 -0700 From: Matthew Wilcox To: Ross Zwisler Cc: kbuild test robot , kbuild-all@01.org, Andrew Morton , linux-kernel@vger.kernel.org, Christoph Hellwig , Dan Williams , Dave Chinner , Jan Kara , linux-nvdimm@lists.01.org Subject: Re: [PATCH 1/5] radix tree test suite: fix mapshift build target Message-ID: <20180716195249.GA14380@bombadil.infradead.org> References: <20180503192430.7582-1-ross.zwisler@linux.intel.com> <20180503192430.7582-2-ross.zwisler@linux.intel.com> <20180715230052.GA6486@bombadil.infradead.org> <20180716160710.GA2287@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180716160710.GA2287@linux.intel.com> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 16, 2018 at 10:07:10AM -0600, Ross Zwisler wrote: > On Sun, Jul 15, 2018 at 04:00:52PM -0700, Matthew Wilcox wrote: > > On Thu, May 03, 2018 at 01:24:26PM -0600, Ross Zwisler wrote: > > > Unfortunately, this phony target doesn't actually work as a dependency, so > > > you end up getting: > > > > > > $ make > > > make: *** No rule to make target 'generated/map-shift.h', needed by 'main.o'. Stop. > > > make: *** Waiting for unfinished jobs.... > > > > > > Fix this by making the file generated/map-shift.h our real makefile target, > > > and add this a dependency of the top level build target. > > > > This commit breaks typing 'make SHIFT=6'. It doesn't rebuild the > > test suite any more. If I revert this patch, it works. Also, I can't > > reproduce the problem you're reporting here. So ... how do I reproduce > > it? Otherwise, I'm just going to revert this patch since it regresses > > a feature I find useful. > > The test suite builds fine for me in v4.17. From a completely clean tree, in > tools/testing/radix-tree: > > $ make > sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < ../../../lib/radix-tree.c > radix-tree.c > sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < ../../../lib/idr.c > idr.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o main.o main.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o linux.o linux.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o test.o test.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o find_bit.o ../../lib/find_bit.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o regression1.o regression1.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o regression2.o regression2.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o regression3.o regression3.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o tag_check.o tag_check.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o multiorder.o multiorder.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o idr-test.o idr-test.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o iteration_check.o iteration_check.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o benchmark.o benchmark.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o idr.o idr.c > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o radix-tree.o radix-tree.c > cc -fsanitize=address multiorder.o radix-tree.o idr.o linux.o test.o find_bit.o -lpthread -lurcu -o multiorder > cc -fsanitize=address main.o radix-tree.o idr.o linux.o test.o find_bit.o regression1.o regression2.o regression3.o tag_check.o multiorder.o idr-test.o iteration_check.o benchmark.o -lpthread -lurcu -o main > cc -fsanitize=address idr-test.o radix-tree.o idr.o linux.o test.o find_bit.o -lpthread -lurcu -o idr-test > > and you can successfully run the radix tree test suite by running 'main'. > > With the above mentioned commit reverted, this build fails: > > $ make > make: *** No rule to make target 'generated/map-shift.h', needed by 'main.o'. Stop. > make: *** Waiting for unfinished jobs.... 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 > 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. > Incidentally, in the current linux/master the radix tree test suite again > fails to build: > > cc -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE -fsanitize=address -c -o radix-tree.o radix-tree.c > idr.c:7:10: fatal error: linux/xarray.h: No such file or directory > #include > ^~~~~~~~~~~~~~~~ > compilation terminated. > make: *** [: idr.o] Error 1 > > Can you look into this? Ah ... Andrew broke it fixing something else ;-) The first commit in my xarray branch fixes it -- looks like I tested my own commits but not the commit I based on ;-) 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" > 0-day folks, would it be possible for you to add a radix tree build & test > runs to your automated tests? We would really appreciate any help in reducing > this kind of breakage, which seems to happen pretty often. Yeah, that would be good.