Re: [PATCH 1/1] [tools]: android/ion: userspace test utility for ion buffer sharing
From: Pintu Kumar
Date: Thu Sep 28 2017 - 14:11:59 EST
On Wed, Sep 27, 2017 at 7:54 PM, Pintu Kumar <pintu.ping@xxxxxxxxx> wrote:
> On Wed, Sep 27, 2017 at 12:52 AM, Laura Abbott <labbott@xxxxxxxxxx> wrote:
>> On 09/26/2017 11:08 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 as IPC to transfer an FD to another process
>>> and install it.
>>>
>>> This utility demonstrates how ION buffer sharing can be implemented
>>> between
>>> two user space processes, using various heap ids.
>>>
>>> This utility is verified on Ubuntu 32-bit machine using 2 independent
>>> process such as: ionapp_export (server) and ionapp_import (client).
>>> First the server needs to be run to export FD to the client.
>>> This utility works only if /dev/ion interface is present.
>>>
>>> Here is a sample demo example:
>>>
>>> linux-stable/tools/android/ion$ sudo ./ionapp_export.out -i 1 -s 10
>>> heap_type: 2, heap_size: 10
>>> Fill buffer content:
>>> 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
>>> Sharing fd: 6, Client fd: 5
>>> <ion_close_buffer_fd>: buffer release successfully....
>>>
>>> linux-stable/tools/android/ion$ sudo ./ionapp_import.out
>>> Received buffer fd: 4
>>> Read buffer content:
>>> 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
>>> Fill buffer content:
>>> 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
>>> 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd 0xfd
>>> 0xfd 0xfd 0xfd 0xfd
>>> <ion_close_buffer_fd>: buffer release successfully....
>>>
>>> Signed-off-by: Pintu Agarwal<pintu.ping@xxxxxxxxx>
>>
>>
>> This is a good start on a test app for Ion but it needs to be
>> updated to use the new ABI.
>
> Thanks Laura for your feedback.
> Can you point out what changes are required?
>
Ok I got it what you mean.
In the latest mainline kernel I observed that there are several
changes to uapi/ion.h header file.
Like this one:
staging: android: ion: Break the ABI in the name of forward progress
I can quickly make those changes.
In fact I actually started with linux-next tree itself.
But there is one problem that I am facing using linux-next or latest
mainline kernel.
Right now, I am running Ubuntu on Oracle virtual box 5.1 (I don't have
the real Ubuntu PC as of now).
This virtual box supports only 4.10 LTS kernel version.
If I try to build and flash for higher kernel version, the system does
not boot and goes to kernel panic during boot (even without my
changes).
So, I ended up using the same LTS kernel version.
Now I need to figure out how to use the linux-next tree.
If you have any suggestions please let me know.
Thanks,
Pintu
>>
>> Thanks,
>> Laura