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>
This commit is contained in:
Sol Boucher
2015-03-12 18:22:31 -07:00
committed by Patrick Georgi
parent 15b4580cc6
commit b41914952d
3 changed files with 22 additions and 43 deletions

View File

@@ -45,27 +45,6 @@ config ELOG_AREA_SIZE
Default is 4K.
config ELOG_FULL_THRESHOLD
hex "Threshold at which flash is considered full"
default 0xC00
help
When the Event Log size is larger than this it will be shrunk
to ELOG_SHRINK_SIZE. Must be greater than ELOG_AREA_SIZE, and
ELOG_AREA_SIZE - ELOG_FULL_THRESHOLD must be greater than the
maximum event size of 128.
Default is 75% of the log, or 3K.
config ELOG_SHRINK_SIZE
hex "Resulting size when the event log is shrunk"
default 0x400
help
When the Event Log is shrunk it will go to this size.
ELOG_AREA_SIZE - ELOG_SHRINK_SIZE must be less than
CONFIG_ELOG_FULL_THRESHOLD.
Default is 1K.
config ELOG_CBMEM
bool "Store a copy of ELOG in CBMEM"
default n