From: Lennart Poettering Date: Wed, 18 Jul 2012 14:22:25 +0000 (+0200) Subject: journal: estimate data hash table size a bit larger by default X-Git-Tag: v187~25 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=dfabe643f3560dcf147f49ec11e95b95c718c3da journal: estimate data hash table size a bit larger by default --- diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index d8ce495d8..b9ab009b3 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -510,16 +510,16 @@ static int journal_file_setup_data_hash_table(JournalFile *f) { assert(f); - /* We estimate that we need 1 hash table entry per 2K of + /* We estimate that we need 1 hash table entry per 768 of journal file and we want to make sure we never get beyond 75% fill level. Calculate the hash table size for the maximum file size based on these metrics. */ - s = (f->metrics.max_size * 4 / 2048 / 3) * sizeof(HashItem); + s = (f->metrics.max_size * 4 / 768 / 3) * sizeof(HashItem); if (s < DEFAULT_DATA_HASH_TABLE_SIZE) s = DEFAULT_DATA_HASH_TABLE_SIZE; - log_info("Reserving %llu entries in hash table.", (unsigned long long) s); + log_info("Reserving %llu entries in hash table.", (unsigned long long) (s / sizeof(HashItem))); r = journal_file_append_object(f, OBJECT_DATA_HASH_TABLE,