No description
Find a file
Tom Cherry 3932a9c074 logd: SerializedLogBuffer: never wait for a reader during prune/clear
Previously, chatty had logic that would skip a certain number of log
entries to satify pruning, but otherwise keep the reader connected.
This was a best-effort attempt at helping pruning and had additional
logic that handled further disruptions, if logd's memory was 2x the
allotted memory.

The new logic has two components:
1) memcpy() each individual log message in FlushTo() such that there
are no references to the underlying log data without a lock held.
Note, that this memcpy is completely negligible for performance.
2) In Prune(), immediately delete all log chunks required to reduce
memory to the allotted amount, which is now safe given 1).  If readers
will lose logs, continue to print a warning.

This additionally makes the Clear() logic deterministic.  It was
previously best effort in chatty, but will immediately and always
clear all logs for SerializedLogBuffer.

Bug: 163617910
Test: logging unit tests
Test: Prune() immediately frees buffers during high log pressure
Test: Clear() immediately frees buffers during high log pressure
Change-Id: I40fe9b791312af3dc256b166e5c34425f4ca51ac
2020-08-12 12:49:56 -07:00
adb Merge "[adb] Correctly read host/user name on Windows." 2020-08-05 15:25:47 +00:00
bootstat Update language to comply with Android's inclusive language guidance 2020-07-31 16:36:06 -06:00
cli-test cli-test: a tool for testing command-line programs. 2019-12-13 12:23:51 -08:00
code_coverage extend syscall minijail for clang code coverage 2020-07-13 13:39:05 -07:00
cpio Remove EXCLUDE_FS_CONFIG_STRUCTURES 2020-03-04 15:34:09 -08:00
debuggerd libdebuggerd: do a to-do. 2020-08-03 18:56:35 +00:00
deprecated-adf remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
diagnose_usb Make the udev vs plugdev distinction a bit clearer. 2020-07-31 15:09:35 -07:00
fastboot Merge "support f2fs casefolding formatting tool" 2020-08-04 04:18:07 +00:00
fs_mgr fs_mgr: use __ANDROID_API_Q__ instead of pre_gki_level 2020-08-10 11:43:52 -07:00
gatekeeperd Use optional for nullable types 2020-02-24 09:31:47 +09:00
healthd charger: Add tests for loading animation resources 2020-08-07 17:07:09 -07:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init Fix the order for boot scripts scanning 2020-08-07 10:44:14 +09:00
janitors Add the two best build system janitors. 2019-03-25 10:25:13 -07:00
libappfuse Fix Deadlock Issue On AppFuseBridge 2020-02-18 04:33:06 +00:00
libasyncio Revert "Revert "Set apex_available property"" 2020-03-26 00:23:56 +00:00
libbacktrace Cleanup for #inclusivefixit. 2020-07-28 12:08:03 -07:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Set apex_available property 2020-03-09 16:38:02 +09:00
libcutils Add failure logs in __ashmem_open_locked() 2020-08-10 14:14:13 -07:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage gralloc: Set min_sdk_version 2020-04-23 23:50:08 +09:00
libkeyutils Update language to comply with Android's inclusive language guidance 2020-07-31 16:36:06 -06:00
liblog Merge "Revert "liblog: use a blocking socket for sending messages to logd"" 2020-08-11 22:17:41 +00:00
libmodprobe libmodprobe: remove SetMinimumLogSeverity() from constructor 2020-08-04 08:28:36 -07:00
libnetutils Add a libipchecksum that contains the C IP checksum code. 2020-07-09 16:35:47 +09:00
libpackagelistparser Add require_root to adbd_test and libpackagelistparser_test 2019-09-24 09:13:32 -07:00
libpixelflinger Fix an issue with C-compatibility due to a missing tag name 2020-07-14 14:38:43 -07:00
libprocessgroup libprocessgroup: Allow vendor profile attributes to override system ones 2020-07-01 20:44:24 +00:00
libprocinfo Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse libsparse: Fix overflow of merged sparse chunk length 2020-08-11 08:34:28 +09:00
libstats Revert "Make libstatssocket a shared_lib" 2020-05-08 07:57:09 +00:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Make libsync a stubs library 2020-06-05 17:13:57 +09:00
libsystem Set min_sdk_version to be part of mainline modules 2020-05-13 08:18:06 +09:00
libsysutils SocketClient: don't ignore SIGPIPE 2020-07-31 15:53:18 -07:00
libunwindstack Fix fuzzer so it doesn't add overlapping maps. 2020-08-04 16:08:12 -07:00
libusbhost Prevent infinite loop on zero length USB descriptors 2020-02-21 11:11:02 -08:00
libutils Merge "Add second batch of fuzzers for libutils" 2020-08-10 15:40:44 +00:00
libvndksupport remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
llkd llkd: Use more inclusive language 2020-06-16 10:28:14 -07:00
logcat logcat: replace write() calls with WriteFully() 2020-08-05 14:01:11 -07:00
logd logd: SerializedLogBuffer: never wait for a reader during prune/clear 2020-08-12 12:49:56 -07:00
logwrapper logwrap: add missing O_CLOEXEC 2020-02-26 10:29:04 -08:00
property_service Cleanup for #inclusivefixit. 2020-07-27 11:37:19 -07:00
qemu_pipe Use more inclusive language for #inclusivefixit 2020-07-28 00:22:59 +00:00
reboot adb: replace reboot service with exec of /system/bin/reboot. 2019-10-23 14:33:36 -07:00
rootdir add generic symlink to access userdata sysfs 2020-07-27 23:58:36 +00:00
run-as run-as: improve error messages. 2020-03-04 18:11:18 -08:00
sdcard Move layout_version to /data/misc/installd 2019-08-21 10:12:18 -07:00
set-verity-state set-verity-state: Link to libfs_mgr_binder. 2019-12-30 13:42:57 -08:00
shell_and_utilities Add the rough toybox version numbers to the docs. 2020-08-06 10:15:25 -07:00
storaged storaged: ignore SIGPIPE 2020-03-17 09:31:01 -07:00
toolbox Merge "toolbox: make all janitors the owners." 2020-07-13 17:31:11 +00:00
trusty Merge "Add support for tipc_send()" 2020-08-03 19:35:55 +00:00
usbd Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
watchdogd Move watchdogd out of init 2018-08-02 12:25:58 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.clang-format-4 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
base Migrate system/core/base to system/libbase. 2020-05-19 21:32:42 +00:00
CleanSpec.mk snapshotctl don't auto-merge. 2020-03-03 13:19:49 -08:00
METADATA Add METADATA to system/core: Apache2+BSD=NOTICE 2020-04-29 13:16:41 -07: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
OWNERS Move per-file OWNERS directives to their directories. 2018-06-06 11:49:40 +09:00
PREUPLOAD.cfg Add AOSP preupload hook. 2020-04-23 11:02:00 -07:00
TEST_MAPPING Run liblog and logd CTS tests in presubmit 2020-07-29 08:02:52 -07:00