platform_system_core/libcutils
Joel Fernandes 56cd651e7a libcutils: ashmem: Avoid doing fd checks for ashmem calls
Callers already verify that they are calling ashmem API on a valid fd by
calling ashmem_valid first. Lets make the fstat syscall only if the
ioctl returns -ENOTTY. This means in the regular case, only 1 syscall is
needed (ioctl) vs the current 2 (fstat+ioctl).

Some data to show improvements in reduction of vfs_getattr calls in the
kernel by 10x when doing a camera.

Test: Boot and camera CTS
Bug: 111418894
Change-Id: I992620bbe44355e54ba19eeac81da586c5e5a6e0
Signed-off-by: Joel Fernandes <joelaf@google.com>
2018-07-17 17:02:44 -07:00
..
arch-arm Switch arch-arm/memset32.S to unified syntax. 2015-05-11 22:22:13 -07:00
arch-arm64 Add android_memset16/android_memset32 for aarch64. 2014-06-23 19:28:33 -07:00
arch-mips android_memset.c: Use sanitized shifts 2015-08-27 14:32:17 -07:00
arch-x86 Clean up memset[16,32] routines: unify files names, remove redundant wrapper 2014-09-17 18:11:18 +04:00
arch-x86_64 Clean up memset[16,32] routines: unify files names, remove redundant wrapper 2014-09-17 18:11:18 +04:00
include Merge "libcutils: remove unused open_memstream." 2018-07-12 16:07:04 +00:00
include_vndk/cutils libcutils: remove unused open_memstream. 2018-07-11 14:28:21 -07:00
tests Rewrite get_sched_policy_name for safety. 2018-04-25 14:55:48 -07:00
Android.bp libcutils: remove unused open_memstream. 2018-07-11 14:28:21 -07:00
android_get_control_env.h libcutils: move cutils/files.h to cutils/android_get_control_file.h 2016-11-16 15:56:56 -08:00
android_get_control_file.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
android_reboot.cpp Stop defining local "unused" macros now this is C++. 2017-11-30 16:24:36 -08:00
ashmem-dev.cpp libcutils: ashmem: Avoid doing fd checks for ashmem calls 2018-07-17 17:02:44 -07:00
ashmem-host.cpp Remove more bogus <stdbool.h> #includes from C++. 2018-05-08 13:00:06 -07:00
canned_fs_config.cpp Remove more bogus <stdbool.h> #includes from C++. 2018-05-08 13:00:06 -07:00
config_utils.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
fs.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
fs_config.cpp bootstat: Remove the CAP_SYSLOG capability 2018-06-11 12:41:24 -07:00
hashmap.cpp libcutils: remove some unused API. 2018-07-11 14:27:32 -07:00
iosched_policy.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
klog.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
load_file.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
multiuser.cpp Better, consistent definition of AID_SHARED_GID. 2017-11-13 16:49:26 -07:00
native_handle.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
NOTICE auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
OWNERS libcutils: add OWNERS. 2018-06-12 13:58:30 -07:00
partition_utils.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
properties.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
qtaguid.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
record_stream.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
sched_policy.cpp Rewrite get_sched_policy_name for safety. 2018-04-25 14:55:48 -07:00
socket_inaddr_any_server_unix.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
socket_inaddr_any_server_windows.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
socket_local_client_unix.cpp Stop defining local "unused" macros now this is C++. 2017-11-30 16:24:36 -08:00
socket_local_server_unix.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
socket_local_unix.h libcutils: share Windows networking code. 2016-01-15 15:57:35 -08:00
socket_network_client_unix.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
socket_network_client_windows.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
sockets.cpp libcutils: move cutils/files.h to cutils/android_get_control_file.h 2016-11-16 15:56:56 -08:00
sockets_unix.cpp libcutils: Simplify android_get_control_socket() 2018-05-28 15:00:50 +09:00
sockets_windows.cpp Fix / suppress new unused warnings for mingw+clang 2017-11-29 21:37:28 -08:00
str_parms.cpp libcutils: remove some unused API. 2018-07-11 14:27:32 -07:00
strdup8to16.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
strdup16to8.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
strlcpy.c Fix Windows strlcpy.c build. 2015-04-02 17:21:47 -07:00
threads.cpp Fix / suppress new unused warnings for mingw+clang 2017-11-29 21:37:28 -08:00
trace-container.cpp Move libcutils source to C++. 2017-11-10 13:18:10 -08:00
trace-dev.cpp Revert "Don't initialize atrace if it's already disabled." 2018-02-08 00:49:37 +00:00
trace-dev.inc Remove more bogus <stdbool.h> #includes from C++. 2018-05-08 13:00:06 -07:00
trace-host.cpp Stop defining local "unused" macros now this is C++. 2017-11-30 16:24:36 -08:00
uevent.cpp libcutils: Stop checking the uid of netlink messages 2018-01-08 13:24:32 -08:00