platform_bionic/libc/arch-x86_64/syscalls
Elliott Hughes 5d9a7ba0dc Avoid a system call in 'gettid'.
System calls can be pretty slow. This is mako, which has one of our
lowest latencies:

                       iterations      ns/op
  BM_unistd_getpid       10000000        209
  BM_unistd_gettid      200000000          8

Bug: 15297299 (kernel panic from too many gettid calls)
Bug: 15315766 (excessive gettid overhead in liblogd)
Change-Id: I49656c0fc5b5d092390264a59e4f2c0d8a8b1aeb
2014-06-02 10:32:55 -07:00
..
__accept4.S Mark sockets on creation (socket()) and accept4(). 2014-05-19 15:19:16 -07:00
__arch_prctl.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__brk.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__connect.S Introduce netd_client, a dynamic library that talks to netd. 2014-05-13 11:30:03 -07:00
__epoll_pwait.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__exit.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__getcpu.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__getcwd.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__getpriority.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__ioctl.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__openat.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__ppoll.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__pselect6.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__ptrace.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__reboot.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__rt_sigaction.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__rt_sigpending.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__rt_sigprocmask.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__rt_sigsuspend.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__rt_sigtimedwait.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__sched_getaffinity.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__set_tid_address.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__signalfd4.S Hide __signalfd4, used to implement signalfd(3). 2014-05-16 15:47:29 -07:00
__socket.S Mark sockets on creation (socket()) and accept4(). 2014-05-19 15:19:16 -07:00
__timer_create.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__timer_delete.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__timer_getoverrun.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__timer_gettime.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__timer_settime.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
__waitid.S Remove the useless _C_LABEL from generated system calls. 2014-02-19 18:59:19 -08:00
_exit.S Implement _Exit(3). 2014-04-08 17:16:13 -07:00
acct.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
bind.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
capget.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
capset.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
chdir.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
chroot.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
clock_getres.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
clock_gettime.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
clock_nanosleep.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
clock_settime.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
close.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
delete_module.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
dup.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
dup3.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
epoll_create1.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
epoll_ctl.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
eventfd.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
execve.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
faccessat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fallocate.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
fchdir.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fchmod.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fchmodat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fchown.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fchownat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fcntl.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fdatasync.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fgetxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
flistxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
flock.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fremovexattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fsetxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
fstat64.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
fstatat64.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
fstatfs64.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
fsync.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
ftruncate.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
getdents.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getegid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
geteuid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getgid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getgroups.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getitimer.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getpeername.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getpgid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getpid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getppid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getresgid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getresuid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getrlimit.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
getrusage.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getsid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getsockname.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getsockopt.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
gettimeofday.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getuid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
getxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
init_module.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
inotify_add_watch.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
inotify_init1.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
inotify_rm_watch.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
ioprio_get.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
ioprio_set.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
kill.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
klogctl.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
lgetxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
linkat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
listen.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
listxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
llistxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
lremovexattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
lseek.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
lsetxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
madvise.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
mincore.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
mkdirat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
mknodat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
mlock.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
mlockall.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
mmap.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
mount.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
mprotect.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
mremap.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
msync.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
munlock.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
munlockall.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
munmap.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
nanosleep.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
personality.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
pipe2.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
prctl.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
pread64.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
prlimit64.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
pwrite64.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
read.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
readahead.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
readlinkat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
readv.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
recvfrom.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
recvmmsg.S Add recvmmsg and sendmmsg syscalls. 2014-02-27 14:29:01 -08:00
recvmsg.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
removexattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
renameat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_get_priority_max.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_get_priority_min.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_getparam.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_getscheduler.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_rr_get_interval.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_setaffinity.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_setparam.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_setscheduler.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sched_yield.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sendfile.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
sendmmsg.S Add recvmmsg and sendmmsg syscalls. 2014-02-27 14:29:01 -08:00
sendmsg.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sendto.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setgid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setgroups.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setitimer.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setns.S Clean up <sched.h>. 2014-01-02 12:05:50 -08:00
setpgid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setpriority.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setregid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setresgid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setresuid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setreuid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setrlimit.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
setsid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setsockopt.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
settimeofday.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setuid.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
setxattr.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
shutdown.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sigaltstack.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
socketpair.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
statfs64.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
swapoff.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
swapon.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
symlinkat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sync.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
sysinfo.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
tgkill.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
timerfd_create.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
timerfd_gettime.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
timerfd_settime.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
times.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
truncate.S Fix build by avoiding the _C_LABEL macro. 2014-02-18 16:42:36 -08:00
umask.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
umount2.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
uname.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
unlinkat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
unshare.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
utimensat.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
wait4.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
write.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
writev.S Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00