All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pintu Kumar <pintu.ping@gmail.com>
To: Laura Abbott <labbott@redhat.com>
Cc: kernel test robot <xiaolong.ye@intel.com>,
	linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	shuah@kernel.org, dvhart@infradead.org,
	Bamvor Zhang Jian <bamvor.zhangjian@linaro.org>,
	Pintu Kumar <pintu_agarwal@yahoo.com>,
	lkp@01.org
Subject: Re: [lkp-robot] [android/ion] 5fb70554d6: kernel_selftests.android.make_fail
Date: Wed, 1 Nov 2017 15:42:10 +0530	[thread overview]
Message-ID: <CAOuPNLh3qV_tYz=ah2yYL6EbLDT5dAeQOWofR=X6qk5NO-7EEA@mail.gmail.com> (raw)
In-Reply-To: <19d76d06-1aba-351c-9b7f-2c861828501c@redhat.com>

On Wed, Nov 1, 2017 at 3:28 AM, Laura Abbott <labbott@redhat.com> wrote:
> On 10/31/2017 03:21 AM, Pintu Kumar wrote:
>> On Tue, Oct 31, 2017 at 2:32 AM, Laura Abbott <labbott@redhat.com> wrote:
>>> On 10/30/2017 12:12 AM, Pintu Kumar wrote:
>>>> On Sun, Oct 29, 2017 at 7:51 PM, kernel test robot
>>>> <xiaolong.ye@intel.com> wrote:
>>>>>
>>>>> FYI, we noticed the following commit (built with gcc-6):
>>>>>
>>>>> commit: 5fb70554d68e2ea032b6a28b082801d8b7b76cb8 ("android/ion: userspace test utility for ion buffer sharing")
>>>>> url: https://github.com/0day-ci/linux/commits/Pintu-Agarwal/android-ion-userspace-test-utility-for-ion-buffer-sharing/20171025-022548
>>>>>
>>>>>
>>>>> in testcase: kernel_selftests
>>>>> with following parameters:
>>>>>
>>>>>
>>>>> test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
>>>>> test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
>>>>>
>>>>>
>>>>> on test machine: 88 threads Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz with 64G memory
>>>>>
>>>>> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-7.2-5fb70554d68e2ea032b6a28b082801d8b7b76cb8
>>>>> 2017-10-26 22:18:16 ln -sf /usr/bin/gcc-5 /usr/bin/gcc
>>>>>
>>>>> 2017-10-26 22:18:16 make run_tests -C android
>>>>> make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-5fb70554d68e2ea032b6a28b082801d8b7b76cb8/tools/testing/selftests/android'
>>>>> make[1]: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-5fb70554d68e2ea032b6a28b082801d8b7b76cb8/tools/testing/selftests/android/ion'
>>>>> gcc  -I../../../../../drivers/staging/android/uapi/ -Wall -O2 -g    ionapp_export.c ipcsocket.c ionutils.c   -o ionapp_export
>>>>> In file included from ionapp_export.c:28:0:
>>>>> ionutils.h:4:17: fatal error: ion.h: No such file or directory
>>>>> compilation terminated.
>>>>> In file included from ionutils.c:9:0:
>>>>> ionutils.h:4:17: fatal error: ion.h: No such file or directory
>>>>> compilation terminated.
>>>>
>>>> This utility requires ion.h header file which should be included from
>>>> kernel source tree: drivers/staging/android/ion/uapi/
>>>> This is already mentioned in the ion/Makefile
>>>> Looks like this ion.h is not getting included inside the linux_headers_dir ?
>>>>
>>>> Shall I include the ion.h locally in my selftests?
>>>> Or, is there a better way to include the header directly...
>>>>
>>>>
>>>
>>>
>>> I can't reproduce this in any of my environments but if I had to guess,
>>> it's because you have
>>>
>>> #include "ion.h"
>>>
>>> which is supposed to look in the local path.
>>>
>>
>> I don't think this is the problem.
>> It just means, first it will look into the local path, then it will
>> look into the include path which is specified in the Makefile.
>> And, in the Makefile I have already included the path where it exists.
>> INCLUDEDIR := -I../../../../../drivers/staging/android/uapi/
>>
>
> Ah yeah you are right
>
>> I think the problem is in general, and not specific to this test.
>> Because, when I manually try to install the kernel headers, I could
>> not find the "ion.h" there, or none of the headers from
>> drivers/staging/android/
>> # make headers_install ARCH=i386 INSTALL_HDR_PATH=../headers/
>>
>> But, I can see the drivers/android/ header files.
>>
>> Now the question is, how to include the header files from staging
>> folder to kernel headers ?
>>
>> As per reference from some other selftests (such as: gpio/Makefile,
>> vm/Makefile, etc.), I also tried the following.
>>
>> ../../../../../drivers/staging/android/uapi/ion.h:
>>         make -C ../../../../.. headers_install
>> INSTALL_HDR_PATH=$(shell pwd)/../../../../usr/
>>
>> But this also does not help in installing the ion.h header file in
>> kernel_header path.
>>
>> Any other pointers to fix this issue ?
>>
>
> The staging uapi headers don't look to be installed with the
> standard install command. This makes sense given that staging
> drivers are well staging and not yet stable.
>
> The tools/gpio Makefile seems to do this trick to allow compilation
> outside the kernel tree (it is a dependency for the gpio selftest)
>
> #
> # We need the following to be outside of kernel tree
> #
> $(OUTPUT)include/linux/gpio.h: ../../include/uapi/linux/gpio.h
>         mkdir -p $(OUTPUT)include/linux 2>&1 || true
>         ln -sf $(CURDIR)/../../include/uapi/linux/gpio.h $@
>
> prepare: $(OUTPUT)include/linux/gpio.h
>

