lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 25 Feb 2022 08:02:00 +0000
From:   "tan.shaopeng@...itsu.com" <tan.shaopeng@...itsu.com>
To:     'Shuah Khan' <skhan@...uxfoundation.org>,
        Fenghua Yu <fenghua.yu@...el.com>,
        Reinette Chatre <reinette.chatre@...el.com>,
        Shuah Khan <shuah@...nel.org>
CC:     "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>
Subject: RE: [PATCH v3 2/5] selftests/resctrl: Make resctrl_tests run using
 kselftest framework

Hi Shuah,

> On 2/22/22 12:55 AM, tan.shaopeng@...itsu.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@...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

I tried these patches on Linux 5.17-rc4 with gcc version 8.4.1 
and resctrl_tests is still built successfully.

Could you tell me what error message you got when you built it?

Best regards,
Tan Shaopeng

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