From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A4BCAC4167B for ; Mon, 11 Dec 2023 11:01:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2DD3F6B00B3; Mon, 11 Dec 2023 06:01:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 28DE96B00B6; Mon, 11 Dec 2023 06:01:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 12FB46B00B4; Mon, 11 Dec 2023 06:01:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 004666B00C5 for ; Mon, 11 Dec 2023 06:01:07 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BF3DB1C0E97 for ; Mon, 11 Dec 2023 11:01:07 +0000 (UTC) X-FDA: 81554245374.09.5207286 Received: from madrid.collaboradmins.com (madrid.collaboradmins.com [46.235.227.194]) by imf01.hostedemail.com (Postfix) with ESMTP id 9BF6740009 for ; Mon, 11 Dec 2023 11:01:04 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=sRrefK8Y; dmarc=pass (policy=quarantine) header.from=collabora.com; spf=pass (imf01.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.194 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702292464; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=gDSMtd7xq3PnuaK98lv0N4nSR48UNYH2iiyb7hBPrMA=; b=37y4Ajteu+o1dTsYU9qhrwObF2z6Af4mzshD9/afRrCTAPjLmZheFErGSkmZpM0Om5B/p2 tpbndpj0uYMqIQgNM6ZkGsQiIba6cMQnOaBmVvijDU+fT7NCKBgPNxuRXTEdatxzTxfxor M87t1YOfgiJNpOUUFThadgcV3VX3zB8= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=sRrefK8Y; dmarc=pass (policy=quarantine) header.from=collabora.com; spf=pass (imf01.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.194 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702292464; a=rsa-sha256; cv=none; b=qQdGt5Gvdh9ZGXkNFla6lv7D/R4CvnWepSOvn79pOW0vG6WSlcCHuzKL4UOvSEJMm2NNEw zja42l+bet6AO5BzY32QS7w1u3e2h1KQgUxCLcnZxIK+9RVdXPfb/5lDn8hO4QCZMPXGgq mmBFezngiObAV88SY0bzvAAhupDMeGo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1702292463; bh=wib/6cysoLS1GsZLFc9O493Nd0EM/CV957JsOjYbBew=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=sRrefK8Yr5bj87ARlFcoM3qcvIMPxtbiqX9y9jFqY23cE3yDxMkxj+5ccVJgqwbKj R528HS8yn4UkqP6hCznbTvGkmmlwjdio3U+IoBFnYcrFPWv0TgYAaPVryigG/I6LVv JRh1hd2NDy5gYta04N7q+hpOohGWFbh00ufdy9QmvDqgZaV9GtyhNOfPV/3J9vOiaR FrFGIjWDsHSrVhY5s/1USXPp4sUMM1jT6HjloCzsR79g+Oh7qzWWaPhWtNF8p6wiFA I1qyA0qOcnsgQZcqSxongHbvAVzJR35M2MFdpWjUBhkQnQhPPVcbZdpBoR7ikI29/w J1AEQjJ2jgbAA== Received: from [100.96.234.34] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by madrid.collaboradmins.com (Postfix) with ESMTPSA id 5BC693781417; Mon, 11 Dec 2023 11:00:57 +0000 (UTC) Message-ID: <0b35fcbd-ce8c-4c12-9725-01f18ade9fc0@collabora.com> Date: Mon, 11 Dec 2023 16:00:53 +0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: Muhammad Usama Anjum , David Hildenbrand , Peter Xu , Shuah Khan , Nathan Chancellor , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, LKML , Anders Roxell , Jonathan Corbet Subject: Re: [PATCH] Revert "selftests: error out if kernel header files are not yet built" To: John Hubbard , Andrew Morton References: <20231209020144.244759-1-jhubbard@nvidia.com> Content-Language: en-US From: Muhammad Usama Anjum In-Reply-To: <20231209020144.244759-1-jhubbard@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 9BF6740009 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: c9kkam3twyrzy7djy6g8en4pg5yrt5md X-HE-Tag: 1702292464-61548 X-HE-Meta: U2FsdGVkX1/S5jtR7SBpwxVFDEB7udBACnO2q+RcWyfdAIWmjC2Ac0mf6lwveO2KOCaMisiM9aaTJofutcYTiJE3pp/grivgzXUx7EXGQjvhLcUYxPOsJA22E0dW2CS7oDnm1a0mNsjsGlCZy3uDEKWkHnpY7wpLK4UlQz22ezTWsoPGdWJjOhnm5Gcna6Vrc2qqO2D3UaB6xfHLJOQ1i9/1ErnV9XcUBIDxGUNWR4IAUj+NTfvSrrlAqMoFJ2Anbjd53+9bjvnjQZLdDLQXC0WrAM/bUndRb1JBTgrQ2YBQ9/Pb5DoTMzbTWxI9hbdYGJXuRBCvpxcTTDg6RV8HNEgThZeoA+7fBZUECDd3HUC7M0pNXrOCI5w/Adc7wO7sL/7GhMz1hZM42c04W739cexz6aGbI2ObqGxnqvBTSrOk4+wUbr5F1OVj/OZbwSeXbe/d+aAGTkBQWK3rAHH4+rGoGME9QgA3z9R90Q0oONMWp6Rnshct7j63eZStEUqvy3GSkn9cCmYaKZtHlrbqYjTYBno2kskdKoAQ4ynUuzgwCasbcOwDTfjeSAXA6WLW1XQh6hYKUX4y0NgooX1lu+WoJwxJVUUKbztKUTfranlR8uxT7yANndh5TPT6hbP569iXalb9s6BgW9o/NUkIfcekfXINGFvQbOTRoRVj94qvIv25TBFFYx7sMTYlNmVwWNQ09sWr6CbUJm75rDPa2zrw6rylHxmQ59moKPMomDtXd+F/A1TXoUdOICWkFjl/gF/B6wG2FtTlH6W3F8h6KigCGauLDuJbluq/IdPfpBd0wVBURo3U+YPYFSmTgGKofYftjGmxvy28t1x3/gXBOmh+QPweziBjG7zEUdAJZXtxa1QTaE0i3eqWip8WkVV70MYOxT+m9avKO1TQRaQ/mahzU1gmvBIuVNa/BKiikrU7a7YBFLwoF+F4y5NGI4JVtFlliEybqPIjclt4KDo 5D1q8BKJ xRLFSbeDgWDvSvu8dkfw6Ng7ojulb12MdTwZu5absMp20iAun0/1OfvMwZftNc/QQ7TOKog2Kp9ldd8cTBlSi0+J+k+DsOI7Skp+98EhqEo9iWH1iwA8bHlVPuSdtdpCtdekP7INB63XBJ+LIJ6n8ZlfV1XI87bztzq4M4EXJO45KG5zBhmyjVOVHR2uvsmt3rZqDkJ7heqU6fa7P6PtOlLb+TwkixS9wsF65NMipIb5Ydk8TmT3fvYKuf1l5PH7EZP8X1cWrTsO4WMEgtcKETd7d8/x/7PFj6rVcng/IFy+SHcAYALtDRQ5NCZCwP+V7jcjkgBDdftza7dyOjX/uPt8ENebA1jlcep3FJQzZW5ki/alJQdQSv3Di8igWJBD/4XU8Qx443H/8kYEBF6tcJx0CHwn1/MkmpmzT520JZuBIuLlnZ0X1TTnmjEC1PAliSPwErKDZtqbjtMh6by1PFW/mIv723DimN+Jf+lLXGpcMEdg+yItwqDpRlJzEK3e3kwyGfFdfvILEAa1oRnEja0/AaMnOaFNWcrwxDFFWpPbpdQFklInZV9or/Z2bV0VcIAoeoeOPezNPv3s= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 12/9/23 7:01 AM, John Hubbard wrote: > This reverts commit 9fc96c7c19df ("selftests: error out if kernel header > files are not yet built"). I don't think whole of this commit needs to be reverted. Lets leave the warning message as it is and just remove the condition to abort the compilation. > > It turns out that requiring the kernel headers to be built as a > prerequisite to building selftests, does not work in many cases. For > example, Peter Zijlstra writes: > > "My biggest beef with the whole thing is that I simply do not want to use > 'make headers', it doesn't work for me. > > I have a ton of output directories and I don't care to build tools into > the output dirs, in fact some of them flat out refuse to work that way > (bpf comes to mind)." [1] > > Therefore, stop erroring out on the selftests build. Additional patches > will be required in order to change over to not requiring the kernel > headers. > > [1] https://lore.kernel.org/20231208221007.GO28727@noisy.programming.kicks-ass.net > > Cc: Anders Roxell > Cc: Muhammad Usama Anjum > Cc: David Hildenbrand > Cc: Peter Xu > Cc: Jonathan Corbet > Cc: Nathan Chancellor > Cc: Shuah Khan > Signed-off-by: John Hubbard > --- > tools/testing/selftests/Makefile | 21 +---------------- > tools/testing/selftests/lib.mk | 40 +++----------------------------- > 2 files changed, 4 insertions(+), 57 deletions(-) > > diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile > index 3b2061d1c1a5..8247a7c69c36 100644 > --- a/tools/testing/selftests/Makefile > +++ b/tools/testing/selftests/Makefile > @@ -155,12 +155,10 @@ ifneq ($(KBUILD_OUTPUT),) > abs_objtree := $(realpath $(abs_objtree)) > BUILD := $(abs_objtree)/kselftest > KHDR_INCLUDES := -isystem ${abs_objtree}/usr/include > - KHDR_DIR := ${abs_objtree}/usr/include > else > BUILD := $(CURDIR) > abs_srctree := $(shell cd $(top_srcdir) && pwd) > KHDR_INCLUDES := -isystem ${abs_srctree}/usr/include > - KHDR_DIR := ${abs_srctree}/usr/include > DEFAULT_INSTALL_HDR_PATH := 1 > endif > > @@ -174,7 +172,7 @@ export KHDR_INCLUDES > # all isn't the first target in the file. > .DEFAULT_GOAL := all > > -all: kernel_header_files > +all: > @ret=1; \ > for TARGET in $(TARGETS); do \ > BUILD_TARGET=$$BUILD/$$TARGET; \ > @@ -185,23 +183,6 @@ all: kernel_header_files > ret=$$((ret * $$?)); \ > done; exit $$ret; > > -kernel_header_files: > - @ls $(KHDR_DIR)/linux/*.h >/dev/null 2>/dev/null; \ > - if [ $$? -ne 0 ]; then \ > - RED='\033[1;31m'; \ > - NOCOLOR='\033[0m'; \ > - echo; \ > - echo -e "$${RED}error$${NOCOLOR}: missing kernel header files."; \ > - echo "Please run this and try again:"; \ > - echo; \ > - echo " cd $(top_srcdir)"; \ > - echo " make headers"; \ > - echo; \ > - exit 1; \ > - fi > - > -.PHONY: kernel_header_files > - > run_tests: all > @for TARGET in $(TARGETS); do \ > BUILD_TARGET=$$BUILD/$$TARGET; \ > diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk > index 118e0964bda9..aa646e0661f3 100644 > --- a/tools/testing/selftests/lib.mk > +++ b/tools/testing/selftests/lib.mk > @@ -44,26 +44,10 @@ endif > selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST)))) > top_srcdir = $(selfdir)/../../.. > > -ifeq ("$(origin O)", "command line") > - KBUILD_OUTPUT := $(O) > +ifeq ($(KHDR_INCLUDES),) > +KHDR_INCLUDES := -isystem $(top_srcdir)/usr/include > endif > > -ifneq ($(KBUILD_OUTPUT),) > - # Make's built-in functions such as $(abspath ...), $(realpath ...) cannot > - # expand a shell special character '~'. We use a somewhat tedious way here. > - abs_objtree := $(shell cd $(top_srcdir) && mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) && pwd) > - $(if $(abs_objtree),, \ > - $(error failed to create output directory "$(KBUILD_OUTPUT)")) > - # $(realpath ...) resolves symlinks > - abs_objtree := $(realpath $(abs_objtree)) > - KHDR_DIR := ${abs_objtree}/usr/include > -else > - abs_srctree := $(shell cd $(top_srcdir) && pwd) > - KHDR_DIR := ${abs_srctree}/usr/include > -endif > - > -KHDR_INCLUDES := -isystem $(KHDR_DIR) > - > # The following are built by lib.mk common compile rules. > # TEST_CUSTOM_PROGS should be used by tests that require > # custom build rule and prevent common build rule use. > @@ -74,25 +58,7 @@ TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS)) > TEST_GEN_PROGS_EXTENDED := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS_EXTENDED)) > TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES)) > > -all: kernel_header_files $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) \ > - $(TEST_GEN_FILES) > - > -kernel_header_files: > - @ls $(KHDR_DIR)/linux/*.h >/dev/null 2>/dev/null; \ > - if [ $$? -ne 0 ]; then \ > - RED='\033[1;31m'; \ > - NOCOLOR='\033[0m'; \ > - echo; \ > - echo -e "$${RED}error$${NOCOLOR}: missing kernel header files."; \ > - echo "Please run this and try again:"; \ > - echo; \ > - echo " cd $(top_srcdir)"; \ > - echo " make headers"; \ > - echo; \ > - exit 1; \ > - fi > - > -.PHONY: kernel_header_files > +all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) > > define RUN_TESTS > BASE_DIR="$(selfdir)"; \ -- BR, Muhammad Usama Anjum