I tried something similar, but it did not help.
Or may be I could not understand how to incorporate this into my code
to make it work.
Basically, when I do make in gpio, it automatically does this using:
make -C headers_install.
But in my case, this command is not getting invoked, using the following:
../../../../../drivers/staging/android/uapi/ion.h:
        make -C ../../../../.. headers_install
INSTALL_HDR_PATH=$(shell pwd)/../../../../usr/


https://kernelnewbies.org/KernelHeaders
It says:
[The correct way to address this problem is to isolate the specific
interfaces that you need, e.g. a single header file that is patched in
a new kernel providing the ioctl numbers for a character device used
by your program. In your own program, add a copy of that source file,
with a notice that it should be kept in sync with new kernel
versions.]

According to this, it looks like we should maintain the local copy of
the header file, until it is available.
I also saw a similar approach in other selftests.

So, for time being shall I create a local copy of ion.h ?


Thanks,
Pintu

> Maybe something like that needs to happen here unless Shuah has
> any better ideas for headers?
>
> Thanks,
> Laura
>
>>
>> Thanks,
>> Pintu
>>
>>
>>> Thanks,
>>> Laura
>

  reply	other threads:[~2017-11-01 10:12 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-26 18:08 [PATCH 1/1] [tools]: android/ion: userspace test utility for ion buffer sharing Pintu Agarwal
2017-09-26 18:50 ` Pintu Kumar
2017-09-26 19:22 ` Laura Abbott
2017-09-27 14:24   ` Pintu Kumar
2017-09-28 18:11     ` Pintu Kumar
2017-09-28 18:16       ` Pintu Kumar
2017-09-30  4:04         ` Pintu Kumar
2017-10-03 16:48 ` [PATCHv2 " Pintu Agarwal
2017-10-04  0:12   ` Laura Abbott
2017-10-04 11:29     ` Pintu Kumar
2017-10-04 22:07       ` Laura Abbott
2017-10-06 14:28     ` Pintu Kumar
2017-10-09 14:17       ` Pintu Kumar
2017-10-09 21:19         ` Laura Abbott
2017-10-04  7:20   ` Greg KH
2017-10-04 10:54     ` Pintu Kumar
2017-10-14 11:36   ` [PATCHv3 1/1] [tools/selftests]: " Pintu Agarwal
2017-10-17 14:18     ` Shuah Khan
2017-10-17 20:21     ` Laura Abbott
2017-10-17 20:58       ` Shuah Khan
2017-10-18 10:38         ` Pintu Kumar
2017-10-20 14:40           ` Shuah Khan
2017-10-20 15:18             ` Pintu Kumar
2017-10-20 19:21               ` Shuah Khan
2017-10-23 13:41                 ` Pintu Kumar
2017-10-23 23:26     ` [PATCHv4 " Pintu Agarwal
2017-10-27  5:34       ` Pintu Kumar
2017-10-27  8:45         ` Greg Kroah-Hartman
2017-10-27 10:00           ` Pintu Kumar
2017-10-29 14:21       ` [lkp-robot] [android/ion] 5fb70554d6: kernel_selftests.android.make_fail kernel test robot
2017-10-29 14:21         ` kernel test robot
2017-10-30  7:12         ` Pintu Kumar
2017-10-30 21:02           ` Laura Abbott
2017-10-30 21:02             ` Laura Abbott
2017-10-31 10:21             ` Pintu Kumar
2017-10-31 21:58               ` Laura Abbott
2017-10-31 21:58                 ` Laura Abbott
2017-11-01 10:12                 ` Pintu Kumar [this message]
2017-11-01 10:30                   ` Greg Kroah-Hartman
2017-11-01 10:30                     ` Greg Kroah-Hartman
2017-11-01 15:04                   ` Shuah Khan
2017-11-01 15:04                     ` Shuah Khan
2017-11-01 16:26                     ` Pintu Kumar
2017-11-01 16:57                       ` Shuah Khan
2017-11-01 16:57                         ` Shuah Khan
2017-11-01 17:14                         ` Pintu Kumar
2017-11-01 22:38                           ` Shuah Khan
2017-11-01 22:38                             ` Shuah Khan
2017-11-02  8:53                             ` Greg Kroah-Hartman
2017-11-02  8:53                               ` Greg Kroah-Hartman
2017-11-02 14:50                               ` Shuah Khan
2017-11-02 14:50                                 ` Shuah Khan
2017-10-30 22:56       ` [PATCHv4 1/1] [tools/selftests]: android/ion: userspace test utility for ion buffer sharing Laura Abbott
2017-10-31  9:49         ` Pintu Kumar
2017-11-01 17:00       ` [PATCHv5 " Pintu Agarwal
2017-11-02 15:07         ` Shuah Khan
2017-11-02 16:15           ` Pintu Kumar
2017-11-02 16:19             ` Shuah Khan
2017-11-02 17:53               ` Shuah Khan
2017-11-02 23:54                 ` Laura Abbott
2017-11-03  0:32                   ` Shuah Khan
2017-11-03  4:36                     ` Pintu Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOuPNLh3qV_tYz=ah2yYL6EbLDT5dAeQOWofR=X6qk5NO-7EEA@mail.gmail.com' \
    --to=pintu.ping@gmail.com \
    --cc=bamvor.zhangjian@linaro.org \
    --cc=dvhart@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=labbott@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=lkp@01.org \
    --cc=pintu_agarwal@yahoo.com \
    --cc=shuah@kernel.org \
    --cc=xiaolong.ye@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.