Received: by 10.223.164.221 with SMTP id h29csp2763736wrb; Thu, 2 Nov 2017 17:33:14 -0700 (PDT) X-Google-Smtp-Source: ABhQp+S26FxF6JN2oxtL7weGQGiOGhJsIgyLdBX2Qpg5Md8g13Al6e0QFBfoey8eTOLekj0kZLga X-Received: by 10.99.4.75 with SMTP id 72mr5099840pge.400.1509669194697; Thu, 02 Nov 2017 17:33:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509669194; cv=none; d=google.com; s=arc-20160816; b=Uvtl5N0cb5RnqhXgVxJJkBUBEpzA9BqsGDqNy1BZe8um9sjW55cImjTz5zGwJCZIqQ Pb4DqBZ6C6GMD/GZMC7QWDG3sncBP03pipVCxwYcSc2qThC8o4ImQRLJjJ9EJ0uz+Zw/ D1k8jaNewyty8/Ez3j5XuYXH4hW8P/y3OPWl3tHHvBbWlHt/Wa2qSggf4YNb2Osnuwwn tyRtrM1mTkOh3i+WbKAieaGkYU+TdTJ9hp70iXqAwhQJ60gGr6GAMxjIqleuO3Lfly63 LuJ1LS49PyuIUq6MT4Lhs0zHf5ZXgo7XcaxWOUDToXf+XuWSJnHJGorWWJIZUf8EyU0X HGyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=0Dx8W+BfZJ4aM0WRXNKrkQUgp6Vj3xuc+UAK1DSq7MQ=; b=yxyKFIuvTl+HE3ZpAmWqFVQSPQQ0Bi4RhuKSwntgwl5Vjz0fh6qrOiiyUHGgsvdRw1 3EDaxJplTelUbw6Bab6dC44dJ/hzu2eMzzg8WXmNk1THsMB/ITdd4qNBmSPe+XEmPXSg viILXDjP1wBW7Rph6hQmXFcL0GKcOgoRLrQDMH/czqs62HJR/xV3Oj5wHEPewU+qHjWQ LNLiHxaBZXqgV0qBWt8pGZ2exoTpVu43YJw8AnCc2Szpffw7xLXudQmaoHEB5uY5EUZ6 fF1gHZjXSJhVYGD18X/iekv67F7+P3p3ePqfNtnxfEblf+HU656BCu9pZH50rhigEnFv AI+g== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b5si4379592pgc.623.2017.11.02.17.33.01; Thu, 02 Nov 2017 17:33:14 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964927AbdKCAc1 (ORCPT + 96 others); Thu, 2 Nov 2017 20:32:27 -0400 Received: from osg.samsung.com ([64.30.133.232]:51299 "EHLO osg.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934618AbdKCAcX (ORCPT ); Thu, 2 Nov 2017 20:32:23 -0400 Received: from localhost (localhost [127.0.0.1]) by osg.samsung.com (Postfix) with ESMTP id 4A88617C89; Thu, 2 Nov 2017 17:32:22 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at dev.s-opensource.com Received: from osg.samsung.com ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pxK4mp39zQTo; Thu, 2 Nov 2017 17:32:14 -0700 (PDT) Received: from [192.168.1.87] (c-24-9-64-241.hsd1.co.comcast.net [24.9.64.241]) by osg.samsung.com (Postfix) with ESMTPSA id 9CF2017C80; Thu, 2 Nov 2017 17:32:13 -0700 (PDT) Subject: Re: [PATCHv5 1/1] [tools/selftests]: android/ion: userspace test utility for ion buffer sharing To: Pintu Kumar , shuah@kernel.org, Pintu Kumar Cc: Laura Abbott , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Greg Kroah-Hartman , dvhart@infradead.org, Bamvor Zhang Jian , Shuah Khan References: <1508801195-5369-1-git-send-email-pintu.ping@gmail.com> <1509555639-26128-1-git-send-email-pintu.ping@gmail.com> <014ae05d-0404-10de-bcc8-7d18f441566a@kernel.org> <3304c07d-b578-2fd5-1937-22a7869021bf@osg.samsung.com> <6b0c39e6-5fb4-edea-6d8e-e68852dcd33b@redhat.com> From: Shuah Khan Message-ID: Date: Thu, 2 Nov 2017 18:32:13 -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: <6b0c39e6-5fb4-edea-6d8e-e68852dcd33b@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/02/2017 05:54 PM, Laura Abbott wrote: > On 11/02/2017 10:53 AM, Shuah Khan wrote: >> On 11/02/2017 10:19 AM, Shuah Khan wrote: >>> On 11/02/2017 10:15 AM, Pintu Kumar wrote: >>>> On Thu, Nov 2, 2017 at 8:37 PM, Shuah Khan wrote: >>>>> 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. >>>> >>>> Ok, I understood what you mean. >>>> You want to remove ion test from kselftest build, but still maintain >>>> the test code inside selftest. >>>> Yes, I agree with this, kselftest will succeed (outside of kernel >>>> source tree), and still somebody can build and run it locally. >>> >>> Right. >>> >>>> >>>> But, my concern is, whole this recent patches were made to include it >>>> into kselftest framework. >>>> Otherwise in my previous patch, I included it under: >>>> tools/testing/android (outside of selftest). >>> >>> I do want this test under kselftest framework. It doesn't make sense to >>> add this under tools/testing/adroid. At some point we could add it to >>> the selftest/Makefile TARGETS list for it to be run very easily if it >>> resides under selftests. >>> >>>> >>>> If, removing the android/ion from kselftest is fine (as of now), I can >>>> push the new changes by tomorrow. >>>> Just waiting for Greg and Laura to confirm... >>>> >> >> I did some sanity tests on this patch on a system with staging and android >> enabled. Most users will see >> >> ion_test.sh: No /dev/ion device found >> ion_test.sh: May be CONFIG_ION is not set >> >> Leaving this in kselftest run might be useful on adroid veification >> tests. >> >> With ion.h local file, outside builds work. We will just have to remember >> to clean this up if and when ion moves from staging. >> >> I am planning to take this patch as is for 4.15-rc1. >> >> Laura! Are you good with the heap size changes in this patch? >> >> thanks, >> -- Shuah >> > > Yes, I think this is okay. > > Thanks, > Laura > Applied to linux-kselftest next for 4.15-rc1. thanks, -- Shuah From 1583000504027387285@xxx Thu Nov 02 23:55:23 +0000 2017 X-GM-THRID: 1579656416160844925 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread