aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/elog/elog_internal.h
diff options
context:
space:
mode:
authorSol Boucher <solb@chromium.org>2015-03-12 18:22:31 -0700
committerPatrick Georgi <pgeorgi@google.com>2015-04-22 08:42:22 +0200
commitb41914952d1f7e2e9f896edd05924deb5b610dff (patch)
tree05cc1d8f31ccd6fa3251b1362ffd93584f81bdbc /src/drivers/elog/elog_internal.h
parent15b4580cc6261a94279f4623d7d212443e4feac9 (diff)
elog: Eliminate CONFIG_ELOG_FULL_THRESHOLD and CONFIG_ELOG_SHRINK_SIZE
These Kconfig options provided a level of configurability that is almost never necessary, so they are being moved into ordinary preprocessor defines in elog_internal.h. The new threshold to trigger shrinking is relative to the number of additional (maximum-size) events that can fit, and the new target post-shrink size is a percentage of the total ELOG area size. BUG=chromium:467820 TEST=Add loop at the end of elog_init() that fills the ELOG area to just below full_threshold with dummy events. Observe successful shrinkage when the next event is logged. BRANCH=None Change-Id: I414c4955a2d819d112ae4f0c7d3571576f732336 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: ce439361e3954a2bf5186292f96936329171cf56 Original-Change-Id: I926097f86262888dcdd47d73fba474bb2e19856a Original-Signed-off-by: Sol Boucher <solb@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/260501 Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Original-Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Reviewed-on: http://review.coreboot.org/9869 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/drivers/elog/elog_internal.h')
-rw-r--r--src/drivers/elog/elog_internal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/drivers/elog/elog_internal.h b/src/drivers/elog/elog_internal.h
index dd282311a6..6194ef6c3e 100644
--- a/src/drivers/elog/elog_internal.h
+++ b/src/drivers/elog/elog_internal.h
@@ -31,6 +31,8 @@ struct elog_header {
/* ELOG related constants */
#define ELOG_SIGNATURE 0x474f4c45 /* 'ELOG' */
#define ELOG_VERSION 1
+#define ELOG_MIN_AVAILABLE_ENTRIES 2 /* Shrink when this many can't fit */
+#define ELOG_SHRINK_PERCENTAGE 25 /* Percent of total area to remove */
/* SMBIOS event log header */
struct event_header {