Received: by 10.223.164.221 with SMTP id h29csp2736875wrb; Thu, 2 Nov 2017 16:55:23 -0700 (PDT) X-Google-Smtp-Source: ABhQp+T9sA8BeQ3p3iriWNh3enncDr1WC3g+P97UcVQBOujzJZVhhv1AUnbzjHt5Icu9irwI/raI X-Received: by 10.99.96.86 with SMTP id u83mr5373235pgb.322.1509666923798; Thu, 02 Nov 2017 16:55:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509666923; cv=none; d=google.com; s=arc-20160816; b=WRjVwhEfCU6ufUiOvyy5ibRwG5ObuJ8Cru3FKzr7FzLxnXacOEyCP7Z5EQE8lH5rtm MFhT6NptYEXCujvfeUi0Tp6vTu8yQWa1aCMzUuldQTqd8BSECgW04fnc/r1d9TDjrGrk WI4PAEo6HMKw6Kmy03ScvoyPAiNSZcf7PJfebHe82VrS0jatYg4YiN/QTApyntLEbxpd RAT8bXtpCONPy6oQCdGlJaeWcbCe9riRdSXg5xn9d+i7c/Ma0O0ryykZ7LY7/Mv19mOG dgeQTQKfexBcw5XLaPrF3WFiLQRGoedemRXmkeSYaJVP+8I5horDUtg41jhAlJ5i/vFy xLag== 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=zp5qXV5A6OhzkfP7UE8Nr8YT2SAKgPY/76JgBa34dbk=; b=EePuBTmEdgZyMAFcg7M3a2ZsmPPCzXSQESK5xIG8tNTljigy8fVqh1PBi6bLNcDnvH 6wuGqYYIHoN6+QLYE4ZFMiN5rQ2E8MSrGzxqPgZjyyb3tucd4VsBmSNaL4RFVMPRO8U7 imTl+cY9x4t8X7z92ESOWBtAsIc7Dzgz/6HXBpLHLDuhdPbhM5wdErrLDn7oWrKCG9Sn GZ+nqQ0ee999zY4yiFvOgsr/X9u4F9eHmWBDF0EzQaztiup3BL/FzgGBRvBFvhZ3je0H cQk8cDS2mnuQK5cKwxgRulsQNbcZHs29cIUD9KvtJQeL7mYe+rVLkAuSDKta/Dt7BI/g uVnw== 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y66si4606882pgb.156.2017.11.02.16.55.10; Thu, 02 Nov 2017 16:55:23 -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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934700AbdKBXyd (ORCPT + 98 others); Thu, 2 Nov 2017 19:54:33 -0400 Received: from mail-oi0-f65.google.com ([209.85.218.65]:54587 "EHLO mail-oi0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934685AbdKBXy3 (ORCPT ); Thu, 2 Nov 2017 19:54:29 -0400 Received: by mail-oi0-f65.google.com with SMTP id a132so962315oih.11 for ; Thu, 02 Nov 2017 16:54:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=zp5qXV5A6OhzkfP7UE8Nr8YT2SAKgPY/76JgBa34dbk=; b=ERXxo9FLsvrknUl/7dF9bjwaSzRu9utSAbV2FnmzKjVzDl5bMlGUXrm4igLUgSIOhK TTmIlJ7EOcUy4z48wI76InQ3sLdt9i0O4FghoU0sH1OCv44iF9xKgUj3HL0r7HAVm7fD p9PVazi6FvI60LXfYwa66ilPf7zlU5oF9eeXhqCO6OzJPC87DKNupsuAEIraB0AeEy// YcuBfFsvmGto14gXXW22jnzoCAB99J82NMyFak07Bv/fnig4PD9V54nHY73bVUwvJ/m9 xE0Nr8jjRY4adPvbLgVsE7AWoS4V810l6Kk/zzQzBQfPzCOc0MvqnZBLI0Zh5CvmcqGl ZT1Q== X-Gm-Message-State: AMCzsaXYTj/6Mdl5HbsrW+95uhr8XmEsfXKOZYdhQjyu2gzgrbdv9p4r 3JimPam9vx/WLOPxRU7l/Bx3Qw== X-Received: by 10.202.45.17 with SMTP id t17mr3058998oit.244.1509666868829; Thu, 02 Nov 2017 16:54:28 -0700 (PDT) Received: from ?IPv6:2601:602:9802:a8dc::e174? ([2601:602:9802:a8dc::e174]) by smtp.gmail.com with ESMTPSA id n184sm1909215oig.54.2017.11.02.16.54.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Nov 2017 16:54:27 -0700 (PDT) Subject: Re: [PATCHv5 1/1] [tools/selftests]: android/ion: userspace test utility for ion buffer sharing To: Shuah Khan , Pintu Kumar , shuah@kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Greg Kroah-Hartman , dvhart@infradead.org, Bamvor Zhang Jian , Pintu Kumar 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> From: Laura Abbott Message-ID: <6b0c39e6-5fb4-edea-6d8e-e68852dcd33b@redhat.com> Date: Thu, 2 Nov 2017 16:54:25 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: 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 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 From 1582977806601132275@xxx Thu Nov 02 17:54:37 +0000 2017 X-GM-THRID: 1579656416160844925 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread