Go to file
Dragoslav Mitrinovic 8e8e8db549 logd: fix persistent blocking reader performance
logd suffers major performance degradation when persistent (blocking)
client reader connects to it (e.g. logcat). The root cause of the
degradation is that each time when reader is notified of the arrival
of new log entries, the reader commences its search for the new entries
from the beginning of the linked list (oldest entries first).

This commit alters the search to start from the end of the linked list
and work backwards. This dramatically decreases logd CPU consumption
when blocking reader is connected, and increases the maximum logging
throughput (before the logs start getting lost) by a factor ~ 20.

Change-Id: Ib60955ce05544e52a8b24acc3dcf5863e1e39c5c
2015-01-24 00:10:34 +00:00
adb Merge "adb: Fix 'adb forward --no-rebind'." 2015-01-23 16:45:46 +00:00
adf libadf: add tests for various failure modes 2014-05-07 15:28:05 -07:00
cpio cpio: Turn on -Werror 2014-05-23 09:48:09 -07:00
debuggerd Move 32 bit/64 bit check into debuggerd. 2015-01-20 17:22:07 -08:00
fastboot kill libunz 2014-12-09 22:24:07 -08:00
fastbootd Remove unused -ldl to link true statically. 2015-01-23 14:39:54 -08:00
fs_mgr fs_mgr: Support filesystem labels in fstab 2015-01-23 17:47:39 +00:00
gpttool gpttool: turn on -Werror 2014-05-05 10:30:04 -07:00
healthd Healthd: Remove unused variables 2014-11-24 18:48:55 -08:00
include liblog: add pstore write 2015-01-23 23:33:31 +00:00
init property_service: Added vendor build properties to load_all_props 2015-01-13 18:18:41 -08:00
libbacktrace Cleanup libbacktrace Android.mk 2014-12-12 04:40:06 +00:00
libcutils Move 32 bit/64 bit check into debuggerd. 2015-01-20 17:22:07 -08:00
libdiskconfig am eb075e28: am c8179498: am 2f62edf7: Merge "libdiskconfig: Turn on -Werror" 2014-05-21 21:19:27 +00:00
libion Libion: Remove unused variables 2014-11-25 10:16:06 -08:00
liblog liblog: add pstore write 2015-01-23 23:33:31 +00:00
libmemtrack Fix missing #includes in system/core. 2014-12-29 12:24:25 -08:00
libmincrypt Disable clang optimization that has segmentation fault. 2014-12-17 14:59:53 -08:00
libnativebridge am c6dead70: Merge "maybe fix mac build" 2014-11-02 14:25:08 +00:00
libnetutils Libnetutils: Remove unused functions & variables 2014-11-24 10:43:53 -08:00
libpixelflinger Linux always has POSIX clocks available. 2015-01-09 16:17:46 -08:00
libprocessgroup Fix missing #includes in system/core. 2014-12-29 12:24:25 -08:00
libsparse Cleanup libsparse Android.mk 2014-12-12 04:19:27 +00:00
libsuspend Libsuspend: Remove unused variable 2014-11-24 18:53:44 -08:00
libsync Add gtest conformance tests for libsync. 2014-10-11 02:10:23 +00:00
libsysutils Extend to receive NFLOG packets. 2015-01-15 12:50:59 -08:00
libusbhost libusbhost: Fix IOCTL call during usb_request_cancel 2014-08-07 14:58:31 -07:00
libutils Fix references to HAVE_PRCTL. 2014-12-15 12:52:53 -08:00
libziparchive Merge "Reject zip archives whose entry names are not valid UTF-8." 2014-12-08 13:08:34 +00:00
libzipfile Clean up libzipfile Android.mk 2014-12-05 15:59:03 +00:00
lmkd Lmkd: Fix unused variables 2014-11-24 20:32:42 -08:00
logcat logcat: use liblog to determine -b all list 2014-12-05 20:14:30 +00:00
logd logd: fix persistent blocking reader performance 2015-01-24 00:10:34 +00:00
logwrapper Fix "ptsname is not thread-safe; use ptsname_r instead" build break. 2014-07-29 11:06:53 -07:00
mkbootimg mkbootimg: turn on -Werror 2014-05-05 10:30:04 -07:00
netcfg Cleanup: Delete dead code. 2014-07-22 15:00:21 -07:00
reboot reboot: Turn on -Werror 2014-05-21 12:58:38 -07:00
rootdir rootdir: add pstore 2015-01-14 17:15:39 +00:00
run-as run-as: build 1161573 failure 2014-05-08 21:18:23 +00:00
sdcard sdcard : inode numbers must be fully representable as uint32_t. 2015-01-15 11:58:53 +00:00
toolbox Lose id to toybox. 2015-01-16 19:24:26 -08:00
.gitignore Don't compile abort_socket.c for host targets. It is only intended to run on Linux targets. 2009-05-26 13:23:23 -07:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk Extend to receive NFLOG packets. 2015-01-15 12:50:59 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00