From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933726AbdKBPII (ORCPT ); Thu, 2 Nov 2017 11:08:08 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:45533 "EHLO mailout.easymail.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933540AbdKBPIG (ORCPT ); Thu, 2 Nov 2017 11:08:06 -0400 Reply-To: shuah@kernel.org Subject: Re: [PATCHv5 1/1] [tools/selftests]: android/ion: userspace test utility for ion buffer sharing To: Pintu Agarwal , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, labbott@redhat.com, gregkh@linuxfoundation.org, dvhart@infradead.org, bamvor.zhangjian@linaro.org, pintu_agarwal@yahoo.com, Shuah Khan References: <1508801195-5369-1-git-send-email-pintu.ping@gmail.com> <1509555639-26128-1-git-send-email-pintu.ping@gmail.com> From: Shuah Khan Cc: Shuah Khan Message-ID: <014ae05d-0404-10de-bcc8-7d18f441566a@kernel.org> Date: Thu, 2 Nov 2017 09:07:47 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <1509555639-26128-1-git-send-email-pintu.ping@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Pintu, On 11/01/2017 11:00 AM, Pintu Agarwal wrote: > This is a test utility to verify ION buffer sharing in user space > between 2 independent processes. > It uses unix domain socket (with SCM_RIGHTS) as IPC to transfer an FD to > another process to share the same buffer. > This utility demonstrates how ION buffer sharing can be implemented between > two user space processes, using various heap types. > > This utility is made to be run as part of kselftest framework in kernel. > The utility is verified on Ubuntu-32 bit system with Linux Kernel 4.14, > using ION system heap. > > For more information about the utility please check the README file. > > Signed-off-by: Pintu Agarwal > --- > tools/testing/selftests/Makefile | 3 +- > tools/testing/selftests/android/Makefile | 46 ++++ > tools/testing/selftests/android/ion/.gitignore | 2 + > tools/testing/selftests/android/ion/Makefile | 16 ++ > tools/testing/selftests/android/ion/README | 101 ++++++++ > tools/testing/selftests/android/ion/config | 4 + > tools/testing/selftests/android/ion/ion.h | 143 ++++++++++++ > tools/testing/selftests/android/ion/ion_test.sh | 55 +++++ > .../testing/selftests/android/ion/ionapp_export.c | 135 +++++++++++ > .../testing/selftests/android/ion/ionapp_import.c | 88 +++++++ > tools/testing/selftests/android/ion/ionutils.c | 259 +++++++++++++++++++++ > tools/testing/selftests/android/ion/ionutils.h | 55 +++++ > tools/testing/selftests/android/ion/ipcsocket.c | 227 ++++++++++++++++++ > tools/testing/selftests/android/ion/ipcsocket.h | 35 +++ > tools/testing/selftests/android/run.sh | 3 + > 15 files changed, 1171 insertions(+), 1 deletion(-) > create mode 100644 tools/testing/selftests/android/Makefile > create mode 100644 tools/testing/selftests/android/ion/.gitignore > create mode 100644 tools/testing/selftests/android/ion/Makefile > create mode 100644 tools/testing/selftests/android/ion/README > create mode 100644 tools/testing/selftests/android/ion/config > create mode 100644 tools/testing/selftests/android/ion/ion.h > create mode 100755 tools/testing/selftests/android/ion/ion_test.sh > create mode 100644 tools/testing/selftests/android/ion/ionapp_export.c > create mode 100644 tools/testing/selftests/android/ion/ionapp_import.c > create mode 100644 tools/testing/selftests/android/ion/ionutils.c > create mode 100644 tools/testing/selftests/android/ion/ionutils.h > create mode 100644 tools/testing/selftests/android/ion/ipcsocket.c > create mode 100644 tools/testing/selftests/android/ion/ipcsocket.h > create mode 100755 tools/testing/selftests/android/run.sh > > diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile > index ff80564..61bc77b 100644 > --- a/tools/testing/selftests/Makefile > +++ b/tools/testing/selftests/Makefile > @@ -1,4 +1,5 @@ > -TARGETS = bpf > +TARGETS = android Based on our discussion on dependency on staging headers, let's not add this test to kselftest run. Remove it from here and users can run it as needed. > +TARGETS += bpf > TARGETS += breakpoints > TARGETS += capabilities > TARGETS += cpufreq > diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefil> new file mode 100644 > index 0000000..1a74922 > --- /dev/null > +++ b/tools/testing/selftests/android/Makefile > @@ -0,0 +1,46 @@ > +SUBDIRS := ion > + > +TEST_PROGS := run.sh > + > +.PHONY: all clean > + > +include ../lib.mk > + > +all: > + @for DIR in $(SUBDIRS); do \ > + BUILD_TARGET=$(OUTPUT)/$$DIR; \ > + mkdir $$BUILD_TARGET -p; \ > + make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ > + #SUBDIR test prog name should be in the form: SUBDIR_test.sh > + TEST=$$DIR"_test.sh"; \ > + if [ -e $$DIR/$$TEST ]; then > + rsync -a $$DIR/$$TEST $$BUILD_TARGET/; > + fi > + done > + > +override define RUN_TESTS > + @cd $(OUTPUT); ./run.sh > +endef > + > +override define INSTALL_RULE > + mkdir -p $(INSTALL_PATH) > + install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) > + > + @for SUBDIR in $(SUBDIRS); do \ > + BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \ > + mkdir $$BUILD_TARGET -p; \ > + $(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \ > + done; > +endef > + > +override define EMIT_TESTS > + echo "./run.sh" > +endef > + > +override define CLEAN > + @for DIR in $(SUBDIRS); do \ > + BUILD_TARGET=$(OUTPUT)/$$DIR; \ > + mkdir $$BUILD_TARGET -p; \ > + make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ > + done > +endef This Makefile is fine, you still want to leverage common run_tests target in lib.mk Install and emit tests should be fine, because these are built in the source tree. I am looking to avoid attempts to build this test outside kernel tree. thanks, -- Shuah