From: Shuah Khan <skhan@linuxfoundation.org>
To: "tan.shaopeng@fujitsu.com" <tan.shaopeng@fujitsu.com>,
Fenghua Yu <fenghua.yu@intel.com>,
Reinette Chatre <reinette.chatre@intel.com>,
Shuah Khan <shuah@kernel.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-kselftest@vger.kernel.org"
<linux-kselftest@vger.kernel.org>,
Shuah Khan <skhan@linuxfoundation.org>
Subject: Re: [PATCH v3 2/5] selftests/resctrl: Make resctrl_tests run using kselftest framework
Date: Wed, 23 Feb 2022 17:13:21 -0700 [thread overview]
Message-ID: <5200cb0b-6417-d97b-7f17-eae4bf4b0901@linuxfoundation.org> (raw)
In-Reply-To: <TYAPR01MB63302321D2A50D9A690993AF8B3B9@TYAPR01MB6330.jpnprd01.prod.outlook.com>
On 2/22/22 12:55 AM, tan.shaopeng@fujitsu.com wrote:
> Hi Khan,
>
>> On 2/15/22 7:26 PM, Shaopeng Tan wrote:
>>> In kselftest framework, all tests can be build/run at a time, and a
>>> sub test also can be build/run individually. As follows:
>>> $ make -C tools/testing/selftests run_tests $ make -C
>>> tools/testing/selftests TARGETS=ptrace run_tests
>>>
>>> However, resctrl_tests cannot be run using kselftest framework, users
>>> have to change directory to tools/testing/selftests/resctrl/, run
>>> "make" to build executable file "resctrl_tests", and run "sudo
>>> ./resctrl_tests" to execute the test.
>>>
>>> To build/run resctrl_tests using kselftest framework.
>>> Modify tools/testing/selftests/Makefile and
>>> tools/testing/selftests/resctrl/Makefile.
>>>
>>> Even after this change, users can still build/run resctrl_tests
>>> without using framework as before.
>>>
>>> Signed-off-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
>>> ---
>>> Some important feedbacks from v1&v2 are addressed as follows:
>>>
>>> - The changelog mentions that changes were made to the resctrl
>>> selftest Makefile but it does not describe what the change accomplish
>>> or why they are needed.
>>> => By changing the Makefile, resctrl_tests can use kselftest
>>> framework like other sub tests. I described this in changelog.
>>>
>>> - The changelog did not describe how a user may use the kselftest
>>> framework to run the resctrl tests nor the requested information
>>> on how existing workflows are impacted.
>>> => I described how to build/run resctrl_tests with kselftest framework,
>>> and described the existing workflows are not impacted that users can
>>> build/run resctrl_tests without using kselftest framework as before.
>>>
>>> - tools/testing/selftests/resctrl/README should be updated.
>>> => I separate the update of README to a new patch.[patch v3 3/5]
>>>
>>> - Why is the meaning of "EXTRA_SOURCES" (i.e. what is "extra"?) and
>>> why is "SRCS" no longer sufficient?
>>> => I referred to other Makefiles, and found "SRCS" is better
>>> than "EXTRA_SOURCES". So, I updated it to use "SRCS".
>>>
>>> tools/testing/selftests/Makefile | 1 +
>>> tools/testing/selftests/resctrl/Makefile | 20 ++++++--------------
>>> 2 files changed, 7 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/tools/testing/selftests/Makefile
>>> b/tools/testing/selftests/Makefile
>>> index c852eb40c4f7..7df397c6893c 100644
>>> --- a/tools/testing/selftests/Makefile
>>> +++ b/tools/testing/selftests/Makefile
>>> @@ -51,6 +51,7 @@ TARGETS += proc
>>> TARGETS += pstore
>>> TARGETS += ptrace
>>> TARGETS += openat2
>>> +TARGETS += resctrl
>>> TARGETS += rlimits
>>> TARGETS += rseq
>>> TARGETS += rtc
>>> diff --git a/tools/testing/selftests/resctrl/Makefile
>>> b/tools/testing/selftests/resctrl/Makefile
>>> index 6bcee2ec91a9..de26638540ba 100644
>>> --- a/tools/testing/selftests/resctrl/Makefile
>>> +++ b/tools/testing/selftests/resctrl/Makefile
>>> @@ -1,17 +1,9 @@
>>> -CC = $(CROSS_COMPILE)gcc
>>> -CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 -SRCS=$(wildcard *.c)
>>> -OBJS=$(SRCS:.c=.o)
>>> +CFLAGS += -g -Wall -O2 -D_FORTIFY_SOURCE=2
>>>
>>> -all: resctrl_tests
>>> +TEST_GEN_PROGS := resctrl_tests
>>> +SRCS := $(wildcard *.c)
>>>
>>> -$(OBJS): $(SRCS)
>>> - $(CC) $(CFLAGS) -c $(SRCS)
>>> +all: $(TEST_GEN_PROGS)
>>>
>>> -resctrl_tests: $(OBJS)
>>> - $(CC) $(CFLAGS) -o $@ $^
>>> -
>>> -.PHONY: clean
>>> -
>>> -clean:
>>> - $(RM) $(OBJS) resctrl_tests
>>> +$(TEST_GEN_PROGS): $(SRCS)
>>
>> This patch breaks the test build - the below use-cases fail
>>
>> make kselftest-all TARGETS=resctrl
>> make -C tools/testing/selftests/ TARGETS=resctrl
>>
>> Also a simple make in tools/testing/selftests/resctr
>
> Thanks for your feedbacks.
> I applied these patches to the source below and built
> resctrl_tests successfully using above use-cases on x86/arm machine.
> (1)
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> Tag: v5.16
> (2)
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> Tag: next-20220217
>
> Could you tell me which kernel source you used to build
> and what error message you got?
>
I tried this on Linux 5.17-rc4
thanks,
-- Shuah
next prev parent reply other threads:[~2022-02-24 0:13 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-16 2:26 [PATCH v3 0/5] selftests/resctrl: Add resctrl_tests into kselftest set Shaopeng Tan
2022-02-16 2:26 ` [PATCH v3 1/5] selftests/resctrl: Kill child process before parent process terminates if SIGTERM is received Shaopeng Tan
2022-02-18 20:10 ` Shuah Khan
2022-02-16 2:26 ` [PATCH v3 2/5] selftests/resctrl: Make resctrl_tests run using kselftest framework Shaopeng Tan
2022-02-18 20:27 ` Shuah Khan
2022-02-22 7:55 ` tan.shaopeng
2022-02-24 0:13 ` Shuah Khan [this message]
2022-02-25 8:02 ` tan.shaopeng
2022-02-25 18:20 ` Shuah Khan
2022-03-01 7:51 ` tan.shaopeng
2022-02-16 2:26 ` [PATCH v3 3/5] selftests/resctrl: Update README about using kselftest framework to build/run resctrl_tests Shaopeng Tan
2022-02-18 20:31 ` Shuah Khan
2022-02-16 2:26 ` [PATCH v3 4/5] selftests/resctrl: Change the default limited time to 120 seconds Shaopeng Tan
2022-02-18 20:32 ` Shuah Khan
2022-02-16 2:26 ` [PATCH v3 5/5] selftests/resctrl: Fix resctrl_tests' return code to work with selftest framework Shaopeng Tan
2022-02-18 20:39 ` Shuah Khan
2022-02-18 20:44 ` [PATCH v3 0/5] selftests/resctrl: Add resctrl_tests into kselftest set Shuah Khan
2022-02-25 8:03 ` tan.shaopeng
2022-02-25 18:22 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5200cb0b-6417-d97b-7f17-eae4bf4b0901@linuxfoundation.org \
--to=skhan@linuxfoundation.org \
--cc=fenghua.yu@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=reinette.chatre@intel.com \
--cc=shuah@kernel.org \
--cc=tan.shaopeng@fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox