Received: by 10.223.164.221 with SMTP id h29csp2930873wrb; Thu, 2 Nov 2017 21:39:12 -0700 (PDT) X-Google-Smtp-Source: ABhQp+ROMFcYPZMESZcdyL/MFYKyUE1E1brlGo+tKCP397Xlqi6i4CgHJr9AtnjfYggH0YER7b6N X-Received: by 10.159.254.1 with SMTP id r1mr5645560pls.186.1509683952831; Thu, 02 Nov 2017 21:39:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509683952; cv=none; d=google.com; s=arc-20160816; b=pq78xCmGme0euUdj4+eSZQ+vTInPSJgaPp+o53fkRM+685/nnJbPndeBpTlK+WRFww qVpy4KwUh+MQrx2y6yZM0D9kd8y91nXiBQQSaybxEAHvOUbsKQTS7GLKO/+FJboSlsr2 U+EtSfN7FkhK5Rk6dDospnpOb9TAcV/e9gwAIsEFcvHnwxrjJ2LR/yMUDLUt5XFQXVX4 YTkTWo8wzMLo2DKD6rz+txEg6ayT4tUGHpT+6F9SHwq4S19fYtK3FUoBKkg6nMTSkTQq 3g6HzRWeUFMVWQ6UGGR6r68PoCxoOF/F4N0QRQNrTBHWBjDNgRyqKPAKbvxjo1m9xl6E d9Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=jJcOjQDq/ZIBUnQKpIvabxTa/a7d8aLGBlMRuUrCl5w=; b=aslJfESAohLsfhcXhrgIsV8I6ShipHf3k8V+8Qj7KYmh6JNUv0Hpxz75WOiokF1ip6 g6HBFEyqGeBDiRsK+5jk1WcfwJsYSfSBUeHjTczA5+QjQ4A/OzMHaMXtclhOOZFveRxT bE6xYsaKQ/3oPaEOPhS5dVBQ5b7xe9pr3IezQ8MYgXR+/8WgtPWdtv1vU7T1DOsNf/gc pPWU6RPRQ70EOV1nEojxLaVd17Z8JWR0xEg14UchGlT7WAiPQbpfgGdd+lcTreVYJmKJ ftgkdNe0w0nbS5w7MWy/oc2rdfnSCSe7LCugJb98X9hzqNMtO8SWIbOgOLOIw3psuKyH K7aA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=X4i8spSl; 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=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c15si5178226pgt.208.2017.11.02.21.38.59; Thu, 02 Nov 2017 21:39:12 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=X4i8spSl; 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=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753160AbdKCEhA (ORCPT + 97 others); Fri, 3 Nov 2017 00:37:00 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:43627 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751057AbdKCEg7 (ORCPT ); Fri, 3 Nov 2017 00:36:59 -0400 Received: by mail-lf0-f68.google.com with SMTP id a16so1774311lfk.0; Thu, 02 Nov 2017 21:36:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=jJcOjQDq/ZIBUnQKpIvabxTa/a7d8aLGBlMRuUrCl5w=; b=X4i8spSl304gwtBHtQaGSvcR3ZHFBZAp80aYGSmRPESw7g5HtgNRDhaLIBZb+ZU1Px sApW8nN7YUIpv2p3dIQrFIKjMO4TlbfcszAaETUX2/TAlYamiolgyzi23o/+DYB+BnjL G496IYWDKUbn3+RFtn9TYd59v+8b0LFL/OqVdDXoj3OgGLg2f73guFlUaX0qeEnl4fL2 8z0wWqaL3Akb08upf5+BXE8fRQvm0hm37F3eHEFWJWA4Pz2bDQ8eVVmeEOO0tk2LkCJp yLrTuFGVTIqlJQCF7yY2SA3e8wTIK8IV4IDOhk+ABqJlDRibTL6WJpe0Ah48qNWjO5tT 6YnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=jJcOjQDq/ZIBUnQKpIvabxTa/a7d8aLGBlMRuUrCl5w=; b=AgSNiTKVszubThn+1LBdAAp8MJEvgU9BeFB5fhVdXCgSlDNxrSMjAIyQDRTWWWkenc kpvjMbEf8kAImsZWjINon+ebG33B5jlJnP45mSzoI/bBeipcPXF49riH8+Yb5u/c4Jqe OHI54NWfjCjz+0ii1y0OrsJPh7qYXeldTaDXk5MO/B3rF6xw9KR79kFj7EW+FhbiYGCl 1ZWZqPvB58X8jaA/+d1+1yNSZs10cf5eTt6BIfrshsVKfwWtm3DpnK92LnXn+6RJ3cLh RcsU5HdJRGvk5r07MKcAlDdgGzDnd645geqKwv1kZcyjM/1f7wbQHTOBJQczJa0EWlzz NI4Q== X-Gm-Message-State: AJaThX6+Gj5b0TobNuFzsx2dE9Y8vZcBLssKP+R4UHFKP7TnXmkHvM3v x2dnbFsvGmH5oyV2lcLphDdUt07ibDkAJMSJNrU= X-Received: by 10.25.83.78 with SMTP id h75mr2057898lfb.134.1509683816931; Thu, 02 Nov 2017 21:36:56 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.167.79 with HTTP; Thu, 2 Nov 2017 21:36:56 -0700 (PDT) In-Reply-To: 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: Pintu Kumar Date: Fri, 3 Nov 2017 10:06:56 +0530 Message-ID: Subject: Re: [PATCHv5 1/1] [tools/selftests]: android/ion: userspace test utility for ion buffer sharing To: Shuah Khan Cc: shuah@kernel.org, Pintu Kumar , Laura Abbott , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Greg Kroah-Hartman , dvhart@infradead.org, Bamvor Zhang Jian Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 3, 2017 at 6:02 AM, Shuah Khan wrote: > 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. Yes, this was the plan to create android folder there. Now other android tests can also be added there. >>> >>> 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. > Great! Thanks all for your reviews, comments and suggestions. It was nice working with you all! Looking forward for many more contributions :) Thanks, Pintu > thanks, > -- Shuah From 1583002885200536555@xxx Fri Nov 03 00:33:14 +0000 2017 X-GM-THRID: 1579656416160844925 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread