From d717d805d4d636a837ccfba87c78b0dc89cb8fd9 Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Mon, 20 Apr 2015 15:36:12 -0700 Subject: [PATCH] logd: per UID less aggressive 12.5% threshold Per-UID quota has a threshold of 12.5% of the total log size. If less than that space is taken by the UID, then we will not engage the pruning based on worst UID. Change-Id: I9f15c9a26938f1115eb75e9c28ddb073e7680e06 --- logd/LogBuffer.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/logd/LogBuffer.cpp b/logd/LogBuffer.cpp index 1859461c2..d0f0a898c 100644 --- a/logd/LogBuffer.cpp +++ b/logd/LogBuffer.cpp @@ -349,9 +349,16 @@ void LogBuffer::prune(log_id_t id, unsigned long pruneRows, uid_t caller_uid) { if (sorted.get()) { if (sorted[0] && sorted[1]) { - worst = sorted[0]->getKey(); worst_sizes = sorted[0]->getSizes(); - second_worst_sizes = sorted[1]->getSizes(); + // Calculate threshold as 12.5% of available storage + size_t threshold = log_buffer_size(id) / 8; + if (worst_sizes > threshold) { + worst = sorted[0]->getKey(); + second_worst_sizes = sorted[1]->getSizes(); + if (second_worst_sizes < threshold) { + second_worst_sizes = threshold; + } + } } } }