From 6ad91d5757f80a2f35e41508c12bb437a69d3ede Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Fri, 10 Sep 2021 08:19:41 +0000 Subject: [PATCH] import libdb-5.3.28-42.el8_4 --- SOURCES/db-5.3.28-mmap-high-cpu-usage.patch | 17 ++++++++++++++--- SPECS/libdb.spec | 6 +++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/SOURCES/db-5.3.28-mmap-high-cpu-usage.patch b/SOURCES/db-5.3.28-mmap-high-cpu-usage.patch index 90d9b2a..8e0ea98 100644 --- a/SOURCES/db-5.3.28-mmap-high-cpu-usage.patch +++ b/SOURCES/db-5.3.28-mmap-high-cpu-usage.patch @@ -2,17 +2,28 @@ Author: Filip Januš Date: 6 Sep 2021 Related: https://bugzilla.redhat.com/show_bug.cgi?id=1992402 +Changing the size to max if set in the environment. + +Do it also every-time on aarch64 as this issue caused rpm to hang staring 8.4.0 +(likely influenced by changes in other components) and rpm is not able to set +the environment this way. + diff -ur db-5.3.28/src/os/os_map.c db-patched/src/os/os_map.c --- db-5.3.28/src/os/os_map.c 2013-09-09 17:35:09.000000000 +0200 -+++ db-patched/src/os/os_map.c 2021-09-06 14:32:28.792139908 +0200 -@@ -213,6 +213,10 @@ ++++ db-patched/src/os/os_map.c 2021-09-08 21:45:16.914146219 +0200 +@@ -213,7 +213,14 @@ if (rp->max < rp->size) rp->max = rp->size; if (ret == 0 && F_ISSET(infop, REGION_CREATE)) { +- if (F_ISSET(dbenv, DB_ENV_REGION_INIT)) +#ifdef HAVE_MLOCK + if (F_ISSET(env, ENV_LOCKDOWN)) + rp->size = rp->max; +#endif - if (F_ISSET(dbenv, DB_ENV_REGION_INIT)) ++#if defined(__aarch64__) ++ rp->size = rp->max; ++#endif ++ if (F_ISSET(dbenv, DB_ENV_REGION_INIT)) ret = __db_file_write(env, infop->fhp, rp->size / MEGABYTE, rp->size % MEGABYTE, 0x00); + else diff --git a/SPECS/libdb.spec b/SPECS/libdb.spec index 2783ccb..83cc593 100644 --- a/SPECS/libdb.spec +++ b/SPECS/libdb.spec @@ -4,7 +4,7 @@ Summary: The Berkeley DB database library for C Name: libdb Version: 5.3.28 -Release: 41%{?dist} +Release: 42%{?dist} Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz # For mt19937db.c @@ -505,6 +505,10 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libdb_java.so %changelog +* Wed Sep 8 2021 Filip Januš 5.3.28-42 +- Apply the previous change only on aarch64 to limit the risk of unwanted impact +- Resolves: #1992402 + * Mon Sep 6 2021 Filip Januš 5.3.28-41 - Bad order of sys calls cause high CPU usage - Resolves: #1992402