ANDROID: goldfish_pipe: An implementation of more parallel pipe
authorYurii Zubrytskyi <zyy@google.com>
Fri, 29 Jul 2016 17:51:46 +0000 (10:51 -0700)
committerAmit Pundir <amit.pundir@linaro.org>
Thu, 1 Dec 2016 09:48:44 +0000 (15:18 +0530)
commitdfd7878dd19e7ced8910f866f68212ee79bc4349
treebbae4e0f1650ff4f2b40a3cfaff49390e1e7cbff
parent56a56370dbc394cd36f194a108bf4e7bc1876691
ANDROID: goldfish_pipe: An implementation of more parallel pipe

This is a driver code for a redesigned android pipe.
Currently it works for x86 and x64 emulators with the following
performance results:
  ADB push to /dev/null,
  Ubuntu,
  400 MB file,
  times are for 1/10/100 parallel adb commands
x86 adb push: (4.4s / 11.5s / 2m10s) -> (2.8s / 6s / 51s)
x64 adb push: (7s / 15s / (too long, 6m+) -> (2.7s / 6.2s / 52s)

ADB pull and push to /data/ have the same %% of speedup
More importantly, I don't see any signs of slowdowns when
run in parallel with Antutu benchmark, so it is definitely
making much better job at multithreading.

The code features dynamic host detection: old emulator gets
the previous version of the pipe driver code.

Combine follow patch from android-goldfish-3.10

b543285 [pipe] Increase the default pipe buffers size, make it configurable

Signed-off-by: "Yurii Zubrytskyi" <zyy@google.com>
Change-Id: I140d506204cab6e78dd503e5a43abc8886e4ffff
drivers/platform/goldfish/Makefile
drivers/platform/goldfish/goldfish_pipe.c
drivers/platform/goldfish/goldfish_pipe.h [new file with mode: 0644]
drivers/platform/goldfish/goldfish_pipe_v2.c [new file with mode: 0644]